Создание наложений улиц из данных карт Google или других API-интерфейсов карт - PullRequest
3 голосов
/ 16 августа 2010

У меня следующий вопрос: как я могу захватить «блоки» в городе для использования в игре? (А затем отобразить их заштрихованными в определенном цвете?)

Моя общая идея - использовать в игре реальные блоки вашего города, которыми вы можете владеть / продавать.

Я хочу отобразить принадлежащие вам области в виде наложений полигонов на картах Google.

Являются ли карты Google более эффективными или другие API, такие как OpenStreetMap и т. Д., Более полезны для этого?

Были бы полезны любые указатели, такие как общие алгоритмы того, какие данные собирать и как из них создавать «блоки», или вызовы API, которые могли бы вернуть для меня многоугольник уровня блока / дома.

Ответы [ 2 ]

1 голос
/ 16 августа 2010

Звучит тяжело, в основном потому, что вам будет трудно последовательно определить, что такое блок - одна сторона одной улицы или прямоугольник, окруженный четырьмя улицами? Что если это не прямоугольник? И т.д.

Данные OpenStreetMap - это, вероятно, ваш лучший выбор, поскольку вы действительно можете загрузить данные - через Экспорт OSM или Извлечение из облака по регионам.

Вы можете рассмотреть другой подход (т. Е. Позволить пользователям определять свои собственные полигоны) или разрешить пользователям владеть улицами (что было бы проще сделать с данными OSM).

Существуют также коммерчески доступные наборы данных участков, которые предоставят вам вид города на уровне собственности. Это может быть очень дорого.

0 голосов
/ 12 сентября 2016

Мне недавно пришлось столкнуться с этой проблемой. В итоге я создал библиотеку в target-c, которая в основном анализирует комбинацию уличных данных OSM и данных о занимаемой площади здания OSM, чтобы выяснить концепцию «блока», где понятие «блок» представляет собой многоугольную область, которая имеет здания внутри него и который имеет многоугольник пересекающихся улиц, окружающих его. Он не работает для всех ситуаций (например, для блоков без данных о занимаемой площади зданий), но для городов он хорошо работает при определении блоков.

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

...