ArcGIS二次开发课程总结(附上代码)vs2010(C#)+AE-程序员宅基地

技术标签: c#  java  

很久没有写了,原因很简单没有想起来,够简单粗暴吧,好吧承认都是借口

—————————————————我是分界线哦————————————————————————

    昨天GIS程序与开发课结束了它的完整生命周期,老师让我们每个人做个总结。学号最后一个,便最后一个总结。

课程上完,最大感受,嗯,我又学会了怎么拼代码!老师给我说了我的优缺点,可能当时没反应过来,今天早上才反应过来

,所以写下该文。工作做的很多,成果别人看不到,自己学到的帮助其他同学,自己却不能从他们那获得有用的知识,这也是要求我多总结

,并且是阶段性的总结。那就列一下自己课程代码吧,项目名称:《道路分析系统》,基于vs2010(C#开发)+ArcEngine10.2+ArcGIS10.2

虽然我是代码搬运工,但我不在乎啊。

-----------------------------------------------

主窗体代码

  1 // This is the main form of the application.
  2 
  3 namespace NAEngine
  4 {
  5     /// <summary>
  6     /// Summary description for Form1.
  7     /// </summary>
  8     public class frmMain : System.Windows.Forms.Form
  9     {
 10         /// <summary>
 11         /// Required designer variable.
 12         /// </summary>
 13         private System.ComponentModel.Container components = null;
 14         private System.Windows.Forms.Splitter splitter1;
 15 
 16         // Context menu objects for NAWindow's context menu
 17         private System.Windows.Forms.ContextMenu contextMenu1;
 18         private System.Windows.Forms.MenuItem miLoadLocations;
 19         private System.Windows.Forms.MenuItem miClearLocations;
 20         private System.Windows.Forms.MenuItem miAddItem;
 21 
 22         // ArcGIS Controls on the form
 23         private ESRI.ArcGIS.Controls.AxMapControl axMapControl1;
 24         private ESRI.ArcGIS.Controls.AxLicenseControl axLicenseControl1;
 25         private ESRI.ArcGIS.Controls.AxToolbarControl axToolbarControl1;
 26         private ESRI.ArcGIS.Controls.AxTOCControl axTOCControl1;
 27 
 28         // Listen for context menu on NAWindow
 29         private IEngineNAWindowEventsEx_OnContextMenuEventHandler m_onContextMenu;
 30 
 31         // Reference to Network Analyst Environment
 32         private IEngineNetworkAnalystEnvironment m_naEnv;
 33 
 34         // Reference to NAWindow.  Need to hold on to reference for events to work.
 35         private IEngineNAWindow m_naWindow;
 36 
 37         // Menu for our commands on the TOC context menu
 38         private IToolbarMenu m_menuLayer;
 39         private MenuStrip menuStrip1;
 40         private ToolStripMenuItem 文件ToolStripMenuItem;
 41         private ToolStripMenuItem ToolStripMenuItemQueryByAttribute;
 42         private ToolStripMenuItem ToolStripMenuItemQueryBySpatial;
 43         private ToolStripMenuItem ToolStripMenuItemOpen;
 44         private StatusStrip statusStrip1;
 45         private ToolStripStatusLabel toolStripStatusMessage;
 46         private ToolStripStatusLabel toolStripStatusBlank;
 47         private ToolStripStatusLabel toolStripStatusScale;
 48         private ToolStripStatusLabel toolStripStatusCoordinates;
 49 
 50         // incrementor for auto generated names
 51         private static int autogenInt = 0;
 52 
 53         public frmMain()
 54         {
 55             //
 56             // Required for Windows Form Designer support
 57             //
 58             InitializeComponent();
 59         }
 60 
 61         /// <summary>
 62         /// Clean up any resources being used.
 63         /// </summary>
 64         protected override void Dispose(bool disposing)
 65         {
 66             ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown();
 67 
 68             if (disposing)
 69             {
 70                 if (components != null)
 71                 {
 72                     components.Dispose();
 73                 }
 74             }
 75             base.Dispose(disposing);
 76         }
 77 
 78         #region Windows Form Designer generated code
 79         /// <summary>
 80         /// Required method for Designer support - do not modify
 81         /// the contents of this method with the code editor.
 82         /// </summary>
 83         private void InitializeComponent()
 84         {
 85             System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain));
 86             this.axMapControl1 = new ESRI.ArcGIS.Controls.AxMapControl();
 87             this.axLicenseControl1 = new ESRI.ArcGIS.Controls.AxLicenseControl();
 88             this.axToolbarControl1 = new ESRI.ArcGIS.Controls.AxToolbarControl();
 89             this.splitter1 = new System.Windows.Forms.Splitter();
 90             this.axTOCControl1 = new ESRI.ArcGIS.Controls.AxTOCControl();
 91             this.contextMenu1 = new System.Windows.Forms.ContextMenu();
 92             this.miLoadLocations = new System.Windows.Forms.MenuItem();
 93             this.miClearLocations = new System.Windows.Forms.MenuItem();
 94             this.miAddItem = new System.Windows.Forms.MenuItem();
 95             this.menuStrip1 = new System.Windows.Forms.MenuStrip();
 96             this.文件ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
 97             this.ToolStripMenuItemOpen = new System.Windows.Forms.ToolStripMenuItem();
 98             this.ToolStripMenuItemQueryByAttribute = new System.Windows.Forms.ToolStripMenuItem();
 99             this.ToolStripMenuItemQueryBySpatial = new System.Windows.Forms.ToolStripMenuItem();
100             this.statusStrip1 = new System.Windows.Forms.StatusStrip();
101             this.toolStripStatusMessage = new System.Windows.Forms.ToolStripStatusLabel();
102             this.toolStripStatusBlank = new System.Windows.Forms.ToolStripStatusLabel();
103             this.toolStripStatusScale = new System.Windows.Forms.ToolStripStatusLabel();
104             this.toolStripStatusCoordinates = new System.Windows.Forms.ToolStripStatusLabel();
105             ((System.ComponentModel.ISupportInitialize)(this.axMapControl1)).BeginInit();
106             ((System.ComponentModel.ISupportInitialize)(this.axLicenseControl1)).BeginInit();
107             ((System.ComponentModel.ISupportInitialize)(this.axToolbarControl1)).BeginInit();
108             ((System.ComponentModel.ISupportInitialize)(this.axTOCControl1)).BeginInit();
109             this.menuStrip1.SuspendLayout();
110             this.statusStrip1.SuspendLayout();
111             this.SuspendLayout();
112             // 
113             // axMapControl1
114             // 
115             this.axMapControl1.Dock = System.Windows.Forms.DockStyle.Fill;
116             this.axMapControl1.Location = new System.Drawing.Point(173, 53);
117             this.axMapControl1.Name = "axMapControl1";
118             this.axMapControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axMapControl1.OcxState")));
119             this.axMapControl1.Size = new System.Drawing.Size(706, 454);
120             this.axMapControl1.TabIndex = 2;
121             this.axMapControl1.OnMouseMove += new ESRI.ArcGIS.Controls.IMapControlEvents2_Ax_OnMouseMoveEventHandler(this.axMapControl1_OnMouseMove);
122             // 
123             // axLicenseControl1
124             // 
125             this.axLicenseControl1.Enabled = true;
126             this.axLicenseControl1.Location = new System.Drawing.Point(797, 0);
127             this.axLicenseControl1.Name = "axLicenseControl1";
128             this.axLicenseControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axLicenseControl1.OcxState")));
129             this.axLicenseControl1.Size = new System.Drawing.Size(32, 32);
130             this.axLicenseControl1.TabIndex = 1;
131             // 
132             // axToolbarControl1
133             // 
134             this.axToolbarControl1.Dock = System.Windows.Forms.DockStyle.Top;
135             this.axToolbarControl1.Location = new System.Drawing.Point(0, 25);
136             this.axToolbarControl1.Name = "axToolbarControl1";
137             this.axToolbarControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axToolbarControl1.OcxState")));
138             this.axToolbarControl1.Size = new System.Drawing.Size(879, 28);
139             this.axToolbarControl1.TabIndex = 0;
140             // 
141             // splitter1
142             // 
143             this.splitter1.Location = new System.Drawing.Point(170, 53);
144             this.splitter1.Name = "splitter1";
145             this.splitter1.Size = new System.Drawing.Size(3, 454);
146             this.splitter1.TabIndex = 4;
147             this.splitter1.TabStop = false;
148             // 
149             // axTOCControl1
150             // 
151             this.axTOCControl1.Dock = System.Windows.Forms.DockStyle.Left;
152             this.axTOCControl1.Location = new System.Drawing.Point(0, 53);
153             this.axTOCControl1.Name = "axTOCControl1";
154             this.axTOCControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axTOCControl1.OcxState")));
155             this.axTOCControl1.Size = new System.Drawing.Size(170, 454);
156             this.axTOCControl1.TabIndex = 1;
157             this.axTOCControl1.OnMouseDown += new ESRI.ArcGIS.Controls.ITOCControlEvents_Ax_OnMouseDownEventHandler(this.axTOCControl1_OnMouseDown);
158             // 
159             // contextMenu1
160             // 
161             this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
162             this.miLoadLocations,
163             this.miClearLocations});
164             // 
165             // miLoadLocations
166             // 
167             this.miLoadLocations.Index = 0;
168             this.miLoadLocations.Text = "Load Locations...";
169             this.miLoadLocations.Click += new System.EventHandler(this.miLoadLocations_Click);
170             // 
171             // miClearLocations
172             // 
173             this.miClearLocations.Index = 1;
174             this.miClearLocations.Text = "Clear Locations";
175             this.miClearLocations.Click += new System.EventHandler(this.miClearLocations_Click);
176             // 
177             // miAddItem
178             // 
179             this.miAddItem.Index = -1;
180             this.miAddItem.Text = "Add Item";
181             this.miAddItem.Click += new System.EventHandler(this.miAddItem_Click);
182             // 
183             // menuStrip1
184             // 
185             this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
186             this.文件ToolStripMenuItem,
187             this.ToolStripMenuItemQueryByAttribute,
188             this.ToolStripMenuItemQueryBySpatial});
189             this.menuStrip1.Location = new System.Drawing.Point(0, 0);
190             this.menuStrip1.Name = "menuStrip1";
191             this.menuStrip1.Size = new System.Drawing.Size(879, 25);
192             this.menuStrip1.TabIndex = 5;
193             this.menuStrip1.Text = "menuStrip1";
194             // 
195             // 文件ToolStripMenuItem
196             // 
197             this.文件ToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
198             this.ToolStripMenuItemOpen});
199             this.文件ToolStripMenuItem.Name = "文件ToolStripMenuItem";
200             this.文件ToolStripMenuItem.Size = new System.Drawing.Size(44, 21);
201             this.文件ToolStripMenuItem.Text = "文件";
202             // 
203             // ToolStripMenuItemOpen
204             // 
205             this.ToolStripMenuItemOpen.Name = "ToolStripMenuItemOpen";
206             this.ToolStripMenuItemOpen.Size = new System.Drawing.Size(100, 22);
207             this.ToolStripMenuItemOpen.Text = "打开";
208             this.ToolStripMenuItemOpen.Click += new System.EventHandler(this.ToolStripMenuItemOpen_Click);
209             // 
210             // ToolStripMenuItemQueryByAttribute
211             // 
212             this.ToolStripMenuItemQueryByAttribute.Name = "ToolStripMenuItemQueryByAttribute";
213             this.ToolStripMenuItemQueryByAttribute.Size = new System.Drawing.Size(68, 21);
214             this.ToolStripMenuItemQueryByAttribute.Text = "属性查询";
215             this.ToolStripMenuItemQueryByAttribute.Click += new System.EventHandler(this.ToolStripMenuItemQueryByAttribute_Click);
216             // 
217             // ToolStripMenuItemQueryBySpatial
218             // 
219             this.ToolStripMenuItemQueryBySpatial.Name = "ToolStripMenuItemQueryBySpatial";
220             this.ToolStripMenuItemQueryBySpatial.Size = new System.Drawing.Size(68, 21);
221             this.ToolStripMenuItemQueryBySpatial.Text = "空间查询";
222             this.ToolStripMenuItemQueryBySpatial.Click += new System.EventHandler(this.ToolStripMenuItemQueryBySpatial_Click);
223             // 
224             // statusStrip1
225             // 
226             this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
227             this.toolStripStatusMessage,
228             this.toolStripStatusBlank,
229             this.toolStripStatusScale,
230             this.toolStripStatusCoordinates});
231             this.statusStrip1.Location = new System.Drawing.Point(173, 485);
232             this.statusStrip1.Name = "statusStrip1";
233             this.statusStrip1.Size = new System.Drawing.Size(706, 22);
234             this.statusStrip1.TabIndex = 10;
235             this.statusStrip1.Text = "statusStrip1";
236             // 
237             // toolStripStatusMessage
238             // 
239             this.toolStripStatusMessage.Name = 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30875157/article/details/97920449

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签