我有以下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.vividsolutions.jts.geom.Polygon
类中的JSON坐标,如下所示。
还要检查Coordinate(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);
但是我的程序总是给我以下结果,即给定的坐标不在多边形中。
Type =多边形
a)您能否看到pointIsInPolygon
为假的原因。我想念什么吗?
b)我应在此处给出什么坐标,以使pointIsInPolygon
产生true
c)还有其他方法可以解析Polygon中的给定JSON文件并确认坐标是否位于Polygon中吗?