嘿,人们这将是我的第一个问题,所以不要打我太重!
在我已经添加多边形之前,但交叉点有点复杂。
预定义我的意思是例如两个其他多边形的交点坐标。我正在计算多边形交叉点的面积,但我也想突出显示该区域。谢谢
你需要两个步骤:
计算交点:来自 2 个多边形的多边形。我会为此使用JTS,您需要在 JTS 对象中提供数据。
突出显示地图视图上的交叉点(例如 nutiteq)。您可以将生成的多边形作为一个几何元素添加到几何图层中,就像任何其他多边形一样。使用特殊样式使其看起来与众不同。您需要将 JTS 多边形转换为 Nutieq 多边形对象才能在地图上显示它
ArrayList<MapPos> keslist = new ArrayList<MapPos>();
for (int i = 0; i < sonuc.getNumPoints(); i++) {
double lon = sonuc.getX(i);
double lat = sonuc.getY(i);
MapPos mPos = new MapPos(lon, lat);
keslist.add(mPos);
}
PolygonStyle polygonStyle = PolygonStyle.builder().setColor(Color.GREEN).build();
StyleSet<PolygonStyle> polygonStyleSet = new StyleSet<PolygonStyle>(null);
polygonStyleSet.setZoomStyle(10, polygonStyle);
Polygon KesisimPol = new Polygon(keslist, new DefaultLabel("Kesişim"), polygonStyleSet, null);
GeometryLayer geomLayer = new GeometryLayer(mapView.getLayers().getBaseLayer().getProjection());
mapView.getLayers().addLayer(geomLayer);
geomLayer.add(KesisimPol);
}
这是我的解决方案。我试过它有效。现在我正在尝试将这个新多边形添加到可编辑对象层。因为我不能在另一个相交过程中使用结果多边形。
我希望这对其他人有所帮助。