How to maps
Modern times
Section titled “Modern times”First of all, send a few satellites to space.
Coordinates system
Section titled “Coordinates system”ITRF: International Terrestrial Reference FrameWGS 84: World Geodetic System. The geodetic reference system used by GPS.EPSG:4326: The EPSG code for the 2D geographic CRS based on WGS 84, using latitude and longitude coordinates.EPSG:3857: Web Mercator, faster computations but no representation for North and South Pole (85.06°S and 85.06°N). It uses X/Y coordinates in meters rather than latitude/longitude.ETRS: European Terrestrial Reference System
Map related software
Section titled “Map related software”Sources
Section titled “Sources”- OSM
- Government aerial imagery
- Private aerial imagery
Data user
Section titled “Data user”- Overpass API: https://wiki.openstreetmap.org/wiki/Overpass_API
- QGIS: https://qgis.org/
Data Container
Section titled “Data Container”- PostGIS - a spatial database extender for PostgreSQL object-relational database
- MBTiles a Mapbox specification for storing tiled map data in SQLite databases
PMTiles - https://github.com/protomaps/PMTiles
Section titled “PMTiles - https://github.com/protomaps/PMTiles”An open specification for single-file tile pyramids built on compressed Hilbert ordering and queryable via HTTP Range Requests.
To use it:
- expose the (big)
.pmtilesfile on an HTTP server - query the first 16,384 bytes with an HTTP range request
- decode the header and the metadata which gives you the ranges of the tiles
- fetch the tiles you want with an HTTP range request
Viewer: https://pmtiles.io/ Specifications: https://github.com/protomaps/PMTiles/blob/main/spec/v3/spec.md
Servers
Section titled “Servers”Servers produces map from sources and serve them to clients.
- https://wiki.openstreetmap.org/wiki/Tile_servers
- https://github.com/maplibre/martin
- https://openmaptiles.org/
- https://github.com/systemed/tilemaker
Tiles Client
Section titled “Tiles Client”- https://leafletjs.com/ - an open-source JavaScript library for mobile-friendly interactive maps. Renders tiles as images.
- https://maplibre.org/maplibre-gl-js - a JavaScript library that uses WebGL to render interactive maps from vector tiles and Mapbox styles
Data format
Section titled “Data format”- OSM: https://wiki.openstreetmap.org/wiki/OSM_XML
- Geo JSON: https://geojson.org/
Others
Section titled “Others”- https://www.bbox.earth/ - server using the OGC API (https://ogcapi.ogc.org/)
Geocoder
Section titled “Geocoder”Routing engine
Section titled “Routing engine”- https://project-osrm.org/
- https://github.com/motis-project/motis
- https://gtfs.org/documentation/overview/ - GTFS
- https://brouter.de/
- https://transitous.org/
- https://valhalla.github.io/valhalla/