logo separator

[mkgmap-dev] Relations and Multiple Tag Parsing Style Rules

From Felix Hartmann extremecarver at googlemail.com on Mon Dec 15 16:28:51 GMT 2008

I have tried to use it, but it doesn't seem to work (mkgmap trunk svn 
version 823). I assume I'm using somehow wrong syntax and need more 
explanation.

a)
concerning relations I simply wrote this line to relations file to line 7:
type=route route=bus { apply { set route=bus; add rn='${route_no}' ; }}

this is what I got:
D:\Garmin\mkgmap_680>java -jar -Xmx1256M 
d:\garmin\mkgmap_svn\dist\mkgmap.jar --description=Osm_Mtb_Austria3 
--family-id=4013 --style-file=mtbx --product-id=1 
--levels=0:24,1:22,2:20,3:18,4:16,5:14,6:12,7:10 --area-name=austria3 
--mapname=63240030 austria.osm
Error in style: Error: (relations:7): Invalid rule file (expr =)
Could not open style null

b)
Also multiple Tag parsing does not seem to work for me.

I added the following two lines to the beginning of the "lines" file in 
the style-file
highway=path & mtb=yes [0x140 resolution 16]
highway=footway & mtb=yes [0x141 resolution 16]

And created a new file called "overlays" with the following two lines:
0x140: 0x11, 0x0e
0x141: 0x2a, 0x0e

Error in style: Error: (overlays:2): List of numbers expected
Could not open style null

D:\Garmin\mkgmap_680>move 63240030.img d:\garmin\osm_austria
The system cannot find the file specified.

If in overlays there are the following lines

Line1:0x140: 0x11, 0x0e
Line2:0x141: 0x2a, 0x0e
Line3:

with Line 3 being empty, then the following error is produced:
Exception in thread "main" java.lang.NullPointerException
        at 
uk.me.parabola.mkgmap.general.MapDetails.addLine(MapDetails.java:70)
        at 
uk.me.parabola.mkgmap.osmstyle.StyledConverter$1.add(StyledConverter.java:61)
        at 
uk.me.parabola.mkgmap.osmstyle.OverlayReader.addLine(OverlayReader.java:106)
        at 
uk.me.parabola.mkgmap.osmstyle.StyleImpl$1.add(StyleImpl.java:203)
        at 
uk.me.parabola.mkgmap.general.NullClipper.clipLine(NullClipper.java:28)
        at 
uk.me.parabola.mkgmap.osmstyle.StyledConverter.addLine(StyledConverter.java:194)
        at 
uk.me.parabola.mkgmap.osmstyle.StyledConverter.convertWay(StyledConverter.java:100)
        at 
uk.me.parabola.mkgmap.reader.osm.xml.Osm5XmlHandler.endDocument(Osm5XmlHandler.java:258)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endDocument(AbstractSAXParser.java:737)
        at 
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:515)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at 
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at 
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at 
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at 
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at 
uk.me.parabola.mkgmap.reader.osm.xml.Osm5MapDataSource.load(Osm5MapDataSource.java:72)
        at 
uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:125)
        at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:44)
        at uk.me.parabola.mkgmap.main.Main.processFilename(Main.java:146)
        at 
uk.me.parabola.mkgmap.CommandArgs$Filename.processArg(CommandArgs.java:360)
        at uk.me.parabola.mkgmap.CommandArgs.readArgs(CommandArgs.java:119)
        at uk.me.parabola.mkgmap.main.Main.main(Main.java:91)

Steve Ratcliffe wrote:
>
> Hi Felix
>
> > 2.  Could Multiple Tag parsing be implemented into the style rules 
> somehow?
> >
> > I know that I could use combinations like highway=path & mtb:scale=0 
> --> 0x01
> > and highwway=path & mtb:scale=1 --> 0x02
>
> > Solution: If a way has two tags that are listed in the style file, both
> > should be included seperately into the image. By using a .typ file one
> > can then decide how to map them. Using transparency it's easy to see at
> > the same time 4-5 different tags. I.e. you have the way in the middle.
>
> I have implemented something that I hope will do what you want to do here.
> It is in the trunk version 801.
>
> It uses the new 'overlays' file in the style.
>
> Example:
>
> <<<version>>>
> 0
>
> <<<lines>>>
> highway=path & mtb:scale=0 [ 0x140 ]
> highway=path & mtb:scale=1 [ 0x141 ]
>
> <<<overlays>>>
> 0x140: 0x7, 0x18
> 0x141: 0x7, 0x19
>
> So for a path of scale 0, you would get two lines drawn on top
> of each other with types 7 and 18.  For scale 1, 7 and 19.
>
> You can have more than two.
>
> The good thing is that if mkgmap ever supports large type numbers, you can
> just remove the overlays file and use 0x140 and 0x141 etc directly.
>
> .Steve
> _______________________________________________
> mkgmap-dev mailing list
> mkgmap-dev at lists.mkgmap.org.uk
> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20081215/39c79e2e/attachment.html 


More information about the mkgmap-dev mailing list