Открыть карты улиц или Google API для извлечения всех местоположений домов в городе?

#google-maps #google-maps-api-3 #geocoding #openstreetmap

#google-карты #google-maps-api-3 #геокодирование #openstreetmap

Вопрос:

Я работаю над отображением города, подобного представленному в реальном мире. Итак, как мне отобразить точное местоположение домов и других ключевых зданий ?. Должен ли я работать с обратным геокодированием, предоставляемым Google, или извлекать и обрабатывать необработанную информацию из OSM.

Комментарии:

1. Насколько точной должна быть ваша карта?

2. Вы можете использовать Overpass API для извлечения объектов, помеченных как здания , и аналогичной информации.

3. @Manuel — Чем точнее, тем лучше. Позвольте мне перефразировать это настолько точно, насколько это возможно.

Ответ №1:

Вы не можете сделать это с помощью API геокодирования Google Maps, не нарушая условия использования, в соответствии с главой 10.5 Ограничения на интеллектуальную собственность, параграфы (c) и (e). Это решение очень точное, но, к сожалению, нет возможности использовать его внутри приложения Google Maps.

Второй способ — сделать это с помощью OpenStreetMap. Но будьте осторожны! OSM — это добровольно созданная географическая карта / база данных, без гарантии получения полных данных. В известном городе проблем не будет! Но если вы хотите получить дома в маленькой деревне в Хамалае, вы не найдете домов / данных. Но самый простой способ получить данные OSM — это использовать overpass API. Вы также можете использовать API overpass через пользовательский интерфейс overpass turbo. Overpass turbo должен быть вашим выбором, потому что там вы можете указать существующие дома / данные параллельно на карте.

С помощью этого фрагмента вы получаете все здания внутри полигона:

 way(poly:"50.7 7.1 50.7 7.2 50.75 7.15")["building"];
(._;>;);
out body;