Repository navigation
freemapper v0.15.0
Added
- New template local relief (
templates/relief.png, layerrelief): the terrain model minus its smoothed mean. Banks, mounds, hollows and ditches stand out light or dark; the general fall of the ground disappears. It is hidden in the map and can be switched on in OOM. - New candidates from the terrain model (ADR 0104): small knolls (109), small elongated knolls (110), small depressions (111), earth banks (104) and, from 3 m high, impassable cliffs (201). They show what the contours of sprint and schoolyard maps miss: play mounds, sledging hills, hollows, terrace edges. A knoll has to be at least 1 m high on a sprint map and 0.5 m on a schoolyard map, and narrow enough that the contours do not show it already. The ticks of banks point down. None are made at buildings, in water or next to walls, fences and banks already drawn. All of them are candidates to be checked in the terrain (all of them belong to the new group
landforms, banks and cliffs too;fullor--content-set landforms=mapputs them on the map, whileslopes=mapstill takes only the banks of ALKIS and OSM); the DGM1 often misses walls narrower than a metre. Knolls and depressions do not come on residential, mixed, commercial and traffic land or in allotments, depressions not within 8 m of a building; cliffs along streets and buildings are offered as impassable walls (515), and bent steps are split into pieces that follow them.derivewrites them todata/landforms.geojson. The ideas come from karttapullautin and omapmaker; the code is written anew. - Vegetation from laser point clouds (ADR 0105), in Brandenburg and North Rhine-Westphalia: open land (401), runnable forest (405), the green shades 406, 408 and 410, and undergrowth (407, 409) as candidates. The new content group
vegetationis off in every profile;--content-set vegetation=candidates(or=map, or the area page) makesfetchload the classified point clouds of LGB or Geobasis NRW for the map area into the shared cache, about 160 MB per square kilometre tile in Brandenburg and mostly 50 to 165 MB in North Rhine-Westphalia (each NRW file is checked against the size its index gives), which the download estimate and the disk check count. They are the first part left out when the disk is short, and a failing download keeps the cached tiles.derivewritesdata/vegetation.geojson, leaving out synthetic fill points, cellar points and bridges, the returns at buildings and the cells whose high returns are mostly single echoes (roofs, also those the cadastre no longer has); the export cuts the areas at buildings, water and paved areas and, where the map already has a park or wood of the same symbol, shows only the part that differs. Checked on Sanssouci and the Volksgarten in Cologne.
Changed
- Internal: the tests run faster. The dependencies are fully optimized in the development build too (built once, then cached); our own crates stay unoptimized. In CI the
checkjob drops from 8 to 10 minutes to 5.5 to 7, the golden net from 2 to 3 minutes to 1 to 2 per system; the outputs of the golden net stayed byte-equal. CI writes line numbers only as debug information, and a newer push to a pull request cancels its older run. The first debug build after updating compiles the dependencies once more; the release build does not change. - All twelve examples are rebuilt with the default profile
balanced. Ten of them predated the content profiles; now contours, paths, stairs, walls and trees are on their maps, and the candidates are mostly out-of-bounds areas, control sites and earth banks. The comparison page shows one area, Cochem, in the three profilessafe,balancedandfull, with a PDF each. The numbers in the examples overview and the manual are counted again. - MCP: what the server finds wrong with the person's adapter folders at its start (a folder left out, or one that loads with a caveat) now comes once as a note with the first tool result. Before, it went to stderr only, which neither the agent nor the person sees.
- MCP:
preview_layerwith the layermapshows the image of the map objects that the last run wrote next to the map (without the candidates). Before the first run the message namesfreemapper exportorrun. - Two adapters share ground when their common area is more than a hundredth of the smaller region. Before, one inner point of each was tested, so an adapter that reached a third of the way into a state went unnoticed.
adapters list,adapters checkand the warning about the adapters of a project use the new measure. All three now name the regions by name, not by id; the JSON ofadapters listkeeps the ids. - The message about an adapter the program does not have says that a newer freemapper may bring it.
- The message about a redirect freemapper does not follow starts with the refused address and then names, in brackets, the address that redirects there. Before, the address that was asked came first and was called "this address".
- The example Treppenviertel Blankenese is rebuilt with the default profile
balanced: contours, paths and 110 stairs from OpenStreetMap are on the map now (1780 map objects, 755 candidates). The comparison page says which examples were made before the content profiles and gives the measurements for Blankenese and Saarlouis. - Internal: after the adapter work the golden net still records four states (Brandenburg, Berlin, Saxony-Anhalt, Hesse), one of each kind of fetch; the layers that need no recording still check all eleven states that were program code before the rework (Saarland has tests of its own). The fixture store of the tests shrinks from 206 to 79 MB.
Fixed
- Map preview: when the area page is open in two tabs and both change a setting shortly after each other, the overtaken tab no longer shows "A newer preview was asked for meanwhile". It asks again and gets the image of its own settings.
- MCP:
list_layerslists the K5 template only for projects whose area touches Berlin, or when its file is in the folder. Before, every project listed it, and outside Berlin it never got ready. - Saarland: a district archive that cannot be read (renamed, or its server down for a moment) no longer stops the fetch when the tiles of the area are in other archives. When an archive is down, its directory from the last run is used; maps whose tiles are in the cache already are still made. A warning with the address of the archive says so in both cases. A cancel, an address freemapper does not ask and a write error on this computer still stop the fetch at once.
- A folder in the adapter folder whose name starts with a dot (
.git) no longer causes a warning on every command. - A pre-release version of the program (
x.y.z-rc.1) no longer aborts while loading the adapters; it counts as its release. - An estimate with nothing left to download says 0 MB, not
-0.0(estimate_downloadof the MCP server). - In the release archive the links of the READMEs to the examples, the ADRs and the design led nowhere. They now point to the repository.
Download the archive for your system, unpack it and start freemapper
(Windows: freemapper.exe) from a terminal or register it with your AI assistant.
Installation and first steps: see README.md (Deutsch) / README.en.md (English) in the
archive or https://github.com/HenryJobst/freemapper#readme
- Windows: freemapper-v0.15.0-windows-x86_64.zip
- macOS Apple Silicon (M1 and newer): freemapper-v0.15.0-macos-arm64.tar.gz
- macOS Intel: freemapper-v0.15.0-macos-x86_64.tar.gz
- Linux: freemapper-v0.15.0-linux-x86_64.tar.gz (ARM: linux-arm64)
The .gz files and freemapper-update.json with its signature are for freemapper update.
What's Changed
- Examples: Blankenese rebuilt with its stairs; comparison page updated by @HenryJobst in #51
- Golden net: four recorded states, fixture store version 2 by @HenryJobst in #49
- Adapters: shared ground by area, sturdier Saarland archives, small ends by @HenryJobst in #50
- fix(select): an overtaken live preview asks again instead of showing the 409 by @HenryJobst in #52
- feat(mcp): map preview layer, K5 only in Berlin, adapter warnings for the agent by @HenryJobst in #53
- Small follow-ups of the adapter work: names in check and list, redirect message, zero estimate, docs by @HenryJobst in #54
- ci: faster test runs (optimized dependencies, lighter debug info) by @HenryJobst in #55
Full Changelog: v0.14.0...v0.15.0