Exemple #1
0
        public void Analyze(IGeometry geometry)
        {
            if ((Control.ModifierKeys & Keys.Control) == Keys.Control)
            {
                if (TempGeometry != null)
                {
                    geometry = geometry.WMerge(TempGeometry);
                }
            }
            else
            {
                this.TempGeometry = null;
            }
            switch (this.dataType)
            {
                case DataType.BusLine:
                    //获取与公交路线相交
                    IFeatureLayer BusLinefeatureLayer = GetFeatureLayer(BusLineName.GetLayer());
                    AnalyzeBase(geometry, SpaceMode.Intersect, BusLinefeatureLayer, "当前区域内公交路线");
                    //获取 包含的公交站点
                    IFeatureLayer BusStopFeatureLayer = GetFeatureLayer(BusStopName.GetLayer());
                    AnalyzeBase(geometry, SpaceMode.Contains, BusStopFeatureLayer, "当前区域内公交站点");
                    break;
                case DataType.Parking:
                    IFeatureLayer ParkingFeatureLayer = GetFeatureLayer(ParkingName.GetLayer());
                    AnalyzeBase(geometry, SpaceMode.Contains, ParkingFeatureLayer, "当前区域内停车设施");
                    break;
            }

            TempGeometry = geometry;
            axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, axMapControl1.ActiveView.Extent);
        }