首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CGI >

浅谈ArcGIS开发形式

2012-11-26 
浅谈ArcGIS开发模式Esri公司推出的ArcGIS产品是一个非常强大的体系,里面包含ArcGIS Desktop、ArcGIS Server

浅谈ArcGIS开发模式

Esri公司推出的ArcGIS产品是一个非常强大的体系,里面包含ArcGIS Desktop、ArcGIS Server、ArcGIS Engine、ArcSDE、ArcGIS Online等,那么这些产品不仅仅包含基础平台软件,也包含供用户二次开发的组件,那么这些组件也包含C/S、B/S、移动端的,下面就简单的给大家说一下,也让初学者有一个简单的了解。

C/S架构

主要是应用于局域网方面,一般是安装开发软件,一般情况下机器都不连互联网,主要处理数据编辑、数据入库、地图整饰等对机器性能要求比较高,那么这种开发模式包含

ArcGIS Engine\ArcObject(后简称AO)Spatial SQLArcSDE APIFileGeodatabase APIArcGIS Runtime(10.1版本)(先归到这里吧)

B/S架构

主要应用于局域网或者互联网,一般情况下使用浏览器,主要是进行数据查询、分析等

ADF(基本不用了)WebAPIArcGIS API for JavaScript 
ArcGIS API for Flex
ArcGIS API for SilverlightSOE(扩展)Service APIArcGIS Server Administrator API
ArcGIS Server REST API
ArcGIS Server SOAP API
ArcGIS Spatial Data Server REST API
ArcGIS Portal API WebAPI主要关注客户端的展现,比如加载地图、符号、查询、分析、报表ServiceAPI主要关注服务的管理

针对现在火爆的移动开发

Mobile API for Windows PhoneMobile API for AndroidMobile API for IOS

各种API相关的下载地址:http://support.esrichina.com.cn/support/download/software/

因为本人对B/S和移动端没有多少开发经验,就根据自己的理解简单介绍一下C/S的开发模式,其他的大家感兴趣的参考帮助吧。

浅谈ArcGIS开发形式

从上面的图我们可以看出,针对ArcGIS提供的三种GDB类型,AO都可以进行操作,FileGDB API直观看出只能操作FileGDB,剩下的SQL和ArcSDE API只能操作ArcSDE GDB,因为ArcGIS Runtime我没怎么用过,ArcGIS10.1才有,先不做讨论。


看看都能做什么?

AO:可以这么说,凡是ArcGIS Desktop能够做的,AO都可以搞定,ArcGIS Engine开发(有些功能因为许可问题不能实现),这种开发模式就是开发系统或者在桌面的基础上增加相关功能。

空间SQL:对ArcGIS简单对象(点、线、面、多点、多片)进行查询、编辑(增删改),编辑支持ArcGIS版本和非版本,不支持复杂对象(拓扑、几何网络等),支持影像

ArcSDE API:其实跟SQL类似,但是多了关于ArcSDE管理、投影转换、Schema、XML对象操作等

FileGeodatabase API:FGDB创建删除、数据编辑、属性查询、简单空间查询等

开发语言

AO:.Net(C#、VB)、Java、QT、C++(有些根据版本不同不再支持)

SQL:会写SQL语句即可

ArcSDE API:Java、C++

FileGeodatabase API:C++

系统部署

AO:在ArcGIS Desktop机器上使用VBA、AddIn、Python或者其他

ArcGIS Engine:开发的话安装ArcGIS Engine Developkit,部署的话安装ArcGIS Engine Runtime

SQL:不同的数据库配置不太相同,以oracle为例,需要引用相关的dll或者so文件

ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry

怎么配置 Oracle 侦听器来使用SQL操作ST_Geometry

FileGeodatabase API:把相关的dll加载上去即可

ArcSDE API:因为C++我没有用过,java的也没有怎么部署过,应该和普通java开发引用包部署类似

开发效率

以下是我的一个同事做的相关测试在如下环境进行测试比较AO和SQL的效率


上面的是支持ArcGIS Desktop开发

浅谈ArcGIS开发形式
上面的ArcGIS Engine就可以用


PS参考:

File Geodatabase API开发及空间SQL应用

SQL访问Geodatabase

ArcSDE SDK介绍

File Geodatabase API介绍

-------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
------------------------------------------------------------------

热点排行