Python Google Map API предоставляет OSM_type, который не соответствует документации - PullRequest
0 голосов
/ 05 июня 2018

Я использовал Google Map API для извлечения адресной информации для координат широты и долготы из Python.Как показано в коде ниже, есть атрибут osm_type, который, как я считаю, является «открытым типом карт улиц».Но когда я ищу в Google документацию, я нахожу только «type», и все списки, которые я нахожу, не включают «way» в качестве одного из ожидаемых ответов для type.Кто-нибудь знает, где я могу получить список типов, которые действительны для osm_type?

Код:

from geopy.geocoders import Nominatim
geolocator = Nominatim()
from geopy.exc import GeocoderTimedOut
import time

lat = 43.2335233435383   
lon = -70.9108497973799
location = geolocator.reverse(str(lat) + ", " + str(lon), timeout=10)
print(location.raw)

Выход:

{'address': {'city': 'Dover',
  'country': 'United States of America',
  'country_code': 'us',
  'county': 'Strafford County',
  'house_number': '155',
  'postcode': '03820',
  'road': 'Long Hill Road',
  'state': 'New Hampshire'},
 'boundingbox': ['43.233423343538',
  '43.233623343538',
  '-70.91094979738',
  '-70.91074979738'],
 'display_name': '155, Long Hill Road, Dover, Strafford County, New Hampshire, 03820, United States of America',
 'lat': '43.2335233435383',
 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',
 'lon': '-70.9108497973799',
 'osm_id': '18868744',
 'osm_type': 'way',
 'place_id': '201786637'}

1 Ответ

0 голосов
/ 05 июня 2018

Насколько я могу судить, конкретный код, который вы используете, не поддерживает возврат type.Однако, выполнив несколько выборочных проверок с вашим кодом, введя другие широты и долготы, я обнаружил, что McDonalds в Нью-Йорке произвел osm_type «узла» вместо «пути» и «путь» встречается очень часто.Я получил "узел" с: Latitude = 40.730949, Longitude = -74.001083.

Если вместо проверки документации по Google Maps вы посмотрите Открыть документацию по Street Street * , вы увидите, что это полескорее всего, определяет тип данных, а не тип адреса.Эти типы определяются указанным URL:

  • узел
  • путь
  • отношение

Это должно ответить на то, что означает "путь"для вас в этом контексте.

Для доступа к типу , определенному для API Карт Google, вероятно, потребуется другой фрагмент кода (если это возможно).Команда, которую вы используете, по-видимому, не имеет этого поля в своих выходных данных.

Эта страница в местоположении ищет , может показаться, что "тип" - это поле, используемое в поиске местоположениясузить то, что вы ищете.Эти типы не являются частью вызова API, который вы используете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...