私は陸橋の初心者です。指定されたzipとパーツを使用して、エリア内のすべての可能な家番号を取得する必要があります。

たとえば、次のすべての家:10178 alex

結果は次のようになります:

Alex-Wedding-Straße, 10178 Berlin Tunnel Alexanderplatz, 10178 Berlin Alexanderplatz, 10178 Berlin Alexanderplatz 1, 10178 Berlin Kleine Alexanderstraße 1, 10178 Berlin Alexanderstraße 1, 10178 Berlin Alexanderplatz 2, 10178 Berlin 

次のクエリを試しましたが、結果が返されませんでした。

area[postal_code=10178][boundary=postal_code]->.a; way(area.a)["highway"~"^(primary|secondary|tertiary|residential|living_street)$"]["name"~"^alex.*"]->.street; ( node["addr:housenumber"](area.street); way["addr:housenumber"](area.street); relation["addr:housenumber"](area.street); ); (._;>;);out; 

何が問題なのですか?

コメント

  • 推測:高架道路は、通りや道を検索するのに有効なエリアと見なさないか、少なくとも十分な大きさではない可能性があります(ちょうど非常に細い線ですか?)利用可能な'のOSMデータに応じて、家番号と通りの名前node["addr:housenumber"]["addr.street"~~"^alex.*"]でフィルタリングできます。
  • "指定されたzipと通りの一部"-したがって、すべてのアドレスがzipコードと通りの名前?
  • @MateuszKonieczny正確ly!
  • " way(area.a)[" highway " "は、通りにエリアがないため、期待どおりに機能しませんでした。 "の周りに"がありますが、近くの通りの住所を取得したり、遠くの住所を取得できなかったりするため、失敗します。

回答

このクエリは、

  • 両方に一致するすべてのアドレスが必要であることを前提としています。郵便番号と通りの名前の指定された部分
  • 大文字と小文字を区別しない方が望ましいです(alexフィルターはAlex、AleXなどにも一致する必要があります)
  • postal_codeタグはborder = postal_code( AFAIKはどこでも当てはまるわけではありません)
  • 住所はaddr:streetタグとaddr:housenumberタグを使用しています
 area[postal_code=10178][boundary=postal_code]->.code; ( node["addr:housenumber"]["addr:street"~"alex",i](area.code); way["addr:housenumber"]["addr:street"~"alex",i](area.code); relation["addr:housenumber"]["addr:street"~"alex",i](area.code); ); (._;>;);out; 

コメント

  • これに似たものをアメリカのストリートで機能させようとしていますが、'そうではないようです。例はありますか?
  • @MichaelLWatson何が機能しておらず、何を試したかを示す新しい質問にリンクしてください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です