Ejemplo n.º 1
0
        /// <summary>
        /// 通过用Gp实现通视分析
        /// </summary>
        /// <param name="observer_features"></param>
        /// <param name="in_raster"></param>
        /// <param name="out_raster"></param>
        /// <param name="curvature"></param>
        /// <param name="zFactor"></param>
        public void ViewshedAnalyseGP(string observer_features, string in_raster, string out_raster, string curvature, double zFactor)  // 张琪  20110611
        {
            Viewshed pViewshed = new Viewshed();

            pViewshed.in_observer_features = observer_features;
            pViewshed.in_raster            = in_raster;
            pViewshed.out_raster           = out_raster;
            pViewshed.z_factor             = zFactor;
            pViewshed.curvature_correction = curvature;
            Geoprocessor gp = new Geoprocessor();

            gp.OverwriteOutput = true;

            if (!RunTool(gp, pViewshed))
            {
                return;
            }

            return;
        }
Ejemplo n.º 2
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);
        }