资源简介

本demo中有空间查询功能,相交分析功能(点与区域相交分析),地图编辑功能(可直观的画圆,编辑圆);亮点在于地图编辑功能。 ArcMap的地图编辑,不能更改图元大小,而此例子中给出了更改图元大小的方法。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Geometry;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.Geodatabase;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.ADF.COMSupport;

namespace MapEditing
{
    public class Editor
    {
        private AxMapControl m_MapControl;
        private ilayer m_Selectedlayer;
        private bool m_IsEdited = false;
        private bool m_IsInUse = false;
        private List m_SelectedFeature;
        private IPoint m_CurrentMousePosition;
        private IDisplayFeedback m_FeedBack;
        private IPointCollection m_PointCollection;

        #region 属性
        public AxMapControl EditedMap
        {
            get { return m_MapControl; }
            set { m_MapControl = value; }
        }

        public ilayer Currentlayer
        {
            get { return m_Selectedlayer; }
            set { m_Selectedlayer = value; }
        }

        /// 
        /// 判断是否处以编辑状态
        /// 

        public bool IsEditing
        {
            get { return m_IsEdited; }
        }

        public List SelectedFeature
        {
            get { return m_SelectedFeature; }
        }

        public Editor()
        {
            m_MapControl = null;
            m_Selectedlayer = null;
            m_SelectedFeature = new List();
            m_CurrentMousePosition = null;
            m_FeedBack = null;
            m_PointCollection = null;
        }

        public Editor(AxMapControl editedMap)
        {
            m_MapControl = editedMap;
            m_SelectedFeature = new List();
            m_CurrentMousePosition = null;
            m_FeedBack = null;
            m_PointCollection = null;
        }

        public IGeometry MouseClickGeometry
        {
            get
            {
                if (m_SelectedFeature.Count > 0)
                {
                    return m_SelectedFeature[0].Shape;
                }
                else return null;
            }
        }
        #endregion

        #region MapControl显示控制
        /// 
        /// 设置鼠标样式
        /// 

        /// 
        public void SetMapcontrolMousePointer(esriControlsMousePointer pointer)
        {
            m_MapControl.MousePointer = pointer;
        }

        /// 
        /// 清除要素选择状态,恢复常态
        /// 

        public void ClearSelection()
        {
            m_MapControl.Map.ClearSelection();
            m_MapControl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography m_Selectedlayer null);
            m_MapControl.Refresh();
        }

        /// 
        /// 在要素上面绘制一个可拖拽的符号
        /// 

        /// 
        public void DrawEditSymbol(IGeometry geometry

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      11600  2013-09-29 15:04  SetRegion\SetRegion\bin\Debug\SetRegion.vshost.exe

     文件        490  2010-03-17 22:39  SetRegion\SetRegion\bin\Debug\SetRegion.vshost.exe.manifest

     文件      11600  2013-09-29 15:21  SetRegion\SetRegion\bin\Release\SetRegion.vshost.exe

     文件        490  2010-03-17 22:39  SetRegion\SetRegion\bin\Release\SetRegion.vshost.exe.manifest

     文件      32569  2013-09-28 14:40  SetRegion\SetRegion\Editor.cs

     文件      41122  2013-09-29 15:05  SetRegion\SetRegion\Form1.cs

     文件      14296  2013-09-29 13:20  SetRegion\SetRegion\Form1.Designer.cs

     文件      13497  2013-09-29 10:57  SetRegion\SetRegion\Form1.resx

     文件       5907  2013-09-28 10:21  SetRegion\SetRegion\MapControlEvent.cs

     文件     131225  2013-09-26 08:57  SetRegion\SetRegion\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7700  2013-09-29 15:05  SetRegion\SetRegion\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件       7800  2013-09-29 15:21  SetRegion\SetRegion\obj\x86\Release\DesignTimeResolveAssemblyReferencesInput.cache

     文件        568  2013-09-25 15:36  SetRegion\SetRegion\Program.cs

     文件       1368  2013-09-25 14:51  SetRegion\SetRegion\Properties\AssemblyInfo.cs

     文件       2869  2013-09-25 14:51  SetRegion\SetRegion\Properties\Resources.Designer.cs

     文件       5612  2013-09-25 14:51  SetRegion\SetRegion\Properties\Resources.resx

     文件       1095  2013-09-25 14:51  SetRegion\SetRegion\Properties\Settings.Designer.cs

     文件        249  2013-09-25 14:51  SetRegion\SetRegion\Properties\Settings.settings

     文件       6978  2013-09-28 11:01  SetRegion\SetRegion\SetRegion.csproj

     文件        869  2013-09-25 14:51  SetRegion\SetRegion.sln

    ..A..H.     56832  2013-09-29 14:34  SetRegion\SetRegion.suo

     文件        420  2013-09-29 15:21  SetRegion\使用说明.txt

     目录          0  2013-09-25 14:51  SetRegion\SetRegion\obj\x86\Debug\TempPE

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\obj\x86\Release\TempPE

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\obj\x86\Debug

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\obj\x86\Release

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\bin\Debug

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\bin\Release

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\obj\x86

     目录          0  2013-09-29 15:21  SetRegion\SetRegion\bin

............此处省略133个文件信息

评论

共有 条评论