Проверка точки в полигоне
Вставьте полигон GeoJSON и список координат, чтобы увидеть, какие точки попадают внутрь.
Проверка точки в полигоне работает полностью в браузере. Границы и координаты часто являются чувствительными данными о местоположении и обрабатываются на вашем устройстве.
Открыть просмотрщик GeoJSON
Об инструменте Проверка точки в полигоне
Попадает ли координата внутрь фигуры — вопрос, стоящий за любой геозоной, зоной доставки и зоной охвата, и ошибиться в нём легко и незаметно. Этот инструмент выполняет чётно-нечётный метод луча для каждого полигона документа GeoJSON и относит каждую точку к внутренним, внешним или лежащим ровно на границе. Внутренние кольца ведут себя так, как предписывает спецификация: точка внутри отверстия считается внешней. Координаты можно вводить привычным образом, широта первой, или в порядке GeoJSON, где первой идёт долгота.
Возможности
- Читает Polygon, MultiPolygon, Feature, FeatureCollection и GeometryCollection
- Вычитает отверстия: точка во внутреннем кольце считается внешней
- Точки на границе отмечаются отдельно, допуск настраивается
- Принимает порядок lat/lng и lng/lat, а также WKT POINT и geo:-ссылки
- Проверяет весь список сразу и называет совпавшую фигуру
- Буквы N, S, E и W имеют приоритет над выбранным порядком
- Результаты выгружаются в GeoJSON с вердиктом у каждого объекта
Как использовать Проверка точки в полигоне
- Вставьте полигон или FeatureCollection, относительно которых идёт проверка
- Введите координаты, по одной в строке
- Укажите, что идёт первым: широта или долгота
- Прочитайте вердикт по каждой точке и при необходимости выгрузите GeoJSON
Пример
Ввод
51.5074, -0.1278
Результат
inside — Central London
Каждая точка называет объект, который её содержит, поэтому перекрывающиеся зоны остаются различимыми.
Частые ошибки и устранение неполадок
- Все точки оказались снаружи. — Почти наверняка перепутан порядок координат. GeoJSON хранит долготу первой, а люди пишут первой широту: переключите порядок, и результат перевернётся.
- Точка, которая должна быть внутри, помечена как граничная. — Округлённые координаты падают в волоске от ребра. Увеличьте допуск или используйте полную точность.
- В документе не нашлось ни одного полигона. — Содержать точку могут только геометрии Polygon и MultiPolygon. В слое линий или точек проверять нечего.
- Точка внутри фигуры считается внешней. — Проверьте, не попала ли она в отверстие. Кольца после первого — внутренние, и спецификация считает их вырезанными.
Часто задаваемые вопросы
- Как работает проверка точки в полигоне?
- Из точки пускают луч и считают пересечённые рёбра. Нечётное число означает, что точка внутри, потому что каждое пересечение меняет положение с внутреннего на внешнее.
- Работает ли это с полигонами через антимеридиан?
- Только если полигон уже разрезан на 180 градусах, как требует RFC 7946. Фигура с координатами за ±180 проверяется буквально так, как записана.
- Что происходит с точкой ровно на ребре?
- Она помечается как граничная, а не относится принудительно к одной из сторон, потому что ответ там определяется соглашением, а не геометрией.
- Можно ли проверить сотни координат за раз?
- Да. Каждая строка проверяется по всем полигонам документа, а таблица называет совпавшую фигуру. Всё считается в странице, поэтому длинный список остаётся быстрым.
- Надёжно ли это для целых стран или континентов?
- Проверка идёт на плоскости широты и долготы и точна для вопроса «внутри или снаружи», пока рёбра считаются прямыми в этих координатах — именно это предполагает и сам GeoJSON.
Связанные инструменты
Все инструменты ArrayKit