0
我正在使用ArcGIS Runtime .NET Quartz Beta大多边形呈现不正确
我有一个应用程序需要在3D场景视图上渲染大型多边形。
举例来说,我执行此代码:
var ContourOverlayScene = CreateGraphicsOverlay("Contours");
MySceneView.GraphicsOverlays.Add(ContourOverlayScene);
List<MapPoint> combined = new List<MapPoint>();
combined.Add(new MapPoint(-160, 20, wgs84));
combined.Add(new MapPoint(160, 20, wgs84));
combined.Add(new MapPoint(160, -20, wgs84));
combined.Add(new MapPoint(-160, -20, wgs84));
var arcpoly = new Esri.ArcGISRuntime.Geometry.Polygon(combined, wgs84);
ContourOverlayScene.Graphics.Add(new Graphic() { Geometry = arcpoly, Symbol = new SimpleFillSymbol() { Color = Colors.Red } });
给了我这样的结果(我期待将多数的方式在全球范围内的多边形)
所以,我改变它有中间点试图迫使它走遍全球,像这样:
combined.Add(new MapPoint(-160, 20, wgs84));
combined.Add(new MapPoint(-40, 20, wgs84));
combined.Add(new MapPoint(40, 20, wgs84));
combined.Add(new MapPoint(160, 20, wgs84));
combined.Add(new MapPoint(160, -20, wgs84));
combined.Add(new MapPoint(40, -20, wgs84));
combined.Add(new MapPoint(-40, -20, wgs84));
combined.Add(new MapPoint(-160, -20, wgs84));
和生成的图片是完全一样的....
我将如何渲染要渲染的多边形?
您是否尝试过改变点的顺序,使其相反? -160,20 | -160,-20 | 160,-20 | 160,20 –
@SamiKuhmonen是的,它们似乎并不重要,如果他们顺时针或逆时针 –
[This](http://gis.stackexchange.com/questions/18562/how-can-i-make-a -polyline-wrap-around-the-world)似乎相关:“你需要在+ -180度子午线处折断折线”。您可能必须创建2个多边形,一个“左”并停在子午线上,另一个右上并停在子午线上。 – Quantic