通过ArcGIS Engine构建GIS应用
朱政 ESRI中国(北京)有限公司
目录
ArcGIS Engine的概要 ArcGIS Engine的开发包 ArcGIS Engine的运行时 ArcGIS Engine应用的分发和部署 开发资源
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine
ArcGIS 9中新的开发产品 从核心ArcObjects中构建 可以创建独立的应用程序或者集成到第 三方的软件系统中
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine
Web 浏览器
在其他应用中 嵌入GIS 嵌入 GIS 功能 自定义应用
GIS 桌面应用
简单, 简单 , 重点的功能
完全的GIS功能 完全的 GIS功能
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 开发
自定义应用
COM .NET JAVA C++
ArcGIS Engine
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
工程的类型
独立应用
无可视化界面应用
嵌入式应用
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 功能
读取所有支持的ESRI数据格式包括 geodatabase 地图制作(创建和编辑MXD) ArcGIS 级别的绘图 查询和分析 地理编码 简单编辑(shp 和 pGDB)
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 扩展
Geodatabase Update Spatial 3D With Global Visualization StreetMap USA
Engine 开发包包括高级的Engine扩展
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine
两个产品 Engine 开发包 是创建自定义的GIS和制图 应用的工具包. Engine 运行时 是为了运行自定义的Engine 应用的可分发的ArcObejcts.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 开发包
组件, APIs和工具的集合, 开发人员可以用来创建 高级的GIS应用 组件
– Engine 库 – 制图, 绘制, 选择, 编辑, 等. – Control 库 – 地图控件, 布局控件, 工具条, 等.
APIs
– COM, .NET, Java, and C++
工具
– 文档 – 开发工具
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine组件库
System SystemUI Geometry Display Server Output Geodatabase GISClient GeoDatabaseDistributed DataSourcesFile DataSourcesOleDB DataSourcesRaster Cato Location NetWorkAnalysis Controls GeoAnalyst 3DAnalyst GlobeCore SpatialAnalyst GeoStatisticalAnalyst Publisher ArcReaderControl
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
主要Library介绍
System System库是ArcGIS框架中最底层的一个库,它包含了一些被其他库使用 的一些组件.
SystemUI SystemUI库定义了一些在ArcGIS中被用户界面组件使用的类型.象 Icommand和Itool这样的接口就在这里定义.
这两个库一般不被扩展
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Geometry 几何库包含了核心的几何对象,比如点,面, 线等.在几何库中还定义和实现了空间参考的 对象,包括投影坐标系和几何坐标系.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
对象模型图图例 鸟
Abstract
继承 鸵鸟蛋 鸵鸟蛋 class class 产生 鸵鸟
CoClass
有
鸵鸟巢
CoClass
组成 * 鸵鸟翅膀 鸵鸟翅膀 class class
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Geometry库
Geometry
Envelop
Point
Multipoint
Curve
Ray
Sphere
Triangles
GemetryBag
TriangleFan MultiPatch
TrangleStrip
Segment
*
Path
Polycurve
*
BezierCurve CircularArc EllipticArc
Line Ring PolyLine Polygon
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Display 显示库包含了支持在输出设备上显示图形的 组件,屏幕显示,符号,颜色等都在这个库中 定义.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Display库
Symbol
TextSymbol
MarkerSymbol
LineSymbol
FillSymbol
3DchartSymbol
CartographicMarkerSymbol
SimpleMarkerSymbol
MyMarkerSymbol
CharacterMarkerSymbol
PictureMarkerSymbol
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Carto Carto库包含了为数据显示服务的 对象.PageLayout和Map对象在这 个库中,以及支持各种数据类型的图层, 渲染.这个库中也包括了MxdServer 和MapServer对象,它们通常被 Server用来显示地图数据.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Carto库中的 Map, PageLayout, 和MapElements
MxDocument
*
PageLayout Map
*
Element
*
Layer In Carto
*
MapSurrond
FrameElement
GraphicElement
ScaleText
MarkerNorthArrow
Element
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Render
FeatureRender
Feature Layer TinRender RasterRender
ChartRender UniqueValueRender ClassBreakRender
SimpleRender
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Layers
Layer
DataLayer
CompositeLayer
DisplayLayer
AnnotionLayer
TableLayer
TinLayer
CatalogRasterLayer
CADLayer
AnalyseLayer
RasterLayer
FeatureLayer
DemisionLayer
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
GeoDatabase GeoDatabase包含了所有相关数据组织的定 义类型.要素,表,网络,TIN都在这个库中 定义.其中一些类型的实现在各自的数据来源 的库中.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
GeoDatabase
WorkspaceFactory Workspace Workspace
*
Datasets Datasets
GeoDataset
Row Row
Cursor Cursor
Table Table
FeatureDataset FeatureDataset
RasterDataset RasterDataset
Object Object
ObjectClass ObjectClass
1
Feature Feature Feature Feature Cursor Cursor
Relationshi Relationshi pclass pclass
FeatureClass FeatureClass
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
*
WorkspaceFactory
ArcInfoWorkspaceFactory
SDEWorkspaceFactory
ShapeFileWorkspaceFactory
TINWorkspaceFactory
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
DataSourcesFile DataSourcesFile库包含了为支持的矢量数据格式提供的工作空间工厂和工 作空间. DataSourcesGDB DataSourcesGDB 库包含了为存储在RDBMS中的矢量和栅格数据提供的 工作空间工厂和工作空间. GeoDatabaseDistributed GeoDatabaseDistributed 库包含了需要执行checkout/checkin 的离线 GeoDatabase的对象. DataSourcesOleDB DataSourcesOleDB 库为通过OleDB方式提供的数据提供空组空间. DataSourcesRaster DataSourcesRaster 包含了为基于文件方式的栅格数据提供的工作空间工 厂和工作空间.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
GISClient GISClient库包含了作用于远程GIS服务的对象.这些 远程服务可以由ArcGIS Server和ArcIMS提供. Server库包含了连接ArcGIS Server的对象,以及管 理这个连接的对象. Controls 控件库包含了应用程序开发中用到的控件,包括在控件 中使用的命令和工具.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
GeoAnalyst GeoAnalyst库包含了核心的空间分析功能,这些功能是在 spatialAnalyst和3DAnalyst扩展都会用到的功能. 3DAnalyst 3DAnalyst库包含了数据的3d分析对象,也包括显示3d数据,在 这个库中有一个控件SceneControl可用. GlobeCore GlobeCore库包含了globe数据分析的对象,也包含了显示globe 数据,在这个库中有一个控件GlobeControl可用. SpatialAnalyst SpatialAnalyst库包含了在栅格和矢量数据上执行空间分析的对 象.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
开发控件
MapControl PageLayoutControl ToolbarControl TOCControl ReaderControl SceneControl GlobeControl
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
命令和工具
ArcGIS Engine 包括命令和工具 可以写自定义的命令和工具 HookHelper 对象帮助开发人员到达底层的 ArcObjects 命令和工具可以使用ArcGIS Engine的API来 写
– COM, .NET, Java, C++
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
命令和工具
提供超过100 个工具和命令
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
选择一种ArcGIS Engine API
APIs 是到达底层的ArcObjects的函数 不同的APIs使用的是相同的底层的对象 和接口 COM, .NET, Java, and C++.
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
APIs 和开发环境
COM
– Visual Studio 6.0 (VB, VC++), Delphi…
.NET
– Visual Studio .NET (VB .NET, C#, VC++)…
C++
– Visual Studio 6.0, Borland C++, C++…
Java
– JBuilder, Eclipse, JDK…
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
使用 COM API编程
需要
– 引进类型库 (.olbs) ..\Program Files\ArcGIS\com
应用的类型
– Virtually any type – Windows and control based – Cross product: Desktop and ArcGIS Engine – Custom COM objects
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
使用.NET API编程
需要
– .NET Framework 1.1 – 引用 ESRI .NET assemblies (.dlls)
..\Program Files\ArcGIS\DotNet Primary Interop Assemblies (PIA) Signed by ESRI Registered in GAC when installed
应用的类型
– Virtually any type – Windows and control based – Cross product: Desktop and ArcGIS Engine – Web access classes
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
使用Java API编程
需要
– JDK 1.4.x – 引用 ESRI packages (.jar) ..\Program Files\ArcGIS\java\ – arcobjects.jar – jintegra.jar – arcgis_visualbeans.jar
应用的类型
– Virtually any type – Windows, utility, and control based – Cross platform (Windows and UNIX)
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
使用 C++ API编程
需要
– 引用 C++ header files (.h) – ..\Program Files\ArcGIS\include\CPPAPI
ArcSDK.h
应用的类型
– Virtually any type – Windows, utility, and control based – Cross platform (Windows and UNIX)
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
开发资源 Engine 开发包包括
– 帮助系统 – 开发文档 – 示例代码 (500+) – 详细的对象模型图 – 辅助的工具
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 运行时
运行包是所有的用Engine开发包开发的自定 义的应用程序所需要的 ArcObjects 的核心集合
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine 运行时 (续.)
标准的 Engine 运行时
– 数据的获得, 地图的制作, 分析, 以及简单的要素编 辑
标准的 Engine 运行包的扩展模块
– – – – Geodatabase Update 3D (Scene and Globe) Spatial StreetMap USA
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Geodatabase Update
数据创建
– – – – – – 编辑存储在多用户的DBMS中的GDB 在要素类和属性之间建立关系类 管理和编辑拓扑, 网络, 和关系类 创建和编辑维要素 编辑几何网络 创建要素关联的注记
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Geodatabase Update (续)
数据管理
– 加载数据 – 包括把栅格倒入到多用户的 geodatabases – 创建和管理版本 – 为 geodatabases创建子类 – 为geodatabases创建逻辑网络
标准的 Engine 运行时+GDB Update 扩展模块 = ArcEditor 的功能
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
平台
ArcGIS Engine 开发包和运行时 Version 9.0
– Windows NT, 2000, XP, and 2003
Version 9.0.1
– Sun Solaris – Red Hat Linux
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine的部署策略
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
分发应用程序
用Engine开发包创建的 Engine 应用程序可以运行在: – ArcGIS Engine 运行许可 – 存在的ArcGIS Desktop 9 许可 应用程序的开发人员可以控制运行应用程序使用什么 许可
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine的两种运行许可
esriLicenseProductCodeEngine = 核心功能 esriLicenseProductCodeEngineGeoDB = 核心功能+geodatabase update
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
ArcGIS Engine的其他可用的运行许可
esriLicenseProductCodeArcView esriLicenseProductCodeArcEditor esriLicenseProductCodeArcInfo
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
用合适的许可初始化应用程序
用合适的许可初始化应用程序,既能使得应用 程序可以到达license许可的功能,也能保证 它在分发的任何机子上成功的运行
1 检查license是否可用 2 检查应用的扩展模块的license是否可用(如果需要) 3 用相应的license初始化应用程序
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
举个例子
用相应的license初始化应用程序的例子 应用程序定位:ArcEditor级别 可用的license: Engine
EngineGeoDB ArcView ArcEditor ArcInfo
用到的类:
AOInitialize
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
创建一个新的 AOInitialize 对象
示例过程
否
是否拥有ArcEditor产品 许可并可用
是否拥有一个 EngineGeoDB 产品许可
否
是否拥有ArcInfo产品许 可并可用
是
用此许可文件进行初始化应 用程序.是否成功检出
是
用ArcEditor产品许可初始 化应用程序.是否成功检出
是
用ArcInfo产品许可初始 化应用程序.是否成功检 出
是
否 是
许可配置不成功并退出应用 程序
否 是
许可配置不成功并退出应用 程序
否
许可配置不成功并退出应用 程序
许可配置成功
许可配置成功
许可配置成功
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
和MapObjects的比较
读 / 写 geodatabase
– 注记, 栅格, 自定义要素, 等.
读 / 写 MXD 文件 更好的标注 更好的编辑 更多的符号和风格 支持ArcIMS 和 ArcGIS Server 的服务 高级的功能(3D, Globe, 和 Spatial) 以ArcObjects为基础 使用ArcMap 来创建地图
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
Demo演示
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
谢谢!
2004年第六届ArcGIS暨ERDAS中国用户大会 2004年第六届ArcGIS暨ERDAS中国用户大会
- arcgis > 通过ArcGIS Engine构建GIS应用
-
通过ArcGIS Engine构建GIS应用
下载该文档 文档格式:PDF 更新时间:2003-10-02 下载次数:0 点击次数:1文档基本属性 文档语言: 文档格式: pdf 文档作者: abusis 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: Semikron Elektronik GmbH 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:Getting Started with Python in ArcGIS 10-Getting Started with ...
下一篇:Working with Imagery in ArcGIS10
点击查看更多关于arcgis的相关文档
- 您可能感兴趣的
- dgn数据arcgisserver arcgis地图下载 arcgis9.3安装 arcgis10教程 arcgis下载 arcgis10中文版下载 arcgis10下载 arcgis10安装 arcgis教程
- 大家在找
-
- · 优酷加速器官方下载
- · vs2010下载
- · 林果生产与技术
- · 系统软件深度卸载
- · 乔治阿玛尼时装秀
- · 什么是abs塑料
- · 汽车最小离地间隙排名
- · 工商行政指导案例
- · 八百米中长跑步
- · 建筑材料习题及答案
- · 初中计算机说课稿
- · 云袖bt下载
- · 高压共轨发动机的油路
- · kfc优惠券官网
- · 烟台苹果价格
- · 电动机绕组数据
- · 易宝营业厅
- · flv转avi格式转换器
- · 双圆弧齿轮动力学分析
- · www.263.cn
- · 羽毛球课教案
- · 虚拟仿真技术
- · 马达线圈测温
- · pic单片机烧写原理
- · 招聘普通仪表车床工人
- · qq堂怎么密聊
- · 三爪卡盘结构图
- · 安徽阜阳农村养老保险
- · mathtype6.5下载
- · 红牛街舞大赛斗舞
- · tcl罗格朗北京总代理
- · 农产品检测
- · 上海松江人才网
- · 家电下乡管理系统下载
- · 金沙江溪洛渡水电站
- · 防雷装置竣工验收
- · 不锈钢清洗剂配方
- · 奥迪a6l2.4的真实油耗
- · 初中数学试卷及答案
- · 圆锥破碎机价格
- 赞助商链接