GroundTruth FAQ

From OpenStreetMap Wiki
Jump to navigation Jump to search

There are already tools that generate Garmin maps from OSM data, why the need for a new one?

Briefly: because I felt the existing tools a) did not exploit Garmin's map functionality to its full potential; b) were not very user friendly - too much manual work was still needed. For more visit http://igorbrejc.net/openstreetmap/groundtruth-a-new-garmin-mapmaking-tool.

GroundTruth uses cgpsmapper to convert Polish map files (.mp) to Garmin map files (.img). Is GroundTruth affiliated with cgpsmapper?

No. Initially I decided to try out generating .MP files and using a free version of cgpsmapper to generate actual .img files. Once I was satisfied this approach produced good results, I continued with the development of GroundTruth. BTW I only used the free version of cgpsmapper in development.

What are license restrictions when using the free version of cgpsmapper?

Basically you cannot sell maps generated by GroundTruth using a free version of cgpsmapper. For more info please visit http://www.cgpsmapper.com/download/licence.txt.

Does GroundTruth generate routable maps?

The first release does not provide routability. This (and other new features) will hopefully be added later.

What about contours?

GroundTruth can make contours.

How can I create a transparent map?

A transparent map is a map which makes areas which are not filled with data (empty areas, "yellow" areas) transparent so that you can see other maps below it. You can turn on the transparency by adding the
-param=Transparent:Y
command line option.

What are the license terms that GroundTruth is released under?

There's a Readme.txt file in the package, but basically it's released under the GPL v3 license. --Breki 09:05, 21 September 2009 (UTC)

URL-change for SRTM-data?

GroundTruth as well as Srtm2Osm cannot access the srtm-data provided by NASA. NASA seems to have changed the server. Does that have to be changed in source? How would I have to do this? Please correct me if I got the problem wrong, but right now Groundtruth and srtm2osm produce an "Failed to change directory" when accessing the srtm-data.

Looks like they've switched to http://dds.cr.usgs.gov/srtm/ without telling me anything :). Oh, more work for me... --Breki 13:33, 23 June 2009 (UTC)

Is there a Bug Reporting page?

I'm not a wiki user - and have been trying to download come contour data, but get some odd messages. First there seems to be typos in the contours example for Dummies. It shows:

  groundtruth contours "-bu=http://www.openstreetmap.org/?lat=46.4951&lon=15.5395&zoom=12&layers=B000FTF">

when it seems like it should be:

  groundtruth contours --bu="http://www.openstreetmap.org/?lat=46.4951&lon=15.5395&zoom=12&layers=B000FTF"

Then, when I correct the syntax, I get:

  groundtruth contours --bu="http://www.openstreetmap.org/?lat=46.4951&lon=15.5395&zoom=12&layers=B000FTF"
  GroundTruth v1.5.205.6 by Igor Brejc
  Generates Garmin maps from OpenStreetMap data
  Licensed under GPL v3 license
  Visit http://wiki.openstreetmap.org/wiki/GroundTruth for more info
  
  Generating contours for area (15.4335016276534, 46.4221289600541, 15.5, 46.5)
  SRTM index is missing, it will be generated...
  Indexing SRTM3 tiles for the 'Australia' region.
  ERROR: Brejc.DemLibrary.DemLoaderException: Error downloading SRTM data. 
  ---> System.Net.WebException: The remote server returned an error: (404) Not Found.
  at System.Net.WebClient.DownloadDataInternal(Uri address, WebRequest& request)
  at System.Net.WebClient.DownloadString(Uri address)
  at System.Net.WebClient.DownloadString(String address)
  at Brejc.DemLibrary.Srtm.DefaultSrtmServerClient.ListFiles(String directory) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Srtm\DefaultSrtmServerClient.cs:line 33
  at Brejc.DemLibrary.Srtm.DefaultSrtmIndexFetcher.RegenerateIndex(String srtm3CacheDirectory) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Srtm\DefaultSrtmIndexFetcher.cs:line 75
  at Brejc.DemLibrary.Srtm.DefaultSrtmIndexFetcher.FetchSrtmIndex(String srtm3CacheDirectoryPath) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Srtm\DefaultSrtmIndexFetcher.cs:line 45
  at Brejc.DemLibrary.Srtm.Srtm3Source.LoadDemForArea(Bounds2 bounds) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Srtm\Srtm3Source.cs:line 88
  --- End of inner exception stack trace ---
  at Brejc.DemLibrary.Srtm.Srtm3Source.LoadDemForArea(Bounds2 bounds) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Srtm\Srtm3Source.cs:line 146
  at Brejc.DemLibrary.Ibf.IbfUtilities.GenerateAreaDefinitions(IbfFile ibfFile, IDemSource demSource, GenerateIbfAreaDefinitionsParameters parameters) in d:\MyStuff\BuildArea\Sandbox\Brejc.Geo\trunk\Brejc.Geo\Brejc.DemLibrary\Ibf\IbfUtilities.cs:line 161
  at GroundTruth.Engine.Ibf.DefaultIbfGenerator.Run(IbfGenerationParameters parameters) in d:\MyStuff\BuildArea\Sandbox\GroundTruth\trunk\GroundTruth.Solution\GroundTruth.Engine\Ibf\DefaultIbfGenerator.cs:line 37
  at GroundTruth.GenerateContoursCommand.Execute(IEnumerable`1 args) in d:\MyStuff\BuildArea\Sandbox\GroundTruth\trunk\GroundTruth.Solution\GroundTruth\GenerateContoursCommand.cs:line 27
  at GroundTruth.ConsoleApp.Process() in d:\MyStuff\BuildArea\Sandbox\GroundTruth\trunk\GroundTruth.Solution\GroundTruth\ConsoleApp.cs:line 53

So, something not working?

Yes, the old NASA server :). You're using the latest "official" GT release which referenced this old server. I've uploaded an "experimental" version of GT which now uses the new server. I'll move it to the "offical" dir., since I think it works OK. --Breki 09:02, 21 September 2009 (UTC)

Another Bug?

(Just moved on to to 'playing' with GroundTruth after 'playing' with srtm2osm and I love them both BUT we really could do with a bug reporting mechanism please).

I've successfully generated contour IMGs using GroundTruth 1.8.740.17 using the default bundled ContoursRulesMetric.txt. They look good on my Garmin device (nuvi 205w) including making the 'medium' (20m) and then the 'minor' (10m) contours visible as I zoom in. However, the 'major' (100m) contours are visible at all zoom levels which quickly makes even the base map unreadable as I zoom out. Having read the GroundTruth manual my expectation is that the 'major' contours should be become invisible when zooming out above Min Level 22 but this doesn't appear to be happening. For you information, I read the cgpsmapper manual and then looked at the GroundTruth generated MP files and noted that the MP files have Level3=12, which suggests that the IMG (or at least the major contours in it) will remain visible all the way up to level 12 - is it the case that GroundTruth should be setting Level3 in the MP file to be equal to the Min Level of the major contours as given in the ContoursRulesMetric.txt?

Combining OSM maps and contours

You can combine OSM maps and contours into a single IMG, although I don't recommend doing this - you will have to regenerate .mp files for contours each time you want to update your OSM data, and this can take a long time. I personally generate contours as a separate transparent map product and then combine contours and OSM maps using MapSource (or sendmap) when uploading maps to my Garmin unit.

Here's a sample of options I use for map of Slovenia

1. Generating Contours IBF File (done only once!)

Command line:

GroundTruth.exe contours -o=Slovenia.ibf -b=45,13,47,17 -int=10

2. Generating Contours IMG File (done only once!)

Command line:

GroundTruth.exe makemap -of=ContoursMapOptions.txt

Options file (ContoursMapOptions.txt):

-ibf=Slovenia.ibf
-op=Contours 
-r=http://wiki.openstreetmap.org/wiki/GroundTruth_Driving_Map
-cr=..\Rules\ContoursRulesMetric.txt
-ct=http://wiki.openstreetmap.org/wiki/GroundTruth_Characters_Conversion_Table
-tt=http://wiki.openstreetmap.org/wiki/GroundTruth_Standard_Garmin_Types
-mi=237000 
-mn=Slovenia OSM Contours Map
-fc=359 
-fn=Slovenia OSM Contours Map
-pc=457 
-pn=Slovenia OSM Contours Map
-cgp=..\..\cgpsmapper
-param=PreProcess:P
-param=TreSize:1000
-param=SimplifyLevel:1

3. Generating Hiking Map (without contours)

Command line:

GroundTruth.exe makemap -of=HikingMapOptions.txt

Options file (HikingMapOptions.txt):

-osm=SloveniaNW.osm 
-osm=SloveniaNE.osm 
-osm=SloveniaSW.osm 
-osm=SloveniaSE.osm 
-op=Hiking 
-r=http://wiki.openstreetmap.org/wiki/GroundTruth_Hiking_Map
-ct=http://wiki.openstreetmap.org/wiki/GroundTruth_Characters_Conversion_Table
-tt=http://wiki.openstreetmap.org/wiki/GroundTruth_Standard_Garmin_Types
-mi=235000 
-mn=Slovenia OSM Hiking Map
-fc=357 
-fn=Slovenia OSM Hiking Map
-pc=455 
-pn=Slovenia OSM Hiking Map
-cgp=..\..\cgpsmapper
-param=PreProcess:P
-param=TreSize:1000

See also