General questions
- Who needs the software?
GPSMapEdit is designed to help owners of
Garmin,
ALAN,
Holux and
Navitel Navigator.
GPS receivers to create own maps. The software allows to quick loading and viewing vector
maps in so-called "Polish format", comparing them with different geodetic data like
raster maps, GPS tracks and waypoints.
In addition, the software may be used for converting GPS-tracks, waypoints and routes
among various formats.
- What is "Polish format"?
GPS receivers developed by Garmin support closed undocumented map format IMG.
However, there is command line utility cgpsmapper.exe
allowing to convert geodetic data presented in text files (with .TXT or .MP extension) in open and
well documented format into Garmin IMG. Its input language is called "Polish format".
- Where can I find maps in Polish format? Is there else software supporting this format?
For instance, mapcenter.cgpsmapper.com.
pGPSmap is example of software making some
post-processing of Polish files.
Next, pmf2mi is convertor from Polish
format to MapInfo GIS.
And, of course, you may write you own software based on Polish format! In this case,
GPSMapEdit may be used as your covertor's output verification tool and as source
of ready code of the parser.
- Is it possible to convert maps from OziExplorer MAP format?
The maps accepted by OziExplorer are raster ones
being scanned images of paper maps. Automatic recognition of such images necessary to transform
the data to vector presentation is rather complex task (like OCR and even more).
Some so-called vectorizer tools are available in market, but most of them have very high
prices while still require large amount of manual labour.
However, you may use raster maps in GPSMapEdit as base for manual drawing of vector ones over them,
both and to fix existing vector maps.
- What else formats are supported by GPSMapEdit?
Please see details here.
- How the software may be used?
GPSMapEdit is shareware. Please see the License Agreement for details.
Some features are unlocked by License Key. The information
about License Key ordering is here.
- How can I feedback to the author of GPSMapEdit?
You may leave message in the
guest book or contact me via Email. Bug reports, feature
requests etc are welcome!
Installation, starting, running
- What are the hardware and system requirements?
The answer is here. Please pay attention that some features of GPSMapEdit
are not available in some versions of Windows; the full list of such limitations is given in the
same page. The best environment for the software is MS Windows 2000
and Windows XP.
- How to install the software?
GPSMapEdit does not have installer now. The program installation does not require special efforts
because the software is ready to run. Just download the latest version and unzip it into any suitable
folder. Minor exception is usage of PNG and TIFF formats; please see details
here.
- How can I load a map into the program?
There are 3 ways:
- Using 'File | Open' menu command. In addition, you may add a map to loaded one via
'File | Add' item or the corresponding toolbar button.
- Dragging a file from Explorer into GPSMapEdit window.
- Listing file names in command line of mapedit.exe (quoted, space delimited).
- I load a map but window is empty. Zooming in helps. Why?
This may be result of incorrect map converting from other formats.
In general, map contains a few zoom levels for different scales. In Polish format,
the levels are defined in the header of map (section [IMG ID]) through parameters
"LevelX=", "ZoomX=". If all objects belong to one of level (e.g., to 0-th one),
the window will be empty for all other scales.
You may delete the empty levels to solve the problem. (NOTE: less detailed level should be
always empty, according to cGPSMapper' documentation; so minimal number of levels is two).
- What do strings "=LevelX" appearing in status bar mean?
This show active zoom level of the map, corresponding to the selected scale. Mark ">" means that
overzooming and "<" - underzooming. Symbol "*" reminds that automatic level selection is turned
off: the given level is visualised for any scale (see menu item 'View | Levels').
- How can I check that the map loaded violates Polish format limitations?
"Ready*" status message appearing after map loading indicates that some warning messages was
generated. You may see the log using menu command 'File | Message Log'.
- Why all bridges have the same direction?
This is limitation of POI presentation: they are described as point without direction.
Note that some kinds of Garmin receviers never visualize some types of objects at all.
For instance, city blocks are not shown in eTrex Vista.
Moreover, some important kinds of objects have no corresponding object type in Garmin's
GPS-navigators. Examples are railway/subway stations, squares, buildings (as polygons) etc.
- May I use non-Latin symbols in labels of objects for Garmin maps?
Yes. Just please set 'File | Map properties | Header | Coding schema' and 'Code page' properly.
- What does prefix "~[0x" in labels mean?
This is feature of Polish format used to declare upper case, highway marks and other issues
affecting on labels visualization.
- ~[0x1b] - Makes next character in upper case.
- ~[0x1e] - Right part of label is visualized for scales larger than 1 km.
- ~[0x1f] - Left part of label is visualized for scales larger than 1 km.
- ~[0x2a] - International highway
- ~[0x2b] - Shield symbol for highway
- ~[0x2c] - Round symbol for highway
- ~[0x2d] - Small red-blue symbol for highway
- ~[0x2e] - Large symbol for highway
- ~[0x2f] - Small white symbol for highway
- Why GPSMapEdit saves in Polish format only 5 digits after dot in coordinates?
Garmin maps store all coordinates with maximum precision equal to
360î/224=2.1*10-5 (about 2.4 meters). So there is no reason to store data in
Polish format with higher accuracy.
- What do the functions 'Join per-level objects' and 'Split objects by levels'?
In Polish format, it is possible to define an object as set of elements distributed over
zoom levels ('DataX=' and 'OriginX=') rather than define several single-element objects,
one per each level. This approach allows to treat an object as 'whole': user may move, rename,
change type, delete etc the object in all zoom levels simultaneously.
In contrast, MP files imported from IMG always contain single-element objects. (The intrinsic
reason is in IMG format details.) This provides some source of 'traps and pitfalls' for users
while editing.
So, the 'Join per-level objects' function combines similar objects from different levels to the joined
objects. The 'Split objects by levels' one breaks the objects to per-level parts back.
- What is affine transformation?
This is term from linear algebra refering to any combination of linear coordinates transformations.
In particular these are shift, shear, turn, stretching, compressing and so on.
Sometimes even vector maps may have such distorsions. Applying affine transformation to these maps
may significantly improve their precision.
In general, affine transformation may be specified by three pairs of points; each pair consists of
source point and destination one. In particular, both points of a pair may be equal meaning no shift
at the place. If points are equal two by two in each three pairs, the transformation changes nothing.
To apply an affine transformation to a map, you should have some high-precision geodetic data for
the calibration. These may be a raster map (OziExplorer) which is tied as well or tracks and waypoints
obtained using GPS-navigator. It is important to make sure that all coordinates are presented in
the same datum or be able to convert to WGS84.
- How can I apply an affine transformation to my map?
Follow the directions:
- Load vector map to transform and add raster map, track, waypoints to be used for calibration.
- Select 'Affine transformation' tool (by menu or toolbar).
- For each of three pairs:
- Activate the pair using proper radiobutton in the floating window titled "Affine transform".
- Click at source point and hold left mouse button until target point will be selected.
For coinciding points just click and release mouse.
- Make sure that shifted semitransparent image in agree with the calibration data, release
mouse button.
- Go to next pair.
You may abandon any pair using [x] button in the floating window or find the pair on map by [...]
one.
- Press "Apply" in the floating window.
If something is wrong you may undo transformation and try again with other pairs.
You may freely change tools temporarily during preparing to affine transformation -
to 'Drag' tool or to 'Select' etc - and go back to pairs defining.
It is recommended to define pairs as distant as possible from each other and from center of the map.
This may provide higher accuracy.
GIS
- What is geodetic datum?
Datum is like frame of reference. Each point at earth surface is defined as combination of latitude,
longitude and elevation. But all the three values depend on origing of coordinates, direction of axes,
and accuracy of measured Earth radius and polar flattening. Different datums are used in different
countries. As a result, coordinates of the same point may differ in two datums.
For instance, Russian maps are based on "Pulkovo-1942" datum. The one used in GPS is WGS84. In Moscow
region, they are shifted approximately in 150 m. To avoid loss of GPS precision (wich is about 15 m)
you should always make sure that all coordinates are defined in or converted to the same datum.
Functionality to implement
- Which features are planned to implement in the future?
Note the list below does not correspond to the order of implementation.
File formats
- Saving to Garmin IMG
- Export to shapefiles
- Loading and saving in MapDekode DBX format
- Import from AutoCAD (DXF)
- Import of POIs form text files (NIMA) and databases
- Support of MrSID, GeoTIFF
Map authoring
- Trimming map with non-rectangular frame
- Selection by custom filter (label, type, level etc)
- Automatic generalization
Map visualisation
- Enhancements of label output
- Object searching
- Tool to measure distance
- Printing
Other features
- Automation (macros) and plug-in's
- Localization
- Setup
Copyright (C) Konstantin Galichsky, 2002-2008