M4rtinK / modrana

ModRana is a flexible GPS navigation system for mobile devices. This is the main upstream modRana source code repository - waiting for your pull requests & patches! :)
www.modrana.org
GNU General Public License v3.0
66 stars 21 forks source link

Unclear how to import a custom personal POI list #250

Open dikonov opened 6 years ago

dikonov commented 6 years ago

While the custom POI feature is great, the choice of POI storage method (database) makes it difficult to transfer the POIs between different devices runing modrana. I have a long list of personal points of importance from n900 version of modrana but I do not know how to import them into the SFOS version (the modrana UI frontends are different) and sync the list with a second SFOS phone. There is no db editor or db export/import app for Sailfish.

dikonov commented 6 years ago

This issue is parallel with issue #243. I do not request .kml format because n900 modrana did not use it for POI storage and it would also need an editor. Anyway support for kml is a welcome option too. A plain text .csv supported by any spreadsheet application is better.

M4rtinK commented 6 years ago

While the custom POI feature is great, the choice of POI storage method (database) makes it difficult to transfer the POIs between different devices runing modrana. I have a long list of personal points of importance from n900 version of modrana but I do not know how to import them into the SFOS version (the modrana UI frontends are different) and sync the list with a second SFOS phone. There is no db editor or db export/import app for Sailfish.

Actually, the format is still the same - a sqlite database with the same database schema as on the N900. The schema actually predates modRana and comes IIRC from Maemo Mapper with which modRana could share the POI database on the N900.

So I think you should be able to just take the POI database from your N900 (should be in ~/.modrana/poi/modrana_poi.db) and replace the POI db file modRana has on Sailfish OS ( ~/.local/share/harbour-modrana/poi/modrana_poi.db) and everything should work. Of course first backup the existing file, just in case.

In any case you are certainly right - there should be robust import/export mechanisms so that users can move POI between devices and other applications.

This issue is parallel with issue #243. I do not request .kml format because n900 modrana did not use it for POI storage and it would also need an editor. Anyway support for kml is a welcome option too. A plain text .csv supported by any spreadsheet application is better.

KML, GPX & CSV definitely look like a good candidates for bulk POI import, export & interchange with other software. For GPX and KML some sort for guidelines how to specify the correct POI category might be needed, but that should be doable.

BTW, modRana actually already has CLI API that can be used to add POI to the POI database:

[nemo@Sailfish harbour-modrana]$ cd /usr/share/harbour-modrana/
[nemo@Sailfish harbour-modrana]$ ./modrana.py poi add --help
usage: modrana.py poi add [-h] [--name POI_NAME]
                          [--description POI_DESCRIPTION]
                          [--category POI_CATEGORY]
                          [poi_add_coords]

positional arguments:
  poi_add_coords        geographic coordinates with the geo: prefix, EXAMPLE:
                        "geo:50.083333,14.416667"

optional arguments:
  -h, --help            show this help message and exit
  --name POI_NAME       POI name, EXAMPLE: "Baker Street 221b, London"
  --description POI_DESCRIPTION
                        POI name, EXAMPLE: "The house of Sherlock Holmes."
  --category POI_CATEGORY
                        POI category name or index (default: 11/Other),
                        EXAMPLE: "Landmark" or "10"

I've tried to use it just in case and it indeed seems to work just fine (I can see the added POI afterwards when I launch modRana):

[nemo@Sailfish harbour-modrana]$ ./modrana.py poi add --name TEST1 --description "some description" geo:12.3,45.6
point added to the modRana POI database (category: 11/Other)