vue 好吧

ArcObjects开发初探

2018-12-12  本文已影响0人  duyi324

最近项目中需要用到ArcGIS二次开发,由于本人并不是地理信息专业科班出身,所以使用过程中遇到很多问题不知道怎么去解决,百度良久,在此记录一番!
本文随时更新!

一、初始化许可

ArcObjects是ArcGIS的底层API,基于COM技术搭建,所以能够自然地支持C++,VB,.Net在内的多种语言。然而也因为是基于COM的,所以它的API很是难用(相比.Net framework那样的)。
我的系统是Windows 10 专业版 64位+VS 2015+ArcGIS 10.2,考虑到64位的开发环境和运行环境,首先需要在项目中设置平台为x86

设置项目目标平台为x86

在调用其他ArcObjects API之前,首先得初始化许可。

using 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());
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读