Геокодирование по пересечениям названий дорог - PullRequest
1 голос
/ 13 июня 2019

Я пытаюсь получить координаты для пересечения дорог, аналогично тому, как вы можете набрать '1100 N & 300 W' в Google Maps, но приведена таблица с десятками тысяч пар.Кто-нибудь знает модуль геолокации, который поддерживает этот тип поиска?

Я тестирую геопсию, которая может легко найти одну проезжую часть и даже включает в себя возможность ограничить поиск по области (например, по городу или округу), но после нескольких попыток изменить мою контрольную формулировку перекрестка все еще нельзя выйти за пределы определения местоположения одной дороги.

Я попытался просто изменить названия дорог, чтобы они были более описательными, то есть CR 1100 N и CR 300 W... W CR 1100 N и N CR 300 W, но включение CR фактически выдает ошибку полностью.

Вот что у меня есть до сих пор ...

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="agent", format_string="%s, Madison County, IN")
location = geolocator.geocode("1100 N & 300 W")
print(location.address)
print(location.latitude)
print(location.longitude)

Ирезультаты:

Адрес: север 300 Запад, Андерсон, округ Мэдисон, Индиана, 46011, США

Широта: 40.142406 Долгота: -85.728747

Ожидаемый широта: 40.262935 Ожидаемый лон:-85,728308

1 Ответ

0 голосов
/ 15 июня 2019

Попробуйте: https://geocoder.ca/1100%20N%20&%20300%20W%20ALEXANDRIA,%20IN

Это место на пересечении улиц.(1100 N & 300 W ALEXANDRIA IN) 40.262950, ​​-85.72831

Также как JSON: https://geocoder.ca/1100%20N%20&%20300%20W%20ALEXANDRIA,%20IN?json=1

{"standard": {"staddress": "N & 300", "stnumber":" 1100 "," postal ":" 46063 "," street1 ":" 1100 N "," city ":" Alexandria "," prov ":" IN "," street2 ":" 300 W "," trust":" 0.8 "}," longt ":" -85.728310 "," TimeZone ":" Америка / Индиана / Индианаполис "," AreaCode ":" 765 "," latt ":" 40.262950 "}

...