嘿,人們這將是我的第一個問題,所以不要打我太難!如何在Nutiteq上的交點座標上繪製多邊形?
在我已經添加多邊形之前,但交點有點複雜。具有預定義的i意味着例如兩個其他多邊形的交點座標。我正在計算多邊形交集的面積,但我也想突出顯示該區域。由於
嘿,人們這將是我的第一個問題,所以不要打我太難!如何在Nutiteq上的交點座標上繪製多邊形?
在我已經添加多邊形之前,但交點有點複雜。具有預定義的i意味着例如兩個其他多邊形的交點座標。我正在計算多邊形交集的面積,但我也想突出顯示該區域。由於
您將需要兩個步驟:從2個多邊形的多邊形:
一)計算交集。我會使用JTS,你需要在JTS對象中提供數據。
b)突出顯示mapview上的交叉點(例如nutiteq)。您可以將生成的多邊形作爲一個幾何元素添加到幾何圖層中,就像其他多邊形一樣。使用特殊的造型使其看起來不同。您需要將JTS多邊形轉換爲Nutiteq多邊形對象以在地圖上顯示它
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);
}
這是我的解決方案。我試過它的作品。現在我試圖將這個新的多邊形添加到可編輯的對象層。因爲我不能在另一個交點過程中使用結果多邊形。
我希望這會幫助其他人。
嗨@JaakL感謝您的解釋。但我仍然有轉換問題。我正在使用General Polygon Clipper庫。我能夠擁有交叉區域,但問題是將此區域轉換爲nutiteq多邊形。這裏是[code](http://i.imgur.com/tO7gvec.png)的截圖如果你能弄清楚什麼是問題,請讓我知道。 – bukowski 2014-10-25 10:08:46