How open are twonav GPS devices?
Hello,
I like exploring open GIS data. Many countries (for example Switzerland, Norway, the US) publish free map data. Unfortunately, map data is almost always in some custom, country specific format. So it became quite a hobby of myself trying to get GIS data on my GPS devices. This worked quite well for vector data for Garmin (thanks to the excellent mkgmap and a little bit of coding) but is frustrating for raster data. There is also always the danger that one day Garmin decides to lock down their devices further rendering my work useless.
Looking at the cross manual I can see that IMP, KML, KMZ, MPVF, RMAP, RTMAP, VMAP are supported. Except for KML and KMZ (which are no high performance formats) none of these formats ring a bell. I don't think they are open or specified anywhere.
Land Pro seems to be able to read more common formats like SHP and TIF and create maps form it, but I could not find any specifications HOW it does that. (Like which SHP properties map to which map properties...how to specify roads/trails/....?).
So overall it looks like twonav spent some effort, but might be lacking the community behind garmin devices that creates tools and reverse engineers formats, but I'd like to hear other people's opinions.
Is the TwoNav ecosystem more open to importing custom vector and raster data?
-
Hello,
In fact it's quite simple, "open" GIS data is mostly taken from Open Street Map.
So concerning the update of this data you can do it either directly on the Open Street Map site or with the JOSM tool
Regarding the use or exploitation of this data, with land it is quite simple.
You open Open Street Map, you center the area of the screen on your sector of interest and you click on EXPORT / API OVERPASS.
You have to wait but a map file will be in your download folder
Rename this file to map.osm
You can simply open this map with Land. The Edit Menu allows you to modify it or make it "routable.
You can save it in *.mpv or *.mpvf format (format usable by GPS)
You can authorize/inhibit the layers displayed by adapting the aspect (shape/color) property menu it will be necessary to save your aspect modifications in a *.clay file (which by changing the name applies to all *.mpv maps or *.mpvf) warning at first it's long tedious but once done it's quick to propagate the aspect.
GIS data can be manipulated with QGIS (Extract/merge/cut/ect..)
From the *.shp layers it is possible to build a map, whose appearance is fully customizable, with Open Orienteering Mapper. Then export this georeferenced map in *.tif format.
Then Land imports or opens this format to either make a *.imp or *.rmap map.
Here under land Screen Copy (Open Street map -> MVPF With personal MTB cusomisation. Color, object dispalayed, track and path aspect, etc..)
Here under a screen shot of th GPS for TwoMap .
Raster map (Rmap) , OSM (QGIS, OOM, LND) relief and curved (Shp layer) is provide by French IGN (5 m precision)
OSM -> LAND (*.mvpf)
Idem (Personnal MTB customisation + Altitudes Curves fron French IGN - A Shp layers Add with Land)
Here is the answer to your request
-
Thanks a lot for the detailed answer!
I gave the trial version of Land a try and can mostly confirm what you told me.
Geotiff can be imported, but Land is a bit picky on the actual format (deflate compression would give a corrupted image, but LZW compression would work). I also have to pick a projection for some reason even though this information should be in Geotiff metadata. Can you maybe shed light why Land asks for projection?
Next i gave SHP a try. It seems to be able to import the vector data just fine. Again it oddly asks for a projection. It imported all features as a single layer. I can modify the layer's color or routing properties. This is really great. Is there a way to have Land read those values directly from the SHP file using some data columns? I'd rather style SHP files in some pre processing step in Python or C++ than clicking in the Land UI for 100s of layers :)
Finally I tried the latest OSM snapshot of Switzerland. Land would only read uncompressed .osm files and not .osm.pbf files. That's a bummer since .osm are very large and much harder to parse than the protobuf based .osm.pbf files. Anyway, I got the latest OSM dump from https://download.geofabrik.de/europe.html and extracted the .osm file. I tried importing that file into Land twice. Land took quite some time to read it even on my pretty powerful Ryzen 2700X with 32 GB of memory (but then again .osm files are hard to parse). In both tries it just crashed with an access violation, so that's quite a let down. (It also AGAIN asked me to pick a projection which is weird since OSM is always WGS84...)
-
-
By way of background I've just purchased a Cross for use on my bike,
Thanks for the link to naviboard.de, I've been trawling through and found lots of useful snippets of information, which I need to collate to work out what is and isn't known of the various file formats. Before I continue with this, has anyone done this already?
Afaik Mobac can directly generate rmap files, so that format is known (and illustrated in the Java source code). I didn't spot anything related to the vector tile formats (some reverse engineering to be done unless anyone has any pointers?), and the information around the XML header/description files used for the various file types is not particularly clear - most of what I found appears to be existing files that were modified, rather than generated from scratch knowing (or at least explaining) what all of the parameters mean.
I realise I can use Land to convert other formats, but it would be more convenient to be able to directly generate the relevant files.
Regarding openness, it looks like the underlying Linux system kernel and build scripts are in the TwoNav github repo, has anyone tried building using these (this is on my todo list for later in the week), and flashing a bare-bones system (or ideally a standard system with the addition of ssh and busybox to allow me to start poking around and seeing what can be made to run alongside the existing UI).
While I should be able to use the existing update system and some web spoofing to download a custom deb, it would be useful to know how to flash an image without being able to dd files on the device (as happens when the debs are installed) - it appears that flashing directly via the bootloader may possible via USB (based on the i.MX6UL docs, though I am unsure whether that requires a specific bootloader, more investigation required) or otherwise it may be possible to select the device to boot from and to flash from there (which is how the Variscite dev boards work, and the code on github talks about writing to the SD card so I'm wondering whether one of the hardware keys is tied to the boot select line to make that work - again more investigation to do.)
If anyone has any info or pointers they would be gladly accepted :)
-
Yeah, having a way to root those devices would be great but the only case I know of was via UART:
https://www.naviboard.de/thread/66638-qmapshack-auf-twonav-aventura2
Good luck with your very interesting project and keep us informed (best via naviboard since the previous twonav forum here happend to disappear with frustrating information loss).
-
Thanks for the pointer Uwe B., I was hoping (and assuming from a TwoNav setup/maintenance point of view) that it would be possible to do something without needing to unscrew the back, but at least that provides a method to fix things if it does all go wrong.
I've registered on the Naviboard forum and will ask some questions and post what I find (and practice my rather rusty German, with some help from Google no doubt)
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.
Kommentare
7 Kommentare