Repository navigation
Tile parcels and centerlines overview zooms without attributes and log tippecanoe memory - #716
Merged
iandees merged 2 commits intoOct 20, 2026
Conversation
…parcel polygons as label points
iandees
deleted the
fabric-parcels-overview-and-tippecanoe-diagnostics
branch
October 20, 2026 01:01
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The parcels fabric job died with
std::bad_allocinside tippecanoe, about two hours into tiling its 16 shards, on both attempts with tippecanoe 2.79.0: 2026-10-18 with 58GB and 2026-10-19 with 110GB on an r6a.4xlarge. Doubling the memory moved the crash by about 25 minutes, so it is not a limit problem. The job logs didn't say which shard or tile it was on, because tippecanoe's progress output is filtered out.My best guess is the same thing #705 addressed for addresses: parcels are tiled from z8 to z14 with no feature limit and no tile size limit, so a low-zoom tile over a dense area holds millions of polygons in memory. That is a guess; I have not seen the failing tile.
Two commits:
Log tippecanoe memory and last progress every minute, add a label points option (
task/lib/tippecanoe.js)ok - tippecanoe parcels shard 3 overview: rss 41.2GB (peak 43.0GB), last progress: 45.2% 10/164/360. RSS is read from/proc/<pid>/statuson Linux (it saysrss unknownelsewhere, e.g. on a Mac). The next crash will show which shard and zoom it was on and how large it had grown.\r, so stderr is now split on that as well as newlines, and whitespace-only lines are dropped.labelPointsoption (--convert-polygons-to-label-points) and aparseProcStatushelper with tests.Tile parcels and centerlines overview zooms without attributes (
task/fabric.js)DETAIL_ZOOM = 13, shared by addresses, parcels and centerlines. Below it, each layer is tiled under tippecanoe's normal 500K / 200k-feature caps with--drop-densest-as-neededand no attributes, since the low zooms only need to show that data exists. Parcel polygons become label points there. From z13 up, every feature is kept with all its attributes and no limits. Buildings are not on this list and are unchanged.Checked on real data with the real
Tippecanoeclass (overview, detail, then join):That is far smaller than the real run, so it shows the output is right, not that the memory problem is fixed. If the next parcels run still crashes, the new log lines should say where.
This means centerlines now take two passes where they took one; the centerlines tileset is small (2.6GB last run), so I expect little cost.