[mkgmap-dev] DEM File Format and mkgmap
From osm@pinns osm at pinns.co.uk on Mon Dec 4 15:27:20 GMT 2017
Hi Gerd I think all the dem files from the very old GBTopo can only be parsed up to a certain point I've included 3 excmples with tre http://files.mkgmap.org.uk/download/362/00145336.zip Nick On 04/12/2017 15:02, osm at pinns wrote: > Hi Gerd > > Thanks for letting me know > > That is probably why eventually it stopped with repeated plateau len > 64 messages on one of the dems builddemfile created > > I have some 'old' non nt Garmin Topo maps with dem and will have a go > using your display.jar > > r > > Nick > > > > On 04/12/2017 13:49, Gerd Petermann wrote: >> Hi Nick, >> >> I just found out that display tool can not yet read DEM tiles with >> multiple zoom levels. Working on it now... >> >> Gerd >> >> ________________________________________ >> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag >> von osm at pinns <osm at pinns.co.uk> >> Gesendet: Montag, 4. Dezember 2017 14:35:15 >> An: mkgmap-dev at lists.mkgmap.org.uk >> Betreff: Re: [mkgmap-dev] DEM File Format and mkgmap >> >> Many thanks Gerd >> >> Will have a go at it today and let you know my findings, if any ! >> >> Nick >> >> >> On 04/12/2017 13:27, Gerd Petermann wrote: >>> Hi Nick, >>> >>> My understanding is that the prediction starts with the values from >>> the header (min and max height in the tile) >>> The first row is indeed rather easy to decode. Frank has described >>> many more details in his pdf, and his program >>> seems to create valid DEM data since Basecamp displays it, I just >>> try to reduce the number of special cases now. >>> >>> A compiled display.jar r505 is here: >>> http://files.mkgmap.org.uk/download/361/display.jar >>> If you also download and unzip this mkgmap package >>> http://www.mkgmap.org.uk/download/mkgmap-r3997.zip >>> you can run e.g. >>> java -cp display.jar;mkgmap-r3997\mkgmap.jar test.display.DemDisplay >>> 12345678.DEM > log.txt >>> >>> I am interested in those files created by BuildDemFile which create >>> a run time exception. If you find one or more, I need the original >>> *.TRE file(s) >>> which were the input for BuildDemFile . >>> >>> Gerd >>> ________________________________________ >>> Von: mkgmap-dev <mkgmap-dev-bounces at lists.mkgmap.org.uk> im Auftrag >>> von osm at pinns <osm at pinns.co.uk> >>> Gesendet: Montag, 4. Dezember 2017 13:00:27 >>> An: mkgmap-dev at lists.mkgmap.org.uk >>> Betreff: Re: [mkgmap-dev] DEM File Format and mkgmap >>> >>> Hi Gerd >>> >>> Presumably some hgt data gets stored in a tile from which other data is >>> predicted? Perhaps the first 'row'? >>> >>> Would be great if you could compile the DemDisplay.java so we can do >>> ome testing as well. >>> >>> I'm glad you are almost 'getting there'! >>> >>> r >>> >>> Nick >>> >>> >>> On 03/12/2017 11:16, Gerd Petermann wrote: >>>> Hi all, >>>> >>>> I think I understand now much more about this format. I used Frank >>>> Stinners code for BuildDEMFile and his pdf to write a decoder in >>>> the display tool. >>>> I still fails to read some Garmin DEM files but seems to work with >>>> the files produced by BuildDEMFile. >>>> My current work flow is to generate DEM files with BuildDEMFile and >>>> read them with my decoder. If the decoder fails I can find out why >>>> because I can trace step by step what BuildDEMFile does. >>>> I guess that I did not yet hit all special cases identified by >>>> Frank, but I am making good progress now, so I hope I'll be able to >>>> start implementing a DEM encoder in mkgmap soon. >>>> >>>> Reg. the format: >>>> It is quite different to those used in other GARMIN sub files like >>>> NOD, NET, RGN etc. In short: The data is organized in tiles, >>>> typically 64*64 values. Instead of storing each value >>>> Garmin uses some statistics to predict the next value based on the >>>> already processed values. This predicted value is subtracted from >>>> the real value and only the delta is stored. >>>> The better the prediction, the closer to 0 is the delta. The >>>> prediction also calculates the error-probability of the prediction >>>> and uses this to select the number of bits which are >>>> needed to store the value. If the delta is larger than expected >>>> the so called BigBin encoding is used. >>>> The format to store the delta is optimized for values close to 0, >>>> so that many deltas are stored with only 1 or 2 bits. >>>> A 2nd trick to save space is to use run length encoding for >>>> repeated values. >>>> So, the tricky part is to find out exactly how the prediction algo >>>> by Garmin works. >>>> Frank has done really great work here. >>>> >>>> For those who want to try the display tool: >>>> You have to compile on your own and you also need an installed >>>> mgkmap.jar. >>>> If that is available a command like this (replace d:\... with your >>>> paths) should produce a large txt file: >>>> java -ea -Xmx1000m -cp >>>> d:\display\dist\display.jar;d:\mkgmap\dist\mkgmap.jar >>>> test.display.DemDisplay test.DEM > dem_decode.txt >>>> >>>> I am now searching for DEM files produced by BuildDEMFile which are >>>> not properly processed by display tool. When it fails you'll see a >>>> traceback like this >>>> Exception in thread "main" java.lang.RuntimeException: did not read >>>> all avalaible bytes >>>> at >>>> test.display.DemDisplay$DemTile.decodeBitStreamData(DemDisplay.java:532) >>>> >>>> at >>>> test.display.DemDisplay$DemSection.decodeBitstream(DemDisplay.java:831) >>>> >>>> at >>>> test.display.DemDisplay.readFileHeader(DemDisplay.java:887) >>>> at test.display.DemDisplay.print(DemDisplay.java:845) >>>> at >>>> test.display.CommonDisplay.display(CommonDisplay.java:171) >>>> at >>>> test.display.CommonDisplay.display(CommonDisplay.java:196) >>>> at test.display.DemDisplay.main(DemDisplay.java:903) >>>> >>>> Gerd >>>> _______________________________________________ >>>> mkgmap-dev mailing list >>>> mkgmap-dev at lists.mkgmap.org.uk >>>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>> _______________________________________________ >>> mkgmap-dev mailing list >>> mkgmap-dev at lists.mkgmap.org.uk >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >>> _______________________________________________ >>> mkgmap-dev mailing list >>> mkgmap-dev at lists.mkgmap.org.uk >>> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >> _______________________________________________ >> mkgmap-dev mailing list >> mkgmap-dev at lists.mkgmap.org.uk >> http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev > > _______________________________________________ > 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://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20171204/1bddd3e0/attachment-0001.html>
- Previous message: [mkgmap-dev] DEM File Format and mkgmap
- Next message: [mkgmap-dev] DEM File Format and mkgmap
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list