Можно ли определить, находится ли точка GeoJSON внутри многоугольника GeoJSON с помощью JavasScript?
можно ли определить,находится ли точка GeoJSON в заданном lat, lon в заданном многоугольнике GeoJSON, используя только JavaScript (либо через d3, topojson, либо любым другим способом)?
например, я могу нарисовать карту с указанием стран, в Великобритании на основе учебника здесь.
тогда у меня есть некоторые точки, которые имеют координаты, но не указывают, в какой стране они находятся.
Я хотел бы отобразить общее количество точек для каждая страна.
могу ли я определить, какая страна содержит каждую точку в браузере, или мне нужно предварительно обработать данные моей точки на сервере с помощью PostGIS или аналогичного?
2 ответов
Кажется d3
вы покрыли:https://github.com/d3/d3-geo#geoContains
d3.geoContains(объект, точка)
возвращает true, если и только если указанный объект GeoJSON содержит указанную точку, или false, если объект не содержит точку. Точка должна быть указана как двухэлементный массив [долгота, широта]в градусах. Для точечной и многоточечной геометрии используется точный тест; для сферы true всегда возвращено; для других геометрий применяется порог Эпсилона.
расширения @thedude ответ вы также можете использовать geojson-поиск если вам нужно сделать эту проверку более одного раза на данном формате.