コード例 #1
0
        private async Task <MapPoint> ShowViewshed(MapView mapView, int featureId)
        {
            MapPoint searchPoint = ((RealtimeFeature)_rtCursor.Current).GetShape() as MapPoint;

            searchPoint = GeometryEngine.Instance.Project(searchPoint, mapView.Map.SpatialReference) as MapPoint;
            var observer = new Camera(searchPoint.X, searchPoint.Y, 200, -22, searchPoint.SpatialReference, CameraViewpoint.LookAt);

            observer.ViewportHeight = 84;
            observer.ViewportWidth  = 134;
            observer.Z     = 100;
            observer.Pitch = 0;
            var viewshedAnalysis = new Viewshed(observer, 45, 60, 10, 600);

            if (_vwDict[featureId] != null)
            {
                await mapView.RemoveExploratoryAnalysis(_vwDict[featureId]);
            }
            _vwDict[featureId] = viewshedAnalysis;
            await mapView.AddExploratoryAnalysis(viewshedAnalysis);

            return(searchPoint);
        }