中庭のある建物 (type=multipolygon) をクライアントで 1 棟として扱う - #46
Merged
Conversation
utilBuildingRelationInfo does not guarantee a multipolygon+building relation has an inner member. If one arrived with zero, the info line would read "a building with 0 courtyards". Hide the line in that case instead of printing the nonsense count. isCourtyard still only depends on relationType, not partCount, so the "Add Only This Feature" suppression (the safety-critical part, since multipolygon member ways carry no tags) is unaffected.
…guard The test gave member ways no tags, matching real data, but that also made osmWay#isArea() reject them as non-area regardless of the memberWayIDs exclusion in _plateauRenderables. The assertion passed even with the guard deleted. Tag the member ways in this one fixture so the guard is genuinely under test; every other fixture in the file stays untagged. Also correct the spec's description of the pre-fix symptom: reading the pre-change PixiLayerRapid.js shows the Plateau branch only ever assigned data.polygons, and untagged outer/inner ways never reached it (geometry() returns 'line', not 'area'), so a courtyard building was not drawn at all rather than appearing as "a building inside a building". Also note in the spec that the member-way exclusion is kept as an explicit invariant, not because member ways happen to be untagged today.
nyampire
added a commit
that referenced
this pull request
Aug 11, 2026
PR #46 でマージしたコードが参照する 3 キーが core.en.json に無く、 中庭の建物を選ぶと "Missing translation" が出る状態だった。 - rapid_inspector.option_accept_entire_courtyard_building - rapid_inspector.courtyard_building_info - rapid_inspector.courtyard_building_selected_info
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.
なぜ必要か
API が中庭のある建物を
type=multipolygonの relation で返すようになった (rapid_plateau_api #47、2026-08-11 本番反映)。クライアントが特別扱いしているのは
type=buildingだけで、multipolygonは素通りしていた。メンバー way はタグを持たないため、個別に判定すると穴が単独の建物として扱われる。
変更
type=multipolygonを 1 単位として扱う (外形の役割はouter、穴がinner)設計と実装計画は
docs/に各機能ぶん置いてある。test
unit 1209 passed、browser 751 completed / 5 skipped。