preprocesor hack for concrete:lanes/plates -> concrete=lanes/plates

This commit is contained in:
Arndt Brenschede 2017-09-24 17:01:20 +02:00
parent 92508de947
commit 0171ba39a0

View file

@ -11,8 +11,8 @@ import java.io.BufferedOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.File; import java.io.File;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.util.HashMap;
import btools.expressions.BExpressionContext;
import btools.expressions.BExpressionContextNode; import btools.expressions.BExpressionContextNode;
import btools.expressions.BExpressionContextWay; import btools.expressions.BExpressionContextWay;
import btools.expressions.BExpressionMetaData; import btools.expressions.BExpressionMetaData;
@ -139,6 +139,33 @@ public class OsmCutter extends MapCreatorBase
} }
private void generatePseudoTags( HashMap<String,String> map )
{
// add pseudo.tags for concrete:lanes and concrete:plates
String concrete = null;
for( String key : map.keySet() )
{
if ( "concrete".equals( key ) )
{
return;
}
if ( "surface".equals( key ) )
{
String value = map.get( key );
if ( value.startsWith( "concrete:" ) )
{
concrete = value.substring( "concrete:".length() );
}
}
}
if ( concrete != null )
{
map.put( "concrete", concrete );
}
}
@Override @Override
public void nextWay( WayData w ) throws Exception public void nextWay( WayData w ) throws Exception
{ {
@ -148,6 +175,8 @@ public class OsmCutter extends MapCreatorBase
// encode tags // encode tags
if ( w.getTagsOrNull() == null ) return; if ( w.getTagsOrNull() == null ) return;
generatePseudoTags( w.getTagsOrNull() );
int[] lookupData = _expctxWay.createNewLookupData(); int[] lookupData = _expctxWay.createNewLookupData();
for( String key : w.getTagsOrNull().keySet() ) for( String key : w.getTagsOrNull().keySet() )
{ {