Technická dokumentace - vrstvy, POI, barvy, ikony, architektura
Data se jednorázově naimportují do úložišť (PMTiles, PostGIS, Valhalla tiles). Běžící služby z těchto úložišť servírují obsah do frontendu.
| Vrstva mapy | Pipeline | Úložiště |
|---|---|---|
| Podkladová mapa | Geofabrik PBF → Planetiler | PMTiles |
| Overlay (trasy, POI) | Geofabrik PBF → osmium filter → osm2pgsql | PostGIS |
| Vrstevnice | Copernicus DEM → gdal_contour | PostGIS |
| Routing | Copernicus DEM + Geofabrik PBF → valhalla_build_tiles | Valhalla tiles |
Martin čte dvě úložiště (PMTiles + PostGIS); frontend konzumuje tři služby.
| Služba | Účel |
|---|---|
| Martin | Tile server - čte PMTiles (podklad) a PostGIS (overlay + vrstevnice), servíruje vektorové dlaždice a fonty |
| PostGIS | Jedna databáze - overlay vrstvy (trasy, POI) i vrstevnice |
| Valhalla | Routing engine - plánování tras (pěší, kolo, auto), výškový profil |
| MapProxy | Cache leteckých snímků ČÚZK - servíruje ortofoto jako WMS |
| Frontend | nginx + MapLibre GL JS - konzumuje Martin, Valhalla i MapProxy |
Frontend používá nativní ES moduly (type="module") bez bundleru. Jeden entry point app.js; MapLibre GL JS se importuje jako ES modul a servíruje se z této domény, ne z CDN.
Při najetí na POI s Wikidata/Wikipedia odkazem se zobrazí náhled článku.
| Fáze | Popis |
|---|---|
| Debounce | 300 ms zpoždění před fetch požadavkem - zabraňuje zbytečným dotazům při pohybu myši |
| Wikidata API | wbgetentities (sitelinks + labels + claims/P18) → sitelink, label, obrázek |
| Wikipedia API | /api/rest_v1/page/summary/ → shrnutí článku + thumbnail |
| Fallback | Pokud Wikipedia článek neexistuje → Wikidata label + P18 obrázek |
| Cache | In-memory JS Map: wikidataCache (ID → data), summaryCache (lang:title → data) |
| Race condition | Generační čítač (hoverGen) zabraňuje zobrazení zastaralého popupu |
Generováno z POI_DEFS (config.js) + obarveno přes icons.js
| Trasa | Barva | Kód |
|---|
| Typ | Barva | Kód | Interval |
|---|
| Parametr | Hodnota |
|---|---|
| Velikost výstupního obrázku | 32 × 32 px |
| Velikost symbolu (s pozadím) | 16 px (uvnitř kruhu) |
| Velikost symbolu (bez pozadí) | 20 px |
| Poloměr kruhu pozadí | 14 px |
| MapLibre icon-size | 0.8 (globální) |
| Zdroj ikon | openstreetmap-carto (CC0) - frontend/symbols/ |
Styl podkladové mapy + vrstevnice + lanovky. Servírováno přes Martin (PMTiles + PostGIS).
| Data | Zdroj | Licence |
|---|---|---|
| Podkladová mapa + overlay (trasy, POI) | OpenStreetMap (Geofabrik PBF) | ODbL 1.0 |
| Vrstevnice | Copernicus DEM GLO-30 (AWS S3) | Copernicus DEM licence |
| Ortofoto (letecké snímky) | ČÚZK - Ortofoto ČR (WMS) | CC BY 4.0 |
| Fotografie ulic | Panoramax (federativní index, fotografie z jednotlivých instancí) | CC BY-SA 4.0 |
| Polygony oceánů | osmdata.openstreetmap.de | ODbL 1.0 |
| Středové osy jezer | osm-lakelines | ODbL 1.0 |
| Hranice, pobřeží (nízké zoomu) | Natural Earth | Public Domain |
| Ikony | openstreetmap-carto | CC0 |
| Font | Open Sans | Apache 2.0 |
| Nástroj | Účel | Licence |
|---|---|---|
| MapLibre GL JS | Klientský renderer mapy (WebGL) | BSD-3-Clause |
| Martin | Vektorové dlaždice - podkladová mapa (PMTiles) + overlay (PostGIS) + fonty | Apache 2.0 |
| Planetiler | Generování PMTiles z OSM dat | Apache 2.0 |
| osm2pgsql | Import OSM dat do PostGIS (trasy, POI) | GPL-2.0 |
| osmium-tool | Filtrování a slučování PBF souborů | GPL-3.0 |
| GDAL | Zpracování Copernicus DEM (vrstevnice + elevation HGT pro Valhalla) | MIT |
| Valhalla | Routing engine - plánování tras (pěší, kolo, auto), výškový profil tras | MIT |
| MapProxy | Cache leteckých snímků z ČÚZK WMS (ortofoto podklad) | Apache 2.0 |
| PostGIS / PostgreSQL | Prostorová databáze overlay vrstev | GPL-2.0 / PostgreSQL |
| nginx | Webový server a reverzní proxy | BSD-2-Clause |
| Tier | Zoom | Měřítko | Co se zobrazí |
|---|---|---|---|
| Z0 | 0 | Vždy | Terén, voda, hranice, parky, NP/CHKO, města, dálnice |
| Z1 | 7 | Kraj | Hlavní silnice, železnice, transit linky, obce, vodní toky |
| Z2 | 10 | Okres | Důležité POI (vrcholy, hrady, stanice, rozhledny), transit, landuse |
| Z3 | 12 | Obec | Turistické a cyklistické trasy, většina POI, budovy, cesty, vrstevnice, popisky silnic |
| Z4 | 14 | Detail | Drobné POI (lavičky, bariéry, stromy), popisky cest |
Obě služby, ze kterých se mapa vykresluje, mají vlastní stránku s popisem koncových bodů, licencí a limitů.
| Služba | Co poskytuje |
|---|---|
| https://tiler.openmapa.cz | Vektorové dlaždice: podkladová mapa, vrstevnice, overlay vrstvy a PBF fonty. Seznam všech zdrojů vrací její katalog. |
| https://ortofoto.openmapa.cz | Ortofoto ČÚZK jako WMS (mezipaměť před službou úřadu). |
Svislé pruhy znázorňují zoom úrovně, na kterých je vrstva viditelná. Zvýrazněné sloupce = zoom tiery.
Open Mapa · Technická dokumentace