文档详情

AE二次开发缓冲区分析详细步骤.pdf

发布:2017-04-08约6.24千字共8页下载文档
文本预览下载声明
缓冲区分析实现 11地理 2 吴秀春 2014年 5月 15日 1、添加 form窗体,添加 2个 groupbox控件,3个 textbox控件,2个 combobox控件,3个 button控件,3个 label控件。控件名称以及 text属性需要修改,在下面的表里面。 具体控件 name和 text属性如下:(如果为空则意味着不用修改) 控件类型 控件 name属性 控件 text属性 备注 Groupbox 改为空 Groupbox 信息 textbox txtBufferDistance 0.1 textbox txtOutputPath ReadOnly属性设置 为 true,即为只读 textbox txtMessages Mutilline属性设置为 true,即允许多行 ReadOnly属性设置 为 true,即为只读 Srcollbars属性设置 为 Vertical,即在右边 显示滚动条 combobox cboLayers combobox cboUnits Item属性需要添加内 容,详细的在表下面 button btnBuffer 缓冲区分析 button btnOutputLayer 存放位置 button btnCancel 关闭 label lbllayers 选择图层: label labeldistance 缓冲距离: label labeloutput 输出图层: Combobox控件 cboUnits的 Item属性添加的内容为(可以自定义修改,此处为单位) Unknown Inches Points Feet Yards Miles NauticalMiles Millimeters Centimeters Decimeters Meters Kilometers DecimalDegrees 2、代码部分 (1)首先添加命名空间,在这个功能里面需要用到的命名空间如下: using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.Geoprocessing; using ESRI.ArcGIS.Geoprocessor; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.AnalysisTools; using System.Runtime.InteropServices; using System.IO; (2)添加定义的全局变量 [DllImport(user32.dll)] private static extern int PostMessage(IntPtr wnd, uint Msg, IntPtr wParam, IntPtr lParam); private IMapControl4 MapControl; private IHookHelper m_hookHelper = null; private const uint WM_VSCROLL = 0x0115; private const uint SB_BOTTOM = 7; (3)为窗口入口函数添加参数,并添加如下代码: public 缓冲区分析(IHookHelper hookHelper) { InitializeComponent(); m_hookHelper = hookHelper; MapControl = m_hookHelper as IMapControl4; } (4)点击窗体,添加load函数里面的代码 private void 缓冲区分析_Load(object sender, EventArgs e) { if (null == m_hookHelper || null == m_hookHelper.Hook || 0 == m_hookHelper.FocusMap.LayerCount) return; //加载地图中所有要素到combo IEnumLayer layers = GetLayers(); layers.Reset(); ILayer layer = null; while ((layer = layers.Next()) != null) { cboLayers.Items.Add(layer.Name); } //默认选择第一个图层 if (cboLayers.Items.Count 0) cboLayers.SelectedIndex = 0; string tempDir = System.IO.Path.GetTempPath(); txtOutputPath.Text = System.IO.Path.Combine(te
显示全部
相似文档