Welcome to GPSFileDepot!

Main Menu

Polygon renders differently on GPSMAP64 and etrex30

Started by glendeni, January 18, 2017, 07:41:19 PM

Previous topic - Next topic


I've produced a map which renders differently on my GPSMAP64 and etrex30. Specifially, I've produced an .IMG file which when placed in the "Garmin" directory of the GPSMAP64 renders "correctly", with contour lines displaying above a polygon.  But when loaded onto the etrex30 the polygon is rendered _above_ the contour lines, so they cannot be seen.

That map was created by combining separate IMG files for the contours, polygon, and etc. I also used those to produce a Windows .EXE file which when in installed into the Windows registry displays correctly in BaseCamp.  But when BaseCamp then installs the file to the GPS, again on the etrex30 the polygon is rendered above the contour lines.

I couldn't find any reference in previous postings to such behavior.  Has anyone else seen disparities between the two platforms ?


Are you sure, that contours are compiled as transparent map?


Those were compiled so long ago that I can't be sure - I have notes made back then, but could not be certain that I had not later made some change.  So I recompiled those, with the mkgmap compiler with --transparent flag (which seems to override whatever "Transparent" is set to in the .mp file, but that was already "Y").  FWIW I've now upgraded the mkgmap compiler to the most recent version,  vice what was used back in the original compilation.

Combining all IMGs, I get the same result as before.  Interestingly, the etrex is so slow that the map-drawing occurs in visible stages and I can see the contours being drawn but then afterward being overlaid by the polygon.


I must correct what I said.  I later discovered that a map I'd previously downloaded to the etrex via BaseCamp in previous testing was still on it when I loaded my new IMG file (the IMG files  have slightly different names) and the former apparently took precedence - so that was what I was seeing and reporting on.  When I removed that, the contour and stream lines were ABOVE the polygon.  So your suspicion was correct.

But that also triggered a memory of why years ago I had decided to change to make them non-transparent.  For some strange reason when compiled with mkgmap with --transparent (even with the latest compiler) the MP "Level" command is apparently not respected, at least to my understanding, since even with
the lines are being displayed at ALL zoom levels, which is rather ugly at the lower zooms when everything blends together.  I don't think I can live with that.  So i will go back to not using --transparent and simply stop trying to produce a polygon, since it is less important than the contour and stream lines.


Probably last layer of your contour map is always visible. You could create transparent map with more layers, so last one should be empty.


Are you not suppose to always have an empty last layer?


My understanding is that there are 2 kind of layers in Garmin img. One type is a real layer with data, other type is a virtual layer with no real data. Last layer is always virtual and it doesn't cover data from the layer below. You need to create real empty layer to hide data.

I think cgpsmapper always make virtual layer, when there is no data  (and you can't put data on last one). For my contour maps I put a single empty label (point type 0x2800) one level above contours, to get real empty layer. Mkgmap always makes real layers (and then adds a virtual one on top), it is enough to define more levels to get contours hidden.


Sorry, but reading the responses has definitely confused me.  For thing, I think in terms of layers being above or below  - and "last" confuses me.  To me a "last" layer would be the "bottom most" layer, i.e. the last one an eye would see when looking down on the map - but the context seemingly implies it here means the "top most" layer.


Yes, last for me is the top most. Assuming that top layer means layer with the lowest resolution ;)


Quote from: popej on January 20, 2017, 02:08:28 AM
Probably last layer of your contour map is always visible. You could create transparent map with more layers, so last one should be empty.

My interpretation of what you are saying is that in the MP file if one has polylines all defined for "Data0" then if "Levels=1" (which is a mistake since there should always bean empty level)  the lines will be visible at the Data0 level and also all levels above, but if "Levels=2" and "Level1" is set then the lines will not be visible for levels at and above that value


Yes, this is the idea. Only you have to force cgpsmapper to create a real layer by putting some real object at this level. Or use mkgmap.

Or you can create multilayered contour map, where on topmost layer are only selected main contours, which won't clutter map.


Thanks to your help, I now have the map displaying correctly with contours+streams displayed only at higher map zoom levels and a polygon being displayed at all levels but always below the contour+stream lines.