Я использую ArcGIS времени выполнения .NET Quartz BetaБольшой Polygon делает неправильно
У меня есть приложение, которое необходимо для визуализации больших полигонов на 3D Scene View.
Например, я выполняю этот код:
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