Точка в OpenGIS Polygon
У меня есть заданный opengis-Polygon (org.opengis.geometry.coordinate.Polygon), и мне нужен метод, чтобы определить, находится ли данная точка в пределах области, которую охватывает этот Polygon. До сих пор я использовал: polygon.getBoundary().getMbRegion().contains(point)
, Это прекрасно работает, пока полигон не "наклонен", потому что он проверяет максимальные и минимальные широты и долготы и сравнивает их с координатами точки. polygon.getSurface()
который я бы использовал интуитивно возвращает ноль для меня и polygon.getBoundary()
иначе просто дает мне доступ к точкам на границе многоугольника. Еще одна вещь, о которой я подумал, это реализовать алгоритм каста Ray. Но для реализации этого я еще не нашел возможности создавать лучи в opengis/GeoTools.
Спасибо за любые ответы заранее!
1 ответ
Ладно, для тех, кто снова сталкивается с этой проблемой, я решил проблему, реализовав алгоритм, предложенный в этом ответе.