@den234624234642

Как определить вхождение координат в интересующий полигон OpenStreetMap OSM?

Добрый день!
Помогите мыслью!

1. У меня есть база данных с городами в ближайшей области. В базе есть координаты этих городов. У каких то городов есть координаты в виде полигонов, у каких то просто точка (полигонов нет).
2. Есть полигон с зоной доставки.

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

Городов может быть под тысячу. И полигонов доставки тоже много. Речь о доставке от точек выдачи товара и соответственно каждому крупному городу будет своя база с близлежащими городами и в каждом таком городе будет своя/свои зоны доставок.

Координаты в базе будут записаны примерно так - скорее всего отделены сами координаты от типа.
geojson='{"type":"Polygon","coordinates":[[[38.1985294,55.4073349],[38.198862,55.4068537],[38.1994716,55.4055054],[38.1996559,55.4048253],[38.1997417,55.40474],[38.2006751,55.4047278],[38.2016515,55.4049654],[38.2014634,55.4057021],[38.2025811,55.4056548],[38.2045338,55.405984],[38.2039045,55.4068781],[38.2011687,55.4084618],[38.1997954,55.4081938],[38.1985294,55.4073349]]]}

И зона/зоны доставок будут сохранены примерно так же в отдельной таблице.
Задача - получить значение true или false в колонке с доставкой напротив каждого города. True даже если просто частично "зацепило" зону города зоной доставки. (Дальше будем отдельно думать).
Зоны доставок будут, конечно же меняться, но это не ежедневно.

Помогите порядком/логикой действий в этом случае!
Спаисбо!

5d64e55d6c62f366782028.jpeg
  • Вопрос задан
  • 372 просмотра
Решения вопроса 1
Moskus
@Moskus
Используйте БД, которая умеет работать с пространственными данными (PostgreSQL, SpatiaLite) и используйте соответствующие пространственные расширения SQL. Хранить данные в GeoJSON - не надо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Простой ответ - держать свои полигоны в базе данных с пространственным расширением. Она вам и подскажет кто куда попадет, а то и вовсе маршрут проложить сможет.
Ну либо сами пишите велосипед с пространственными индексами и проверкой вхождения точки в полигон.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы