Record which building a point-only place sits inside - #10
Merged
Merged
Conversation
St. Olaf publishes its dining rooms, its bookstore, its visitor desk and its admissions office as points in the points-of-interest layer rather than as footprints. A consumer asked to frame or highlight one has no area to draw, and zooming to a zero-area bounding box gives it a blank tile at maximum zoom. `parent` gives it a building to fall back to. It is written by hand rather than derived: the source layer names the building in its own label for five of the seven, but matching "Buntrock Commons - Dining" to `bc` is string matching against a mutable field, and point-in-polygon cannot see the Admissions Office, whose point falls inside no footprint at all. verify.py rejects a parent that names no place, names the place itself, or names a place with no footprint to lend.
This was referenced Sep 8, 2026
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.
St. Olaf publishes its dining rooms, its bookstore, its visitor desk and its admissions office in the points-of-interest layer as bare points — they are rooms and counters within a building, not buildings. A consumer asked to frame or highlight one has no area to draw, and zooming to a zero-area bounding box yields a blank tile at maximum zoom.
This adds a
parentproperty naming the building each sits inside, emitted on every place in bothmap.jsonandmap.geojson(null where it does not apply, matching the file's existing promise that a consumer never tests for a missing key).What is set
bc(Buntrock Commons)toh(Tomson Hall)The Windmill, the Wind Chime Memorial and the Electric Vehicle Charger are the other three points in that layer. They are in no building and get no parent.
Why hand-written
The same argument the
idssection already makes. The source layer names the building in its own label for five of the seven — "Buntrock Commons - Dining" — but turning that intobcis string matching against a mutable field, which is how the Skoglund Athletic Center once ended up in a car park. Point-in-polygon agrees with every one it can resolve and contradicts none, but it cannot see the Admissions Office, whose point falls inside no footprint at all, and it would pick arbitrarily between two buildings if footprints ever overlapped.Verification
verify.pygains three checks on eachparent: it must name a place that exists, must not be the place itself, and must name a place that has a footprint — a parent that is itself a point leaves a consumer exactly where it started. Each was confirmed to fire by feeding it a deliberately wrong value before the real ones were written:With the real values,
build.pyandverify.pyboth pass and the only change to the built output is the new key — 128 of 128 features carry it, 7 non-null.Consumer
StoDevX/AAO-React-Native shows a map cutout on a building-hours detail sheet. Six St. Olaf venues key to point-only places and currently draw a blank tan tile; this is what lets that cutout fall back to the enclosing building.