### Mapsforge Server Output Example Source: https://github.com/maproom/qmapshack/wiki/DocBasicsMapDem This is an example of the console output when the Mapsforge tile server starts successfully. It shows server properties and task configurations. ```log 2025-01-25 11:28:37.386 MapsforgeSrv - a mapsforge tile server. version: 0.23.0.2 2025-01-25 11:28:37.394 Java runtime version: 11.0.25+9-adhoc..jdk11u 2025-01-25 11:28:37.682 ################## SERVER PROPERTIES ################## 2025-01-25 11:28:37.697 Browser cache ttl : default [0] 2025-01-25 11:28:37.697 Out of range TMS url : default [null] 2025-01-25 11:28:37.698 Accept terminate request : default [false] 2025-01-25 11:28:37.698 Request log format : default [From %{client}a Get %U%q Status %s Size %O bytes Time %{ms}T ms] 2025-01-25 11:28:37.703 ################ TASK 'Map' PROPERTIES ################ 2025-01-25 11:28:37.705 Map file(s) : defined [{Alps_oam.osm.map}] 2025-01-25 11:28:37.706 Append built-in world map : default [false] 2025-01-25 11:28:37.706 Preferred map language : default [null] 2025-01-25 11:28:37.707 Theme file : default [OSMARENDER] 2025-01-25 11:28:37.707 Theme style : default [null] 2025-01-25 11:28:37.707 Theme overlay(s) : default [undefined] 2025-01-25 11:28:37.707 DEM folder : default [undefined] 2025-01-25 11:28:37.708 Hillshading algorithm : default [undefined] 2025-01-25 11:28:37.709 Hillshading magnitude : default [1.0] 2025-01-25 11:28:37.709 Hillshading minimum zoom : default [undefined] 2025-01-25 11:28:37.710 Hillshading maximum zoom : default [undefined] 2025-01-25 11:28:37.710 Contrast stretch : default [0] 2025-01-25 11:28:37.710 Gamma correction : default [1.0] 2025-01-25 11:28:37.710 Device scale factor : default [1.0] 2025-01-25 11:28:37.710 User scale factor : default [1.0] 2025-01-25 11:28:37.710 Text scale factor : default [1.0] 2025-01-25 11:28:37.711 ################ STARTING SERVER ################ 2025-01-25 11:28:38.372 Virtual threads are disabled 2025-01-25 11:28:38.382 ################ STARTING TASK 'Map' ################ 2025-01-25 11:28:38.383 ------------------- MAPS INFO -------------------- 2025-01-25 11:28:38.401 'Alps_oam.osm.map' supported languages: {de,en,fr,it,sl} 2025-01-25 11:28:38.522 -------------------------------------------------- 2025-01-25 11:28:38.552 jetty-11.0.24; built: 2024-08-26T18:11:22.448Z; git: 5dfc59a691b748796f922208956bd1f2794bcd16; jvm 11.0.25+9-adhoc..jdk11u 2025-01-25 11:28:38.642 Started ServerConnector@766653e6{HTTP/1.1, (http/1.1, h2c)}{0.0.0.0:8080} 2025-01-25 11:28:38.666 Started Server@3d3e5463{STARTING}[11.0.24,sto=0] @1682ms 2025-01-25 11:28:38.666 Started QueuedThreadPool[qtp980697799]@3a7442c7{STARTED,8<=8<=200,i=5,r=-1,t=59946ms,q=0}[ReservedThreadExecutor@1852a3ff{reserved=0/4,pending=0}] ``` -------------------------------- ### Start MapProxy Development Server Source: https://github.com/maproom/qmapshack/wiki/DocMapsTipsOnline This command starts a MapProxy development server using a specified configuration file. Ensure MapProxy is installed and the configuration file exists. ```bash mapproxy-util serve-develop ./myconf.yaml ``` -------------------------------- ### Start Qt Maintenance Tool Source: https://github.com/maproom/qmapshack/wiki/Build-Ubuntu-24-04-3 Launches the Qt Maintenance Tool to install Qt components. Ensure you select the custom installation to include necessary modules. ```bash ./qt-online-installer-linux-x64-4.10.0.run ``` -------------------------------- ### Install Application Source: https://github.com/maproom/qmapshack/wiki/DocGetQMapShack Install the compiled application using 'sudo make install'. This command requires administrator privileges. ```bash sudo make install ``` -------------------------------- ### Start Mapsforge Tile Server Source: https://github.com/maproom/qmapshack/wiki/DocBasicsMapDem Execute this command in your terminal to start the Mapsforge tile server. Ensure you have Java 11 or higher installed. Replace JAR_Folder and Configuration_Folder with your actual paths. ```bash java -jar JAR_Folder/mapsforgesrv-fatjar.jar -c Configuration_Folder ``` -------------------------------- ### Install Qt Creator on Ubuntu Source: https://github.com/maproom/qmapshack/wiki/Ubuntu-HowTo Use this command to install Qt Creator, the recommended IDE for QMapShack development. ```bash sudo apt-get install qtcreator ``` -------------------------------- ### Download and Install Routino Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntuPROJ8 Download Routino using SVN, edit the Makefile.conf to set the installation prefix, and then build and install. ```bash cd ~/GPS svn co http://routino.org/svn/trunk routino cd routino make -j2 sudo make install ``` -------------------------------- ### Build and Install QMapShack from Source Source: https://github.com/maproom/qmapshack/wiki/BuildFedora Compile and install QMapShack after cloning the repository and optionally checking out a specific version. This involves creating a build directory, configuring with CMake, compiling, and installing. ```bash mkdir build cd build cmake ../qmapshack make -j$(nproc) sudo make install cd ``` -------------------------------- ### Configure, Build, and Install QMapShack Source: https://github.com/maproom/qmapshack/wiki/Build-Ubuntu-24-04-3 Configures the build using CMake, specifying Qt installation paths. Then, it compiles the source code using multiple processors and installs the application. ```bash cmake ../qmapshack-dev -DCMAKE_PREFIX_PATH=/opt/QT/6.10.1/gcc_64/ -DCMAKE_INSTALL_PREFIX=/usr make -j6 #here 6 processors are used sudo make install ``` -------------------------------- ### Build and Install Routino Source: https://github.com/maproom/qmapshack/wiki/Ubuntu-14.04-HowTo Installs Routino's development dependencies, downloads the source, builds, and installs it. Ensure you have the necessary build tools and libraries. ```bash # install required dev-packages sudo apt-get install gcc make libc6-dev libz-dev libbz2-dev libgraphics-magick-perl # download, build and install routino svn co http://routino.org/svn/trunk routino cd routino make sudo make install ``` -------------------------------- ### Install QMapShack Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntu22-04 Clones the QMapShack repository, configures the build using CMake, and then compiles and installs the application. Ensure all dependencies are installed prior to this step. ```bash cd ~/GPS git clone https://github.com/Maproom/qmapshack.git QMapShack mkdir build_QMapShack cd build_QMapShack cmake ../QMapShack -DCMAKE_INSTALL_PREFIX=/usr make -j$(nproc) sudo make install ``` -------------------------------- ### Update System and Install Development Packages Source: https://github.com/maproom/qmapshack/wiki/BuildFedora Before compiling, update your system and install essential development tools and libraries required for QMapShack. A reboot is recommended after package installation. ```bash sudo dnf upgrade sudo reboot sudo dnf group install c-development development-tools sudo dnf install cmake qt6-qtbase-devel qt6-qttools-devel qt6-qtwebengine-devel gdal-devel proj-devel bzip2-devel quazip-qt6-devel sudo reboot ``` -------------------------------- ### Install Homebrew Packages for QMapShack Build Source: https://github.com/maproom/qmapshack/blob/dev/MacOSX/README.md This script installs Homebrew if necessary and then installs the required packages for the QMapShack build process. Package files are also copied to the local environment. ```shell sh ./qmapshack/MacOSX/install-brew-packages.sh ``` -------------------------------- ### Install Git and Subversion Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMint19 Installs Git for version control and Subversion for accessing the Routino SVN repository. ```bash sudo apt-get install git subversion ``` -------------------------------- ### Download, Build, and Install Routino Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMint19 Downloads the Routino source code from its SVN repository, navigates into the directory, compiles it using make, and installs it system-wide. If installation fails due to library path issues, modify the Makefile.conf to change the prefix and rebuild. ```bash svn co http://routino.org/svn/trunk routino ``` ```bash cd routino ``` ```bash make ``` ```bash sudo make install ``` -------------------------------- ### Install PROJ using Homebrew Source: https://github.com/maproom/qmapshack/blob/dev/MacOSX/archive/HowtoBuildOSX.txt Installs the PROJ library, a dependency for QMapShack, using the Homebrew package manager. ```shell brew install proj ``` -------------------------------- ### Create Installation Folder Source: https://github.com/maproom/qmapshack/wiki/Ubuntu-HowTo Create a directory to store QMapShack related data and navigate into it. This is the first step before building. ```bash mkdir ~/GPS cd ~/GPS ``` -------------------------------- ### Example Debug Log Entry for Routino Source: https://github.com/maproom/qmapshack/wiki/AdvSetup An example log entry indicating a successful Routino installation, showing the path to the translations.xml file. ```log 2020-11-08 18:03:56.036 [debug] "ROUTINO" path "some_path/translations.xml" ``` -------------------------------- ### Install Build Packages for QMapShack Source: https://github.com/maproom/qmapshack/blob/dev/MacOSX/README.md Installs necessary packages required for the QMapShack build process. This script is part of the overall build setup. ```shell sh ./qmapshack/MacOSX/install-packages.sh ``` -------------------------------- ### Combined Command Line Options Source: https://context7.com/maproom/qmapshack/llms.txt Example combining multiple command-line options for customized startup. ```bash qmapshack --no-splash --debug --config ~/portable/qms.ini mytrip.gpx ``` -------------------------------- ### Configure, Build, and Install QMapShack Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMint19 Creates a build directory, configures the QMapShack build using ccmake (requiring 'c' to configure and 'g' to generate build files), then compiles and installs the application. ```bash mkdir build_QMapShack ``` ```bash cd build_QMapShack ``` ```bash ccmake ../QMapShack ``` ```bash make ``` ```bash sudo make install ``` -------------------------------- ### Configure and Build Project Source: https://github.com/maproom/qmapshack/wiki/DocGetQMapShack Navigate to the build directory, configure the project using CMake, and then compile the source code using Make. ```bash cd build_QMapShack cmake ../QMapShack make ``` -------------------------------- ### C++ Slot Naming Convention Source: https://github.com/maproom/qmapshack/wiki/DeveloperCodingGuideline All slots must start with `slot`, for example, `slotItemDoubleClicked()`. ```c++ // Example slot declaration: slotMySlot() ``` -------------------------------- ### C++ Signal Naming Convention Source: https://github.com/maproom/qmapshack/wiki/DeveloperCodingGuideline All signals must start with `sig`, for example, `sigChanged()`. ```c++ // Example signal declaration: sigMySignal() ``` -------------------------------- ### List GDAL Supported Formats Source: https://github.com/maproom/qmapshack/wiki/DocFaqMaps Run this command in a console to get a list of raster map formats supported by your GDAL installation. ```bash gdaltransform.exe --formats ``` -------------------------------- ### Install C-Compiler, Make, and other necessary packages Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMint19 Installs the C compiler (gcc), make utility, ALGLIB development library, C standard library development files, zlib compression library, bzip2 compression library, and the Graphics::Magick Perl module. ```bash sudo apt-get install gcc make libalglib-dev libc6-dev zlib1g-dev libbz2-dev libgraphics-magick-perl ``` -------------------------------- ### Set Custom Icon Offset with pngoffset Source: https://context7.com/maproom/qmapshack/llms.txt Example of using the `pngoffset` tool to set the offset for custom pin-style waypoint icons. Requires `pngoffset` to be installed. ```bash # Set icon offset for pin-style icons using pngoffset: # pip install pngoffset pngoffset --set 16,32 mypin.png # Offset from upper-left corner ``` -------------------------------- ### Prepare Build Directory Source: https://github.com/maproom/qmapshack/wiki/Build-Ubuntu-24-04-3 Navigates to the QMapShack source directory, unpacks the source code, creates a build directory, and changes into it. ```bash cd ~/QMS unzip -x ~/qmapshack-dev.zip mkdir build_QMapShack cd build_QMapShack ``` -------------------------------- ### BRouter Offline Setup Directory Structure Source: https://context7.com/maproom/qmapshack/llms.txt Illustrates the typical directory structure for a BRouter offline installation, including the server JAR, profile directory, and segment data. ```bash # BRouter offline setup directory structure ~/.BRouter/ ├── brouter-server.jar ├── profiles2/ │ ├── trekking.brf │ ├── fastbike.brf │ ├── car-fast.brf │ └── shortest.brf └── segments4/ ├── E5_N45.rd5 ├── E5_N50.rd5 └── E10_N45.rd5 # Download routing tiles (rd5 files) from: # http://brouter.de/brouter/segments4/ ``` -------------------------------- ### Download and Install QMapShack Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntuPROJ8 Clone the QMapShack repository, create a build directory, and then configure, build, and install the application using CMake. ```bash cd ~/GPS git clone https://github.com/Maproom/qmapshack.git QMapShack mkdir build_QMapShack cd build_QMapShack ccmake ../QMapShack -DCMAKE_INSTALL_PREFIX=/usr make -j2 sudo make install ``` -------------------------------- ### Get EPSG Features with testepsg Source: https://github.com/maproom/qmapshack/wiki/QMapTool/EpsgOverview Use the testepsg command-line tool to retrieve features for a given EPSG code. Ensure testepsg.exe is in your system's PATH or QMapTool/QMapShack installation directory. ```bash testepsg epsg:9999 ``` -------------------------------- ### Initial Build of Routino Source: https://github.com/maproom/qmapshack/wiki/Ubuntu-HowTo Download, compile, and install Routino from its SVN repository. This is a prerequisite for building QMapShack. ```bash svn co http://routino.org/svn/trunk routino cd routino make sudo make install cd .. ``` -------------------------------- ### Include CMake Modules Source: https://github.com/maproom/qmapshack/blob/dev/CMakeLists.txt Includes various CMake modules that define default settings, compiler flags, installation paths, CPack configuration, and perform system checks. These are essential for a complete build setup. ```cmake include(DefineCMakeDefaults) include(DefineCompilerFlags) include(DefineInstallationPaths) include(CPackConfig.cmake) include(ConfigureChecks.cmake) ``` -------------------------------- ### Set LD_LIBRARY_PATH for QMapShack Execution Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntuPROJ8 Configure the LD_LIBRARY_PATH environment variable to run QMapShack from its installation directory. This is necessary when the required libraries are not in the default system paths. The example shows setting the path and then running QMapShack in the background. ```bash (export LD_LIBRARY_PATH=/home/tormet/QMSDEVDIR/usr/lib:; /home/tormet/QMSDEVDIR/usr/bin/qmapshack & ) ``` -------------------------------- ### Install Routino Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntu22-04 Installs the Routino routing engine. This involves checking out the source code from SVN, modifying the Makefile.conf to set the installation prefix, and then compiling and installing. ```bash cd ~/GPS svn co http://routino.org/svn/trunk routino cd routino Edit `Makefile.conf`: Set line 48 to `prefix=/usr` make -j$(nproc) sudo make install ``` -------------------------------- ### Install Qt 5.9.5 Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMint19 Installs the default Qt 5.9.5 development packages, including tools for default, development, private, and web engine components, as well as MySQL support. ```bash sudo apt-get install qt5-default qttools5-dev-tools qttools5-dev qttools5-private-dev qtwebengine5-dev libqt5sql5-mysql ``` -------------------------------- ### Install Dependencies for Qt Installer Source: https://github.com/maproom/qmapshack/wiki/Build-Ubuntu-24-04-3 Installs libraries required by the Qt Maintenance Tool to function correctly on the system. ```bash sudo apt install libxcb-cursor0 libxcb-cursor-dev ``` -------------------------------- ### Standard Project Setup and Version Check Source: https://github.com/maproom/qmapshack/blob/dev/CMakeLists.txt Sets up standard project configurations, including internationalization support, and checks the version of the PROJ library. Sends an error if the version is insufficient. ```cmake qt_standard_project_setup( I18N_TRANSLATED_LANGUAGES ca cs de es fr it nl ru ) if (${PROJ_VERSION} VERSION_LESS 8.0.0) message( SEND_ERROR "You need at least PROJ 8.0.0 or newer.") endif() ``` -------------------------------- ### Install Build Dependencies Source: https://github.com/maproom/qmapshack/wiki/Ubuntu-HowTo Install necessary packages for building QMapShack and its dependencies. Ensure all listed packages are installed before proceeding. ```bash sudo apt-get install cmake build-essential subversion git \ qt5-default qttools5-dev libqt5webkit5-dev qtscript5-dev \ qttools5-dev-tools libgdal-dev libproj-dev libghc-bzlib-dev \ libgraphics-magick-perl libquazip5-dev libqt5sql5-mysql \ gdal-bin qtwebengine5-dev default-libmysqlclient-dev ``` -------------------------------- ### Download and Install QUAZIP Source: https://github.com/maproom/qmapshack/wiki/BuildUbuntuPROJ8 Download, build, and install QUAZIP version 1.1. This process involves creating a build directory and using CMake for configuration and building. ```bash cd ~/GPS wget https://github.com/stachenov/quazip/archive/refs/tags/v1.1.tar.gz tar xvzf v1.1.tar.gz cd quazip-1.1 mkdir build cd build ccmake .. -DCMAKE_INSTALL_PREFIX=/usr cmake --build . -j2 sudo cmake --build . --target install ``` -------------------------------- ### Install Homebrew Package Manager Source: https://github.com/maproom/qmapshack/blob/dev/MacOSX/archive/HowtoBuildOSX.txt Installs the Homebrew package manager on OS-X. This is a prerequisite for installing other development tools and libraries. ```shell ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ``` -------------------------------- ### Install Dependent Packages for PROJ Source: https://github.com/maproom/qmapshack/wiki/BuildLinuxMintPROJ8 Installs essential libraries required for PROJ version 8. Ensure these are present before proceeding with PROJ installation. ```bash sudo apt install sqlite3 libsqlite3-dev libtiff5-dev libcurl4-gnutls-dev ``` -------------------------------- ### Install CMake Modules Source: https://github.com/maproom/qmapshack/blob/dev/cmake/Modules/CMakeLists.txt Installs all .cmake files from the current source directory to a specified module installation directory. Ensure the DATA_INSTALL_DIR is correctly set. ```cmake file(GLOB cmakeFiles "${CMAKE_CURRENT_SOURCE_DIR}/*.cmake") set(module_install_dir ${DATA_INSTALL_DIR}/cmake/modules ) install( FILES ${cmakeFiles} DESTINATION ${module_install_dir} ) ```