Skip to content

形状置換で建物から外れるタグ付きノードを、適用前に知らせる #49

Description

@nyampire

現状

形状置換(#5、開発中)は、Plateau の頂点ごとに新しいノードを作り、way のノード列を差し替える。

置換後に孤立した旧ノードは削除されるが、意味のあるタグを持つノードは削除しない。

if (g.parentWays(node).length === 0 && g.parentRelations(node).length === 0 && !node.hasInterestingTags()) {
  g = g.remove(node);
}

データを失わないための判断だが、そのノードは way から外れるため、建物に属さない単独の点として地図上に残る。マッパーはこれに気づかない。

タグを持たないノードの削除は既に行われているので、そちらの対応は要らない。

頻度

Overpass で、建物の way に属し意味のあるタグを持つノードの数を数えた。

エリア 建物 way 該当する建物 割合
横浜市青葉区 7,548 1 0.01%
横浜市緑区 4,100 3 0.07%
京都市中心部 15,533 47 0.30%
合計 27,181 51 0.19%

タグの内訳は entrance 36、railway 23、wheelchair 15、ref 13、name 12 の順。

市街地でも 0.30% で、実害としては小さい。ただし頻度が低いぶん、起きたときに予期されない。

提案

適用する前に、プレビューの欄で知らせる。

この機能はプレビューを挟む設計なので、「置換を適用」を押す前に判断できる。適用後の通知だと undo するしかなく、uiFlash は数秒で消えるため見落とす。

文言は、何をすればよいかまで書く。

この置換で、タグの付いたノード 1 個が建物から外れます。適用後、必要なら新しい輪郭上のノードと結合してください。

件数の判定は削除条件と同じで、対象の way のノードのうち「他から参照されず、意味のあるタグを持つもの」を数える。置換の action は graph を返すだけなので、数えるのは HeightTransferMode 側になる。

頻度が低いので、検証ルールを新設するような作りにはしない。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions