最近项目中需要用到ArcGIS二次开发,由于本人并不是地理信息专业科班出身,所以使用过程中遇到很多问题不知道怎么去解决,百度良久,在此记录一番!
本文随时更新!
##一、初始化许可
ArcObjects是ArcGIS的底层API,基于COM技术搭建,所以能够自然地支持C++,VB,.Net在内的多种语言。然而也因为是基于COM的,所以它的API很是难用(相比.Net framework那样的)。
我的系统是Windows 10 专业版 64位
+VS 2015
+ArcGIS 10.2
,考虑到64位的开发环境和运行环境,首先需要在项目中设置平台为x86
。
在调用其他ArcObjects API之前,首先得初始化许可。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37using ESRI.ArcGIS;
using ESRI.ArcGIS.esriSystem;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace 数据处理
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
//绑定Runtime
if (!RuntimeManager.Bind(ProductCode.EngineOrDesktop))
{
MessageBox.Show("不能绑定ArcGIS runtime,应用程序即将关闭.");
return;
}
// 初始化AO许可
var aoi = new AoInitialize();
var s = aoi.Initialize(
esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);
if (s == esriLicenseStatus.esriLicenseUnavailable)
throw new NotSupportedException("请求的许可不可用");
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FrmMain());
}
}
}