カナダ向けの逆ジオコーダーを開発しています。これまでのところ、緯度/経度を指定すると、最寄りの道路(ラインセグメント)を見つけることができます。これには、ラインセグメントの方向と、ストリートの両側の住所範囲が含まれます。私は現在、プログラムで最も近い家の番号を指定された緯度/経度のポイントに概算するための最良の方法を見つけようとしています。
以下は、ストリートデータを含む行の例です。
-[ RECORD 1 ]-
[...]
l_adddirfg | Same Direction
l_hnumf | 3219
l_hnuml | 3235
l_stname_c | Breen Road North-west
r_adddirfg | Same Direction
r_hnumf | 3224
r_hnuml | 3236
r_stname_c | Breen Road North-west
the_geom | 0105000020E610000001000000010200000002000000B0F6990E78885CC088DF2B5F3C8C49400875B39A89885CC0A0BCA6AC4B8C4940
したがって、「the_geom」ラインセグメントの近くにある緯度/経度の座標が与えられた場合、人は、ポイントが道路のどちら側にあるか(左側または右側)と、セグメントに沿った距離を視覚的に確認できます。家番号を概算します。たとえば、ポイントが通りの4分の3右側にある場合、フィールドr_hnumf(右側、最初の番号)とr_hnuml(右側、最後の番号)を使用します...住所はおそらく近いですに:
3232 Breen Road North-west
私が探しているのは、これをPostGIS(これは初めてです)で計算/近似するか、または行がフェッチされた後のアプリケーションレイヤーでのベストプラクティスです。
ありがとう!