ArcObjects拾遗之一——初始化许可

2023-10-27

ArcObjects是ArcGIS的底层API,基于COM技术搭建,所以能够自然地支持C++,VB,.Net在内的多种语言。然而也因为是基于COM的,所以它的API很是难用(相比.Net framework那样的)。虽然我用它来开发也有些时日了,但每次用起来,总能遇到一些烦人的小问题。既然这样,那就把他们记录下来,和大家一起分享好了。

 

我所用的系统环境是Windows 7 64位,Visual Studio 2010和ArcGIS 9.3/10。
当然,对于使用ArcObjects的项目,都请先在项目属性中设定生成的目标平台X86(考虑到64位的开发环境和运行环境)。

Visual Studio 2010对所有ArcObjects的引用,都缺省设定了嵌入互操作类型:True
所以大家在我的代码中看不到组件类后面的-Class后缀。


请使用Visual Studio 2008或者更低版本的同学把-Class后缀加上

 

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

using System;
using ESRI.ArcGIS.esriSystem; // ESRI.ArcGIS.System.dll
// using ESRI.ArcGIS.Version;

// 省略若干行

static void Initialize()
{
    // ArcGIS10需要绑定产品代码
    //RuntimeManager.Bind(ProductCode.EngineOrDesktop);

    // 初始化AO许可
    var aoi = new AoInitialize();
    var s = aoi.Initialize(
        esriLicenseProductCode.esriLicenseProductCodeEngineGeoDB);

    if (s == esriLicenseStatus.esriLicenseUnavailable)
        throw new NotSupportedException("请求的许可不可用");
}

 

ArcGIS 10新加了一个RuntimeManger(包含在ESRI.ArcGIS.Version中,这个dll也是新增的),在初始化AO前必须调用它的Bind方法,绑定对应的产品。

此外,esriLicenseProductCode一般可是设成Engine,在需要访问Geodatabase的时候,得设成EngineGeoDB(当然,前提是你有那GeoDB的许可)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArcObjects拾遗之一——初始化许可 的相关文章

  • jmeter线程组 bzm - Arrivals Thread Group & 阶梯式压测

    简介 BZM Arrivals Thread Group是jmeter的一个插件 它可以模拟并发到达的用户流量 按时间加压 可以有效地帮助测试人员评估系统在高压力和高并发情况下的性能表现 插件下载地址 jmeter版本不低于 5 2 0 h
  • Mysql-JDBC配置LoadBalance协议

    Mysql JDBC长期以来提供了有效的手段在MySql集群 多主Replication部署的情况下分发读写负载 自从mysql jdbc 5 1 3以来 你可以在不停用服务的情况下动态配置loadBalance连接 进程中的事务不丢失 实
  • 箭头函数(=>)和普通函数(function)的区别

    JavaScript中箭头函数 gt 和普通函数function的区别 2021前端高频面试题 转载自 作者 阮一峰 ECMAScript6 入门和博客园 一 区别 1 箭头函数与普通函数写法不同 箭头函数 var声明变量时 var fn
  • 自学成材的黑客很多,但还是得掌握方法,给你黑客入门与进阶建议

    建议一 黑客七个等级 仅供参考 黑客 对很多人来说充满诱惑力 很多人可以发现这门领域如同任何一门领域 越深入越敬畏 知识如海洋 黑客也存在一些等级 参考知道创宇 CEO ic 世界顶级黑客团队 0x557 成员 的分享如下 Level 1
  • 时间序列分类算法_时间序列分类算法简介

    时间序列分类算法 A common task for time series machine learning is classification Given a set of time series with class labels c
  • 使用ICE建立C++与C#的通讯

    使用ICE建立C 与C 的通讯 版权 三夏健 https www cnblogs com liwei81730 archive 2012 08 21 2649476 html ICE的优势是作为通讯中间件可支持跨平台的通讯 目前支持C C
  • 基于深度学习Seq2Seq框架的技术总结

    随着互联网经济的普及定位技术的快速发展 人们在日常生活中产生了大量的轨迹数据 例如出租车的GPS数据 快递配送员PDA产生的轨迹数据等 轨迹数据是一种典型的时空数据 Spatial Temporal Data 是按照时间顺序索引且空间变化的
  • gitleb+hexo部署搭建博客

    当你想发布自己的想法 或者学习内容时 这个时候可能你的选择就是在各大平台发布 比如说 简书 csdn 掘金等一些公开的平台 但是这样你的数据就是属于别人了 如果有一天那个平台关闭了 那不是你的多年记录的内容都没有了 可想而知你当时的心情是多
  • WIN10环境下配置hadoop+spark并运行实例的教程

    WIN10环境下配置 hadoop spark 并运行开发实例的教程 前期准备 基本环境配置 虚拟机的安装 配置虚拟机中的静态网络 关闭并禁用防火墙 配置主机名 编辑host文件 使用ssh传输文件 SSH免密配置 解压文件 配置文件 配置

随机推荐

  • imx6ul:uboot-2013.10启动过程解析

    1 源码结构分析 首先一个问题 老版本的u boot是没有SPL这个文件的 新版u boot开始包含SPL文件 原来u boot启动比如放到nand中 在cpu内部有一个stepping stone 可以拷贝nand中的u boot到ram
  • python. 创建虚拟环境 conda_python使用conda创建和管理python虚拟环境

    一 背景 前期使用过程中发现使用python3自带的venv创建虚拟环境时 无法指定python版本 也许可以 但我没找到方法 所以打算利用第三方的工具conda来管理python环境 二 Miniconda安装 本文主要是介绍环境管理相关
  • SAP FI 系列 (026) - 增值税的配置

    产品的销售 原料的采购 都要与增值税打交道 SAP 系统对于不同国家的销售和购置税 都提供了基于国家的计税程序 Tax Procedure 项目实施的时候 只需要选择预置的税码或者新增税码 针对这些税码配置记账的会计科目即可 税码包括的最重
  • 2023最新「阿里」Java 高级工程师面试高频题:JVM+Redis+ 并发 + 算法 + 框架

    前言 面对今年的大环境而言 跳槽成功的难度比往年高了很多 很明显的感受就是 对于今年的 java 开发朋友跳槽面试 无论一面还是二面 都开始考验一个 Java 程序员的技术功底和基础 对源码解读和核心原理理解也是成了加分项 特别是对 Jav
  • 实战:利用Pytorch复现Deep Residual Learning for Image Recognition中的 Resnet34

    残差网络Resnet Deep Residual Learning for Image Recognition 论文阅读笔记 在学习了resnet的论文之后 为了便于理解 变想要复现文论中34层的resnet模型 即以下这张图 实际上 Re
  • 等价类划分和边界值的区别与联系

    等价类划分和边界值的区别与联系 例子 参数输入 1 99 为合法 一 等价类划分法 1 按照位数不同划分 输入 空 个位数 十位数 百位数 测试了 空 1 11 101 就不用在测试 2 22 102 了 因为 个十百 位数都是等价的 属于
  • MES系统解决钢结构企业原材料管控难问题

    随着国家经济建设的发展 钢结构行业产品在轻钢门式结构 多层和小高层住宅 大跨度空间结构 塔桅结构等领域有着良好的发展前景 中国建筑钢结构产业和市场正呈现出蓬勃发展的势头 总的来说 形势很好 前景喜人 另一方面 我们应该清醒地看到 由于建筑钢
  • ctf实战 掌控安全的靶场 第四关通关记录

    掌控安全封神台第四关 根据提示为存储型xss flag在cookie中 xss平台其实网上就有 可以直接用 xsspt com xss平台大致如下 点击创建项目输入项目名字 选择模块是要注意选择 默认模块和xss js 生成代码
  • 打开word资源管理器没有响应

    今天 更新windows10之后 打开word excel文档导致整个资源管理器没有反应 打开其他文档例如 PDF 图片等没有任何问题 解决方案 如下图 关闭 详细信息窗格 即可
  • 基于Java+SpringBoot+Vue的校园交友网站的设计与实现

    文章目录 一 效果演示 二 前言介绍 三 主要技术 四 系统设计 部分 4 1 主要功能模块设计 4 2 系统登录流程设计 五 运行截图 5 1 系统功能模块 5 1 1 用户注册 5 1 2 线下活动 5 1 3 交友信息 5 1 4 个
  • 解决在选项卡中,只有默认选项里的vue-seamless-scroll可以滚动的问题

    参考的文章作者说她的vue seamless scroll无缝滚动不滚动是因为她的页面有切换按钮 原来用v show的时候只有默认页面的可以滚动 改为v if就可以了 我的页面也是因为切换按钮的原因引起的不滚动 但是我的页面目前只能使用js
  • JS获取当前日期时间

    getCurrentDate var timeStr var curDate new Date var curYear curDate getFullYear 获取完整的年份 4位 1970 var curMonth curDate get
  • 【华为机试真题 JAVA】最长连续子序列-100

    编程题目 100分 最长连续子序列 2021 H2 2022 H1考试题 时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 本题可使用本地IDE编码 不
  • Python3 输入和输出

    在前面几个章节中 我们其实已经接触了 Python 的输入输出的功能 本章节我们将具体介绍 Python 的输入输出 输出格式美化 Python两种输出值的方式 表达式语句和 print 函数 第三种方式是使用文件对象的 write 方法
  • Mac mkdir创建文件夹 提示Permission denied

    B00011347 wanghan mkdir map car mkdir map car Permission denied 处理办法 B00011347 wanghan sudo mkdir map car Password 输入密码
  • tensorflow错误:InvalidArgumentError (see above for traceback): Cannot assign a device for operation

    一 错误 InvalidArgumentError see above for traceback Cannot assign a device for operation shuffle batch Could not satisfy e
  • java项目远程调试

    背景 目前大家调试项目 比较通用的就是使用修改log进行调试 每次调试都会相应的修改配置log的地方 重复性的进行提交 编译 部署 比较浪费时间 由于环境连接问题 又需将项目部署到服务器上 所以 为了节省无用的时间开销 大家可以使用java
  • AIO-3588MQ 车规级AI主板

    AIO 3588MQ采用Rockchip全新的车规级八核AI SOC芯片RK3588M 支持8K视频编解码 支持六屏同时显示 支持多达16路摄像头输入 可实现大广角无缝拼接 可扩展硬盘 千兆网 WiFi6和5G 4G网络 支持虚拟机 支持多
  • arr1 = [1,2]arr2=[1,2,3,4,5,6]用javascript的方式将以上两组数据处理成 1:1,2:2,3:1,4:2,5:1,6:2

    1 使用循环和取余运算符 const arr1 1 2 const arr2 1 2 3 4 5 6 const length1 arr1 length const length2 arr2 length const maxLength M
  • ArcObjects拾遗之一——初始化许可

    ArcObjects是ArcGIS的底层API 基于COM技术搭建 所以能够自然地支持C VB Net在内的多种语言 然而也因为是基于COM的 所以它的API很是难用 相比 Net framework那样的 虽然我用它来开发也有些时日了 但