wiki:SystemFunctionalityEN

Version 19 (modified by Martin Kolman, 11 years ago) (diff)

update ccomand line options

Features

Track logging/recording

ModRana supports track recording, diretly to a GPX file. This file can be named and logging and saving interval can be set directly from the logging menu. Logging can be paused or split, eq old log is saved and a new one is started imediately. If you entered a new name while logging was in progress, the next log will use it. All logs are saved to the log cathegory in tracklogs menu.

In which folder are logs stored ?

Default location

By default, newly recorded tracklogs are stored in the tracklogs folder in modRana profile:

~/.modrana/tracklogs/logs/

N900 & N9

Tracklogs are stored in the MyDocs folder, that is accessible using mass storage if the device is connected to a computer with USB.

/home/user/MyDocs/tracklogs/logs/

NOTE: ModRana can't record a tracklog while the mas storage mode is active, because the MyDocs folder is not available for applications running on the device during this.

Map layer configuration

Map layers are defined in 'map_config.conf in the modRana main fiolder.

Example:

[osma]
  label=OSM Mapnik
  url="http://tah.openstreetmap.org/Tiles/tile/"
  type=png
  max_zoom=18
  min_zoom=0
  folder_prefix=OpenStreetMap I
  coordinates=osm

name in square brackets -> must be unique for every layer label -> name of the layer shown in GUI
url -> tileserver URL ( !! IN QUOTES !!! ), tile coordinate format is set automatically according to the value in coordinates
type -> type of the tile images
max_zoom, min_zoom -> maximal and minimal zoom
folder_prefix -> combined with tile_folder in user_config.conf sets the tile folder path
coordinates -> sets the coordinate system and tile URL format

  • URL needs to be in quotes
  • all layer variables must be set
  • tile storage and loading is compatible with TangoGPS

Configuring map layer path

Path for a map layer consists from the main tile folder path and a layer folder.

  • the main tile folder is configured using the tile_folder variable in user_config.conf
  • tile folder is configured by folder_prefix in map_config.conf

Example:

tile_folder=/media/card/maps/
folder_prefix=osm_mapnik

This results in this path: /media/card/maps/osm_mapnik/

Main buttons hiding

ModRana supports hiding of the main buttons, so they don't obstruct parts of the map. This feature can be configured in menu->Options->view->hide main buttons, the default is "hide after 15 seconds".

Normal main buttons Hidden main buttons

Fullscreen toggle

ModRana can be set to a fullscreen mode. Fullscreen can be toggled with the appropriate button from the map screen.

New position indicator

Old position indicator from Rana was replaced by a new TangoGPS inspired indicator. The immediate are of the current position is now better visible and for low speed, the direction is not show, as it is unreliable when the speed is too low.

Showing the new marker, running in N900 (Maemo 5) emulator in fullscreen

A demonstration of the new position indicator, shown in N900 emulator

Batch tile download

ModRana supports advanced batch tile download with various download options:

  • where: around the current position, around the area currently visible on the map or around a tracklog
  • size a download are radius from 5 to 160 km
  • zoom range it is possible to set the zoom level range for download (up and down)

The tiles are downloaded using threads, so it is possible to use modRana as usual while the tiles are being downloaded. ModRana also displays how much data it has downloaded.

Finished batch download is indicated by a notification message.

Batch size estimation

ModRana can also estimate the size of the currently configured batch download. In this mode, modRana just downloads headers of all tiles in the batch to find out their size.

Notification support

ModRana has a support for displaying notifications. They are used to notify about important events, that are not readily visible from the state of the user interface, such as a batch download finishing.

The modRana notification system is GUI toolkit independent and either draws the notifications by itself of uses the platform notification method, if available.

Optimized tracklog drawing, tracklog manager

Tracklogs in the GPX format are supported. Drawing of tracklogs is highly optimized, so it is possible to show many tracklogs at once.

Visible tracklogs are reopened on startup.

Adding of elevation data to tracklog

ModRana supports adding of elevation data from Geonames to tracklogs. The new elevation data (for all points in tracklog) is also saved to the corresponding tracklog GPX file (so it can be used by other applications). The route profile feature uses the elevation data to showing the graph.

Route profile drawing

If a tracklogs contains elevation data for its points, a route elevation profile is shown. The route profile can be also activated as an information widget.

to add elevation data top a tracklog, use the feature for adding elevation data to tracklog.

POI manager

Sorted POI are shown in a list. POI created from Google Local Search results contain all the additional information. A POI can be used as a target for routing.

POI search with Google Local Search

ModRana supports online POI search, centered either around current position or the in the currently visible area on the map. Results contain various metadata, such as street address and telephone numbers (not for all results). They can be also saved to the modRana POI database or used as target for routing.

All results are also drawn on the map and their labels are clickable.

It is possible to search for POI from many categories with presets, like restaurants, ATMs, hotels etc. Maximum number of results and ordering style can be configured in options->Online services.

Searching for a custom query is also possible using the custom query button.

Online routing using Google Directions

Online routing in modRana uses Google Directions. Its an online search, so it won't work without Internet connectivity While searching for a route, the current mode is respected. For "walking mode" walking directions are selected, for "car mode", directions for a motor vehicles are used. Actually, all other modes than "walking"" currently get directions for motor vehicles. In options->Online routing toll and highway avoidance can be activated.

Start and destination for the route can be sat on the map. It is also possible to route to and from the current position. ModRana also supports address2address routing, POI search results and saved POI can be also used as routing destinations.

This video shows how routing in modRana works.[youtube]

Transparent map overlay

This feature can be activated in options -> map -> Map as overlay. Any map layer can be used as the background or overlay. Transparency can be set in the 25-100% range. 100% (fully opaque) should be used only for layers, that contain transparent areas. :)

OSD information widgets

The information widgets can be configured in user_config.conf in the main modRana folder. The configuration file is heavily self documenting, so it should be easy to personalize the widgets to your liking :)

In the future, interactive widgets configuration directly from the GUI is planed.

Configuration file

the configuration file is called user_config.conf, it is present in the main modRana folder. The following can be set:

  • path to the tile folder
  • path to the tracklog folder
  • position and size of ALL controls/buttons, each mode can have an independent setting for controls/buttons and widgets
  • activate and configure widgets

Command Line Options

ModRana has quite a few options that can be useful for opening modRana from other programs or scripts.

NOTE: if --return-static-map-url is used, modRana just returns the static map URL as quickly as possible and exits. This can come handy in situations where only a simple map image is enough and the advanced modRana functionality is not needed.

usage: modrana.py [-h] [-d device ID] [-u GUI ID]
                  [--local-search search query]
                  [--local-search-location an address or geographic coordinates]
                  [--address-search an address]
                  [--wikipedia-search search query] [--return-static-map-url]
                  [--return-current-coordinates] [--center-on-position]
                  [--set-zl zoom level number]
                  [--center-on-position-on-zl zoom level number]
                  [--focus-on-coordinates geographic coordinates with the geo: prefix]

A flexible GPS navigation system.

optional arguments:
  -h, --help            show this help message and exit
  -d device ID          specify device type
  -u GUI ID             specify user interface type (GTK or QML)
  --local-search search query
                        specify a local search query EXAMPLE: "pizza"
  --local-search-location an address or geographic coordinates
                        specify a geographic location for a local search query
                        (current location is used by default), both addresses
                        and geographic coordinates with the geo: prefix are
                        supported; use "LAST_KNOWN_POSITION" to use last known
                        position EXAMPLE: "London" or
                        "geo:50.083333,14.416667" or "LAST_KNOWN_POSITION"
  --address-search an address
                        specify an address search query EXAMPLE: "Baker Street
                        221b, London"
  --wikipedia-search search query
                        specify a local search query EXAMPLE: "Prague castle"
  --return-static-map-url
                        return static map URL for a CLI query (works for local
                        search, address and Wikipedia search)
  --return-current-coordinates
                        return current coordinates:
                        latitude,longitude[,elevation] EXAMPLE: 1.23,4.5,600
                        or 1.23,4.5
  --center-on-position  focus on the current position & enable centering
  --set-zl zoom level number
                        set a zoom level EXAMPLE: 15
  --center-on-position-on-zl zoom level number
                        focus on current position on a given zoom level
                        EXAMPLE: 15
  --focus-on-coordinates geographic coordinates with the geo: prefix
                        focus on given coordinates, NOTE you can use --set-zl
                        to set zoom level, EXAMPLE: "geo:50.083333,14.416667"

Debugging

Logs

ModRana currently just prints all debugging information to stdout. Optionally, all stdout output can be redirected to a per-session file in modrana/data/log (or MyDocs/modrana_debug_log on the N900) - this is especially handy for long term monitoring and I-wish-I-logged-output-from-this situations.

Enabling additional debugging info

Check the Options->Debug section.