Java GeoJSON:检查地理坐标是否在多边形内

Java GeoJSON:检查地理坐标是否在多边形内,java,geometry,geojson,geotools,point-in-polygon,Java,Geometry,Geojson,Geotools,Point In Polygon,我有以下GeoJSON数据文件,其中包含一个带坐标的多边形 [ { "geometry": { "type": "Polygon", "coordinates": [ [ [ 9.137248, 48.790411 ], [ 9.137248, 48.790263

我有以下GeoJSON数据文件,其中包含一个带坐标的多边形

[
    {
        "geometry": {
        "type": "Polygon",
        "coordinates": 
[
        [
          [
            9.137248,
            48.790411
          ],
          [
            9.137248,
            48.790263
          ],
          [
            9.13695,
            48.790263
          ],
          [
            9.137248,
            48.790411
          ]
        ]
      ]
    }
    }
  ]
org.geotools.geojson.geom.GeometryJSON
的帮助下,我正在解析
com.livitsolutions.jts.geom.Polygon
类中的JSON坐标,如下所示。 并检查
坐标(9.13710,48.790360)
是否在该多边形内

GeometryJSON g = new GeometryJSON();
         com.vividsolutions.jts.geom.Polygon polygon = g.readPolygon(new File(fileLocation));
         System.out.println("Type="+polygon.getGeometryType());

         GeometryFactory gf = new GeometryFactory();
         boolean pointIsInPolygon = polygon.contains(gf.createPoint(new Coordinate(9.13710, 48.790360)));
         System.out.println("Point is in polygon="+pointIsInPolygon);
但我的程序总是给出以下结果,即给定的坐标不在多边形中

结果 类型=多边形

点位于多边形中=false a) 你能明白为什么
点隐多边形
为假吗。我错过什么了吗

b) 我应该在这里给出什么样的坐标,使
点为多边形
结果为


c)是否有其他方法来解析多边形中的给定JSON文件,并确认坐标是否位于多边形中?

您的点位于多边形之外,因此结果是正确的。如果将红点更改为
gf.createPoint(新坐标(9.13716433655009652,48.79030985534630815)),则红点就是您的(绿色点)返回true


您的点位于多边形之外,因此结果是正确的。如果将红点更改为
gf.createPoint(新坐标(9.13716433655009652,48.79030985534630815)),则红点就是您的(绿色点)返回true