-
Notifications
You must be signed in to change notification settings - Fork 64
DocMapsTipsRasterDEM
Prev (Tips & tricks for online maps) | Home | Manual | Index | (Overview of setup and configuration options) Next
Table of contents
- Tips & tricks for raster maps, vector maps, and elevation data
http://loadmap.net is a server for a wide variety of raster maps covering large parts of the world. Among them are various kinds of Russian army and topographic maps, but also maps of the U.S. army map service.
Some of the maps are georeferenced with reference information in various formats. Quite often the OziExplorer map file
format is used to keep the reference information.
A major disadvantage of such maps is a border that overlaps neighboring maps.
To make raster maps from this source available in QMapShack the QMapTool can be used to reference and to cut unreferenced raster maps.
Referenced maps in the OziExplorer format can be prepared for QMS as follows:
-
Assume the map was downloaded as
rastermap.gif
with reference information inrastermap.map
. -
Move these 2 files into a QMS map directory.
-
Use
gdalwarp
(to be found in the QMS installation directory for Windows) to convert the map to a georeferenced TIF file:gdalwarp rastermap.map rastermap.tif
-
Open QMapTool (if
qmaptool.exe
is on thePATH
, then it can be opened from QMS by choosing the menu entryTool - Start QMapTool
). -
Use the QMapTool to cut the map to the necessary shape. For details compare the QMapTool documentation. The result is a new file
rastermap_cut.tif
in the QMS map directory. -
Open QMapShack and select the menu entry
Tool - VRT Builder
. -
Insert
rastermap_cut.tif
as source filename, insert a target filename and select the creation of overviews for better rendering of the map. -
Click the
Start
button in the tool. -
Activate the new map in QMapShack.
(Updated for QMS 1.16.1 2023-02-06)
MBTiles is a file format for storing map tiles in a single file. It is, technically, a SQLite database and my contain raster as well as vector data. Starting at QMS 1.12.0 the QMS Windows installer includes support for MBTiles files with raster data.
ECW stands for Enhanced Compression Wavelet and is a proprietary wavelet compression image format optimized for aerial and satellite imagery. The lossy compression format efficiently compresses very large images with fine alternating contrast while retaining their visual quality.
MrSID stands for Multiresolution Seamless Image Database. It is a file format (with filename extension .sid) for encoding of georeferenced raster graphics, such as orthophotos.
Both ECW and MrSID need some special preparation of the installed QMapShack package as described below for Windows10 64-bit systems (the approach for Linux-type systems should be similar but was not tested).
- This procedure is valid for QMS 1.16.1 and newer versions compiled with GDAL 3.4.1 and MSVC2017, therefore links provided pointing to
GISInternals
installers are suitable for these versions. The GISInternals installers will add some plugins to the GDAL package. - Previously installed ECW, or MrSID plugins for QMapshack versions prior to 1.16.1 WON'T work with newer versions. So, you have to update the plugins:
- if you are updating from QMS 1.12.0 or newer, simply install the new plugin overwritting the old one and it will work.
- if you are updating from a version prior to 1.12.0 and you had installed some of the plugins, is highly recommended to make a CLEAN INSTALLATION of QMS 1.16.1 or newer to get rid of files that you had added to the root folder of QMS and no longer have utility, and then install the correct plugins as explained below.
- Pay attention to the fact that the GISinternals installers DO NOT ASK for an installation path. They always write to
C:\Program Files\GDAL
(or something similar depending on your system language). Therefore, if you already have a GDAL version installed at that location for other purposes, you should rename this folder (e.g. toGDALBAK
) before running the installers in order to preserve the old installation. Once the task is done you can delete the GDAL folder created by GISinternals installers and rename back the original GDAL folder. - (OPTIONAL) You would like to make a copy of the original QMapShack root folder (e.g. to
QMapShack-BAK
). In this way you can run QMS from the folder with plugins installed, or you can run the original one from the BAK folder without plugins. Your configuration remains the same for both of them and you could easily turn back, if you don't like the changes.
- Download and execute this ECW plugin installer from GISinternals.
- Go to the folder where the plugin has been installed, typically
C:\Program Files\GDAL
. - Copy the
gdalplugins
andlicense
folders to the QMS root folder, typicallyC:\Program Files\QMapShack
(Overwrite old files if prompted). - Copy
NCSEcw.dll
to the QMS root folder. - (optional) The
libecwj2.dll
file provided for the older plugin is no longer necessary, you can delete it from the QMS root folder.
(It seems that there is no plugin yet matching GDAL 3.4.1 and MSVC2017 at GISInternals. This section will need to be updated if a MrSID plugin becomes available.)
- When you upgrade QMapShack from 1.16.1 to a newer version the ECW and MrSID plugins remain intact, nothing else needs to be done.
- This procedure requires that the user agrees to the GISInternals terms of use when installing the plugins.
- The procedure respects the QMS folder structure created by the QMS installer.
- There is no need to set any path to the
gdalplugins
folder, so you can start QMS as usual. - Before using the discussed raster map formats, VRT files have to be created with the help of the QMS VRT builder for each (or for all) required map files. Put the VRT file in a QMS maps path, reload the maps in QMS, and activate the map.
- MrSID files can be rather big. Rendering them in QMS can be a time-consuming operation.
- MrSID plugin might fail depending on your Windows system installation. It seems that adding a convenient
tbb.dll
in the QMS root folder would solve the problem. See issue #129 at GISInternals. - Depending on the Windows 10 system installation an error message from GDAL might be shown informing that the file
ogr_MSSQLSpatial.dll
can't be found. The reason for this error is a missing Microsoftsqlncli11.dll
. To resolve this error download the installation package for this DLL file from the Microsoft server and install it. After this additional installation step, the error doesn't occur anymore.
The standard way of using elevation data in QMS is to download this data and save it locally (for details see Install Maps & DEM).
In this section 2 more possibilities to use elevation data in QMS are presented:
- use of contour lines in Garmin map files,
- use of online elevation data.
There are two ways to add a transparent contour line layer to your map view:
- add proper vector maps in Garmin IMG format,
- add raster map with transparent contour line tiles.
Some maps for Garmin devices provide a separate gmapsupp.img
file with contour lines. Add this file to your QMS map directory and use it as contour line overlay in a map view. Change transparency of the contour line map, if necessary.
Some sources for vector contour line maps in this format are:
-
OpenTopoMap: Select your region and download the file in the Garmin format. The downloaded file contains both a base map and a contour line map in the
gmapsupp.img
format. -
BBBike: allows to create a contour line file for a custom area.
- Follow the instructions shown on the linked page,
- select as output format
SRTM World Contours Garmin (40m)
, - after rendering the map in QMS, use the slider of the map in the QMS maps window to change transparency (opacity).
-
Velomap: download the .exe file and chose "install a separate contour lines only map" during the installation process. Follow the instructions in the files
information for Linux_or_QlandkarteGT_users.txt
andreadme_english.txt
in the velomap installation directory to get the requiredgmapsupp.img
file.
Some TMS tile servers provide contour line only layers. To use such a layer in QMS, add a TMS file to your map directory.
Here is a sample TMS file for the contour line layer from OpenSnowMap (download from here):
<TMS>
<Title>OpenSnowMap Contour Lines</Title>
<MinZoomLevel>1</MinZoomLevel>
<MaxZoomLevel>1024</MaxZoomLevel>
<Layer idx="0">
<ServerUrl>http://www.opensnowmap.org/opensnowmap-overlay/%1/%2/%3.png</ServerUrl>
</Layer>
<Copyright>OpenStreetMap contributors | Rendering: www.opensnowmap.org | DEM: ASTER GDEM is a product of METI and NASA
SRTM V4.1 from CGIAR-CSI EU-DEM: Produced using Copernicus data and information funded by the European Union </Copyright>
</TMS>
Another sources for transparent contour line tiles is the OpenMapServer from GIScience at Heidelberg University with the URL
<ServerUrl>http://129.206.74.245:8006/tms_il.ashx?x=%2&y=%3&z=%1</ServerUrl>
Downloading and preparing DEM data for offline use can be a time-consuming process that requires quite a lot of memory. In some cases it is therefore easier to avoid the preparation of DEM data for some regions and to use instead online elevation data.
QMS can obtain online DEM data using a .WCS file that contains the necessary parameters to access a WCS server.
You can get .wcs files contributed by users (here) and you can also create them by yourself as described below
Usage:
Place the .WCS
file in the QMS DEM path and activate it. WCS files are shown at the docked DEM window with this icon
The first time you load the new online elevation data it will take a while to load the data. The status line remains quiet, be patient! Once the WCS is connected the QMS status line will show the elevation and slope data on the fly, and if you don't ask to hill-shade or colorize large areas, it will run smoothly.
The use of online elevation data is complementary to the use of local DEM files. If you are using intensively hillshading or coloring slopes, you would like to have local DEMs.
Online elevation data is useful when:
- you want to view regions outside of your usual mountain area and you don't have its DEM data,
- you want to draw (or filter) a track with a high elevation accuracy and you don't want to find and download tons of files that you will never use again (e.g. downloading a 5m accuracy DEM for the whole of Spain would be crazy)
In these cases online elevation data work just fine. Some WCS are faster than others, you must try to find the limits, but don't ask QMS to hill-shade the whole Pyrenees with a 5m accuracy elevation on your screen. Of course, the user is required to have a brain.
Create a basic WCS file:
-
Create a text file following this example and save it in your DEM folder with the extension .wcs (e.g.
ESP_IGN-MDT25.wcs
):<WCS_GDAL> <ServiceURL>http://www.ign.es/wcs/mdt?</ServiceURL> <CoverageName>mdt:Elevacion25830_25</CoverageName> <Version>1.0.0</Version> </WCS_GDAL>
-
You have to replace the values between the labels according to the WCS you want, where
- the ServiceURL node defines the URL of the service without parameters,
- the CoverageName node is the identifier for the elevation dataset (in simple words the layer),
- the Version is the WCS version that is used in the communication. If you don't know the version, try the default value 1.0.0 (read remarks about versions below).
-
The given example can be used to get online elevation data from the Spanish IGN server.
-
The URL of the WCS and the coverage names are usually provided by authorities and data providers on their websites. If you only know the WCS URL, you can try to get the available coverage names by requesting the capabilities file in a web browser. (e.g.:
http://www.example.com/example?request=Getcapabilities
).
Remarks:
- Depending on the Windows 10 system installation an error message from GDAL might be shown informing that the file
ogr_MSSQLSpatial.dll
can't be found. The reason for this error is a missing Microsoftsqlncli11.dll
. To resolve this error download the installation package for this DLL file from the Microsoft server and install it (click redDownload
button, select the fileENU\x64\sqlnclimsi
, and click theNext
button to start the download). After this additional installation step, the error doesn't occur anymore. - WCS version 2.0.1 is supported only starting with GDAL 2.3 which might not be installed on your system (QMS 1.12.0 for Windows is currently compiled with GDAL 2.3). Anyway, you can try to write the WCS file with default version 1.0.0 and usually it will run.
- The first time you use a basic WCS file GDAL will query the WCS server and then it will re-write your basic WCS file converting it into a longer one with more parameters. Advanced users can edit and tune this longer WCS file to choose some parameters when available (e.g. the DEM format: ASCII, GeoTIFF,... or the SRS).
- A complete example WCS file can be downloaded here.
In order to use vector maps within QMS you need to create a gmapsupp.img`` file from the map tiles (if not yet available).
The popular openmtbmap.org and velomap.org maps as well as some other ones come without such container files.
For Windows user, there is an integrated batch file, which will do all necessary steps; so this section is for Linux users. More information on this topic you may find here.
In Linux, please check, if the package p7zip-full
is installed – we need it to unpack the .exe file. Open the console and execute sudo apt-get install p7zip-full . We need
Mkgmap, too. Also Java is required.
- Download openmtbmap-ALPS and the latest version of mkgmap
- Create a folder like ~/openmtbmap_alps and unzip your downloaded version
- Open the .exe file and extract all files called 6528xxxx.img (maptiles) and 7528xxxx (contour lines), and a typ file (the layout of the map). For this sample we choose widealp.TYP
The folder should now contain all map tiles, the contour lines, the layout file and the extracted files from mkgmap.
Now start your console, browse to your folder and copy the following code:
java -Xmx2048M -jar mkgmap.jar --index --family-id=6528 --description="openmtbmap_alps" --series-name="openmtbmap_alps" --family-name="openmtbmap_alps" --product-id=1 --gmapsupp 6*.img 7*.img widealp.TYP
Then press and a gmapsupp.img will be created, which you can easily rename to openmtbmap_alps.img. Now copy this file onto your GPS unit and in your QMapShack maps folder as well.
If you would like do it with some other layout, simply replace the *.TYP (f.e. easyalps.TYP). If you prefer another country, be careful: all 6x.img and 7x.img must be from the particular openmtbmap country file! Also don't forget to replace the --family-id with the one from your country.
This is really a quick way, to integrate your favorite openmtbmaps or velomaps into QMapShack.
If you prefer a GUI: you can still use QLandkarteGT for creating gmapsupp.img, too.
Links (with further information and some tutorials):
If you want to update your maps regularly, you might consider using the script below. The script requires the following tools to be installed:
-
wget
(downloading) -
7z
(extraction) -
mkgmap
(creation of gmapsupp.img)
The script below is configured to download the OpenMTBMap for Bavaria, convert it to OpenMTBMap_<date>.img
using traddby.TYP and move it to ~/.qmapshack_maps/
.
If this does not match your requirements, you will need to adopt the values FILESRC, IMGFMT, QMSMAPDIR and TYPE:
-
FILESRC: Navigate here, find the file you want to download and write the URL to FILESRC
-
IMGFMT: Name of the resulting file, see
man 1 date
-
QMSMAPDIR: Path to your QMS-Map folder (
~
will not work, use${HOME}
instead)
Depending on your system's configuration you will need to change MKGMAP to allow proper execution of mkgmap
(see section above).
#! /bin/sh
# set -vx
# configuration
# Bavaria
FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/germany/mtbbayern.exe"
# Baden Württemberg
# FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/germany/mtbbaden-wuerttemberg.exe"
# Germany
# for whatever reason 7z does not finish extracting mtbgermany.exe, but there is a linux version for germany
# FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/mtbgermanylinux.7z"
# Alps
# FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/mtbalps.exe"
# Bremen (small, good for testing)
# FILESRC="http://ftp5.gwdg.de/pub/misc/openstreetmap/openmtbmap/odbl/germany/mtbbremen.exe"
# Possible options for TYPE
# clas
# easy
# hike
# thin
# trad -- desktop
# wide
# wint
# see also https://openmtbmap.org/about-2/map-legend/
TYPE="trad"
QMSMAPDIR="${HOME}/.QMapShack/Karten/IMG"
MKGMAP="mkgmap"
# code starts here, no changes below here required
error_check() {
if [ $1 != 0 ]; then
echo ${red}ERROR${NC}
exit 1
else
echo ${green}OK${NC}
fi
}
tool_check() {
which $1 2>&1 1>/dev/null
if [ $? != 0 ]; then
echo ${red}ERROR: $1 missing${NC}
exit 1
fi
}
red="\033[0;31m"
green="\033[0;32m"
NC="\033[0m"
TMP=`mktemp`
if [ ! -f "${TMP}" ]; then
echo ${red}ERROR: failed to get temp. file${NC}
exit 1
fi
tool_check "wget"
tool_check "7z"
${MKGMAP} >/dev/null 2>&1
if [ $? != 0 ]; then
echo ${red}ERROR: mkgmap can\'t be executed${NC}
echo ${red}ERROR: make sure MKGMAP is set properly in script configuration${NC}
exit 1
fi
echo -n " * Downloading... "
wget -q -O "$TMP" "$FILESRC"
error_check $?
echo -n " * Decompressing... "
7z e -o"${TMP}_" ${TMP} >/dev/null
error_check $?
# This is needed to extract the map code (e.g. by for Bavaria or bw for baden-wuerttemberg)
TYPE_FILE=$(basename ${TMP}_/${TYPE}*.TYP)
tmp=${TYPE_FILE#${TYPE}}
REGION=${tmp%\.TYP}
IMGFMT="%Y-%m-%d__${REGION}_OpenMTBMap.img"
FILETIME=`stat -c %Y ${TMP}`
IMGFILE=`date -d@${FILETIME} +"${IMGFMT}"`
echo -n " * Building ${IMGFILE}... "
cd "${TMP}_"
FID=`ls -x 7*.img | head -1 | cut -c1-4`
${MKGMAP} --show-profiles=1 --product-id=1 --family-id=${FID} --index --gmapsupp 6*.img 7*.img ${TYPE_FILE} >/dev/null
error_check $?
echo -n " * Moving gmapsupp.img to ${QMSMAPDIR}... "
mv "${TMP}_/gmapsupp.img" "${QMSMAPDIR}/${IMGFILE}"
error_check $?
echo -n " * Cleanup... "
rm -rf "${TMP}" "${TMP}_"
error_check $?
Prev (Tips & tricks for online maps) | Home | Manual | Index | Top | (Overview of setup and configuration options) Next