• 大小: 111KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-09-30
  • 语言: C#
  • 标签: ArcEngine  

资源简介

ArcEngine+C#缓冲区分析(GP工具+ITopologicalOperator接口两种方法实现) GP工具为打开窗口,ITopologicalOperator接口代码设置参数直接点击地图实现缓冲分析

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ESRI.ArcGIS.Controls;
using ESRI.ArcGIS.Carto;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geoprocessing;
using ESRI.ArcGIS.Geoprocessor;
using ESRI.ArcGIS.AnalysisTools;
using ESRI.ArcGIS.ADF.baseClasses;
using ESRI.ArcGIS.ADF.CATIDs;
using System.IO;
using System.Runtime.InteropServices;
using BufferAnalyst;

namespace Buffer
{
    public partial class BufferAnalysisForm : Form
    {
        public BufferAnalysisForm(IHookHelper hookHelper)
        {
            InitializeComponent();

            m_hookHelper = hookHelper;  
        }

        #region 定义变量

        private IHookHelper m_hookHelper = null;

        private IActiveView pActiveView = null;
        private Listayer> pLstlayers = null;
        private IMap pMap = null;
        public IMap CurrentMap
        {
            get { return pMap; }
            set { pMap = value; }
        }

        #endregion


        #region 操作函数

        #region 添加图层名到cbxlayers
        /// 
        /// 添加图层名到cbxlayers
        /// 

        private void AddItemTocbxlayers()
        {
            cbxlayers.Items.Clear();

            pActiveView = pMap as IActiveView;
            pLstlayers = MapManager.Getlayers(pMap);

            for (int i = 0; i < pLstlayers.Count; i++)
            {
                if (!cbxlayers.Items.Contains(pLstlayers[i].Name))
                {
                    cbxlayers.Items.Add(pLstlayers[i].Name);
                }
            }

            if (cbxlayers.Items.Count > 0)
                cbxlayers.SelectedIndex = 0;
        }
        #endregion

        #region 返回消息

        private string RetureMessage(Geoprocessor gp)
        {
            StringBuilder sb = new StringBuilder();
            if (gp.MessageCount > 0)
            {
                for (int i = 0; i < gp.MessageCount; i++)
                {
                    System.Diagnostics.Trace.WriteLine(gp.GetMessage(i));
                    sb.AppendFormat(“{0}\n“ gp.GetMessage(i));
                }
            }
            return sb.ToString();
        }
        #endregion
        #endregion

        private void BufferAnalysisForm_Load(object sender EventArgs e)
        {
            if (null == m_hookHelper || null == m_hookHelper.Hook || 0 == m_hookHelper.FocusMap.layerCount)
                return; 

            AddItemTocbxlayers();

            string units = pMap.MapUnits.ToString();
            units = units.Substring(4);
            for (int i = 0; i < cbxUnits.Items.Count; i++)
            {
                if (cbxUnits.Items[i].ToString() == units.ToString())
                {
                    cbxUnits.SelectedItem = units;
                }
            }
        }

        

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-09-12 19:25  Buffer\
     目录           0  2017-09-12 20:08  Buffer\Buffer\
     文件        8332  2017-09-12 20:30  Buffer\Buffer\Buffer.csproj
     文件        9971  2017-09-12 19:56  Buffer\Buffer\BufferAnalysisForm.Designer.cs
     文件        7776  2017-09-13 08:21  Buffer\Buffer\BufferAnalysisForm.cs
     文件        5817  2017-09-12 19:56  Buffer\Buffer\BufferAnalysisForm.resx
     文件        9292  2017-09-12 20:38  Buffer\Buffer\Form1.Designer.cs
     文件        3856  2017-09-12 20:32  Buffer\Buffer\Form1.cs
     文件       11557  2017-09-12 20:32  Buffer\Buffer\Form1.resx
     文件        1313  2017-09-12 19:42  Buffer\Buffer\MapManager.cs
     文件         611  2017-09-12 19:33  Buffer\Buffer\Program.cs
     目录           0  2017-09-12 19:25  Buffer\Buffer\Properties\
     文件        1344  2017-09-12 19:25  Buffer\Buffer\Properties\AssemblyInfo.cs
     文件        2864  2017-09-12 19:25  Buffer\Buffer\Properties\Resources.Designer.cs
     文件        5612  2017-09-12 19:25  Buffer\Buffer\Properties\Resources.resx
     文件        1093  2017-09-12 19:25  Buffer\Buffer\Properties\Settings.Designer.cs
     文件         249  2017-09-12 19:25  Buffer\Buffer\Properties\Settings.settings
     文件         246  2017-09-12 20:08  Buffer\Buffer\ToolBufferAnalysis.bmp
     文件        8365  2017-09-12 20:11  Buffer\Buffer\ToolBufferAnalysis.cs
     文件         326  2017-09-12 20:08  Buffer\Buffer\ToolBufferAnalysis.cur
     目录           0  2017-09-12 19:30  Buffer\Buffer\bin\
     目录           0  2017-09-12 19:56  Buffer\Buffer\bin\Debug\
     文件       29184  2017-09-13 08:22  Buffer\Buffer\bin\Debug\Buffer.exe
     文件       48640  2017-09-13 08:22  Buffer\Buffer\bin\Debug\Buffer.pdb
     文件       11600  2017-09-13 08:26  Buffer\Buffer\bin\Debug\Buffer.vshost.exe
     文件         490  2010-03-17 22:39  Buffer\Buffer\bin\Debug\Buffer.vshost.exe.manifest
     目录           0  2017-09-13 08:44  Buffer\Buffer\bin\Release\
     目录           0  2017-09-12 19:25  Buffer\Buffer\obj\
     目录           0  2017-09-12 19:25  Buffer\Buffer\obj\x86\
     目录           0  2017-09-13 08:22  Buffer\Buffer\obj\x86\Debug\
     文件         180  2017-09-12 20:30  Buffer\Buffer\obj\x86\Debug\Buffer.BufferAnalysisForm.resources
............此处省略12个文件信息

评论

共有 条评论