ガイド

部屋番号や号室を含む住所をジオコーディングする

番地に部屋番号が付いているのは多くの実際の住所ではごく普通のことです。リクエストを送る前にそれを取り除くのはよくある習慣ですが、必要ありません。取り除くよりも、ジオコーディングの検索がそれをどう扱うかを理解しておく価値があります。

住所をすべて送る

部屋番号やユニット番号は、住所のほかの部分と同じように、自由記述のクエリの一部として含めてください。

GET /v1/forward?q=Apt 4B, 350 Fifth Avenue, New York&limit=1
{
  "status": "ok",
  "query": "Apt 4B, 350 Fifth Avenue, New York",
  "results": [
    {
      "formatted": "350 Fifth Avenue, New York, NY",
      "lat": 40.7484,
      "lon": -73.9857,
      "type": "address",
      "precision": "house",
      "confidence": 0.95,
      "place_id": "es234",
      "components": {"house_number": "350", "street": "Fifth Avenue", "city": "New York", "region": "NY", "country": "US"}
    }
  ]
}

部屋番号が座標に表れない理由

ジオコーディングの検索で得られる座標は建物を特定するものであり、その中の特定の部屋を特定するものではありません。個々の部屋には、建物のように独立した地図上の位置がないからです。住所の部屋番号やユニット番号の部分によってlatとlonの値が変わることは想定されておらず、それがcomponentsオブジェクトに含まれないことも想定どおりです。入力が無視されたり、誤って処理されたりしたわけではありません。

2つ目の例:商業ビルのスイート番号

スイート番号や階数を含む事業所の住所でも、同じパターンが当てはまります。

GET /v1/forward?q=Suite 200, 1 Example Plaza, Chicago&limit=1

何十もの事業者が入居する大きなオフィスビルでも、クエリでどのスイートを指定したかにかかわらず、集合住宅とまったく同じように、ジオコーディング結果は建物の座標1組になります。その建物内で入居者同士を区別する情報は、座標ではなく、お客様自身のレコードに保持する必要があります。

避けるべきよくある間違い

部屋番号の構成要素がないことを補おうとして、後から郵便番号やほかの構成要素のフィールドに自分で付け足さないでください。たとえば郵便番号を「20500 Apt 4B」のように書くことです。これを行うと、お客様自身の検証処理や後続の住所検索を含むほかのシステムが、実際の郵便番号だけが入っていると想定しているフィールドを壊してしまいます。部屋番号は、ジオコーディングで得たどの構成要素とも完全に切り離し、専用のフィールドに保持してください。

部屋番号を別に保存する

ジオコーディングする住所の文字列に毎回部屋番号を含めるのではなく、ジオコーディング済みの建物の住所と並べて、お客様自身のデータモデルに専用のフィールドとして保存してください。そうすれば、ジオコーディングのリクエストは結果に実際に影響する建物の位置に集中させつつ、配送ラベルや社内記録のために部屋番号の情報も残しておけます。

配送で重要になる場合

部屋番号は座標にはまったく関係しませんが、宅配業者や郵便サービスが実際に配達するには必要です。ジオコーディングで得た建物の座標と、別に保存した部屋番号の両方を最終的な配送レコードにまとめて保持し、途中で何も失われないようにしてください。

知っておきたいエッジケース

1つの建物の住所には多数の住人や入居者が暮らしていることがあり、全員が同じ座標と同じ郵便番号の検索結果を共有します。郵便番号の照合ガイドで取り上げているように、顧客の郵便番号をジオコーディングした住所と照合している場合は、部屋と建物のこの多対一の関係は想定どおりのものであり、それ自体がデータの問題を示すわけではないことを覚えておいてください。

費用は変わりません

住所に部屋番号やユニット番号が含まれているかどうかにかかわらず、検索の費用はほかのジオコーディングの呼び出しと同じく1件のリクエストです。

クエリに部屋番号を含めても問題はなく、正確なジオコーディングのために取り除く必要もありません。ただし、後で専用のフィールドに分けて保存すれば、データをよりきれいに保てます。構成要素の完全な一覧はジオコーディングのドキュメントをご覧ください。