Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (2)

Лучшие ответы пользователя

Все ответы (2)
  • Где получить координатные границы городов?

    @Sadless74
    Чтобы получит полигоны городов из OpenStreetMap можно воспользоваться overpass-turbo.eu (api сайта заблокирован, используйте VPN)
    Запрос для Московской области:
    [out:xml];
    
    area
      (area.region)
      ["boundary"="administrative"]
      ["name"="Московская область"]
    ->.a;
    
    (
      node
      	(area.a)
      	["place"~"city|town"];
      way
      	(area.a)
      	["place"~"city|town"];>;
      relation
      	(area.a)
      	["place"~"city|town"];>;
    )->.b;
    .b out meta qt;

    Результат можно экспортировать в geojson. Эти данные о полигонах загружать в свою базу и там искать.

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

    Если требуется искать ближайший центр населённого пункта, то есть ответ на похожий вопрос. Это задача поиска ближайшего соседа. Есть готовые архивы с координатами населенных пунктов.
    Ответ написан
    Комментировать