mapSTL mapped-tree database modification method v1 — 18 October 2026 © OpenStreetMap contributors, Open Database License 1.0. https://www.openstreetmap.org/copyright https://opendatacommons.org/licenses/odbl/1-0/ This complete modification method is offered free under ODbL section 4.6(b). source-manifest.json identifies the derived Czech and Slovak databases, original Geofabrik PBF URLs, exact input SHA-256 and OSM snapshot timestamp, coverage polygons and resulting file hashes. base-manifest.json identifies the previous packs. No new geographic information from other sources was added. The data snapshot remains 2026-10-12; the transformation was made 2026-10-18. Download build.py.txt, blocks.py.txt, publish.py.txt and add-trees.py.txt, removing the .txt suffix. These files are documentation, not website programs. Use Python 3 with osmium 4.2.0, shapely 2.0.7 and SQLite RTree support. The full build.py method selects map features as in the earlier method-v1, plus nodes with natural=tree. It retains each mapped tree's ID, latitude, longitude and tags, without contributor identities or changeset metadata. Node storage keys are negative to avoid way/relation ID collisions. Other feature and missing-relation processing is documented in the code. Run build.py --source INPUT.osm.pbf --poly INPUT.poly --output OUTPUT.osm-pack --id MANIFEST_ID --name MANIFEST_NAME --country COUNTRY --source-url MANIFEST_SOURCE_URL (The command is one line; use the inputs identified by source-manifest.json.) The published packs used the equivalent incremental method add-trees.py: 1. Verify the original PBF's exact SHA-256 and replication timestamp against the original schema-3 pack. Reject changed source data and already augmented packs. 2. Copy the original database, preserving all blocks, spatial entries, incomplete relations and settlement search records unchanged. 3. Read all natural=tree nodes from the same PBF, keeping ID, lat, lon, tags. 4. Sort them spatially; append gzip blocks of at most 128 nodes / 1 MiB raw, each record containing [lon,lon,lat,lat], TAB, node JSON. Add spatial entries. 5. Update pack ID, feature count, mappedTrees, treePolicy=1, derivedFrom. Keep original provenance and data timestamp; verify SQLite integrity. 6. Publish new filenames and manifest through publish.py; it verifies hashes and computes exact same-snapshot cross-border coverage. The manifest is last. Run add-trees.py --base ORIGINAL.osm-pack --source ORIGINAL.osm.pbf --output NEW.osm-pack --id NEW_ID (The command is one line.) SQLite layout and gzip bytes can vary by library version. The full algorithm and exact source metadata above describe the database content transformation. The base database method remains available in ../method-v1/README.txt. Exported 3D models additionally crop, scale, simplify and reinforce features. Mapped trees are distinguished from illustrative forest trees; unavailable or non-printable details are omitted. These are derived print shapes, not scans. Česky: Úplný postup doplnění jednotlivých stromů natural=tree z původních OSM podkladů ČR a SK. Obsahuje zdroje, kontrolní součty i algoritmus úprav. Datum mapových dat se nemění. Soubory ponechte veřejně dostupné pro uživatele modelů a výtisků; nic z této složky se na hostingu nespouští.