Tôi đang phát triển một trình mã hóa địa lý ngược cho Canada. Cho đến nay, với một lat / lng, tôi có thể tìm thấy đường phố gần nhất (đoạn đường), bao gồm hướng phân khúc đường và phạm vi địa chỉ cho cả hai bên đường. Bây giờ tôi đang cố gắng tìm ra cách tốt nhất để lập trình gần đúng số nhà gần nhất với điểm lat / lng đã cho.
Đây là một ví dụ về một hàng chứa dữ liệu đường phố:
-[ 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
Vì vậy, với tọa độ lat / lng nằm gần đoạn đường "the_geom", một người có thể biết trực quan điểm nào của đường nằm trên (bên trái hoặc bên phải) và khoảng cách dọc theo đoạn đó - qua đó xấp xỉ một số nhà. Ví dụ: nếu điểm nằm ở phía bên phải, ba phần tư xuống phố, tôi sẽ sử dụng các trường r_hnumf (bên phải, số đầu tiên) và r_hnuml (bên phải, số cuối) ... Địa chỉ đường có thể gần đến:
3232 Breen Road North-west
Những gì tôi đang tìm kiếm là một cách thực hành tốt nhất trong việc tính toán / xấp xỉ điều này trong PostGIS (mà tôi mới biết) hoặc trong lớp ứng dụng một khi hàng được tìm nạp.
Cảm ơn!