ArcGIS解决方案与超图的对比.docx
- 文档编号:12687021
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:17
- 大小:369.90KB
ArcGIS解决方案与超图的对比.docx
《ArcGIS解决方案与超图的对比.docx》由会员分享,可在线阅读,更多相关《ArcGIS解决方案与超图的对比.docx(17页珍藏版)》请在冰点文库上搜索。
ArcGIS解决方案与超图的对比
ArcGIS解决方案与superMap的比照
1功能综述
1.1Server级产品功能
1.1.1效劳管理机制
ArcGISServer提供了完整的效劳管理机制和管理方法,包括通过桌面软件ArcCatalog进行管理,和通过网页访问的方式进行管理。
REST效劳有专门的页面进行浏览和访问,检查效劳的元数据和相关信息。
SuperMapiServer效劳的配置管理异常简单,没有考虑系统的对象池化机制、进程回收机制、进程占用模式、内存使用机制、平安控制、缓存机制,这些机制对于面向SOA的GIS效劳器都是至关重要、不可或缺的,因此,iServer还没有开展为一个完善的GIS效劳器产品。
由于iServer不能基于桌面软件进行管理,因此对于网页管理器,SuperMapiServer和ArcGISServer的效劳配置管理的差异可以从以下方面进行比照分析。
1.1.1.1效劳的发布方式
配置空间数据库,制作地图文档,配置地图效劳,发布地图效劳是GIS效劳
发布的一般流程。
ArcGISServer可以基于.Net平台或Java平台发布地图效劳,发布方式可以通过网页管理器,也可以通过桌面软件ArcCatalog,形式灵活方便。
SuperMapiServer只能基于Java平台发布地图效劳,并且发布方式局限于网页管理器,不能在相应的GIS平台SuperMapDeskpro2021实现效劳的管理和发布。
1.1.1.2效劳组织管理
ArcGISServerManager或ArcCatalog支持管理多个ArcGISServer效劳器,每个效劳器中可以添加多个GIS效劳,并单独设置效劳的启停状态,在一个具体应用中可以使用多种不同的效劳实现多源数据的集成和业务系统的整合。
SuperMapiServer网页管理器中的一个iServer效劳器只能基于一个工作空间管理多个地图,同时每个地图均提供了根底地图效劳、数据效劳、网络分析效劳、空间分析效劳、交通换乘出行效劳,不能设置这些地图或效劳各自的启停状态,或全部启动,或全部停止,很难实现地图效劳的精细化管理和多种效劳的融合共享,这种不合理的机制给效劳器的配置和应用效劳的管理带来了极大的不便,更重要的是影响GIS平台在企业环境中的应用。
1.1.1.3管理页面风格
ArcGISServerManager经过四个版本开展,目前页面风格和页面逻辑已经比拟成熟,左侧菜单仿Outlook风格简洁实用。
iServer网页管理器界面粗燥简单,对于各个子功能菜单没有精细设计和组织,网页对W3C标准支持差,页面定位方式为绝对定位,不能随浏览器窗口大小改变而变化。
1.1.1.4对象池化机制
GIS对象池,和数据库连接池类似,就是用一个大的容器,将一些已建立好的实例放入其中,随时听从调度,当请求的实例小于等于容器中最大实例数的时候,那么无需请求新的server实例,如果请求数大于容器中最大实例数时,只能等待被占用对象的释放,设置对象池可以获得请求速度的提升,但必然要受到连接数的限制。
最大连接数需要根据具体的并发需求和硬件配置而定。
进行对象池化设置ArcGISServer可以灵活设置池化实例数,在程序设计中也提供了显示创立和销毁对象的方法。
SuperMapiServer没有提供类似功能。
1.1.1.5进程占用模式
一个实例占用操作系统一个进程,还是多个实例占用操作系统一个进程,ArcGISServer均可以根据实际应用进行设置,前者每个实例拥有独立的计算资源,实例与实例之间相互不影响,便于应用效率的提升和效劳故障的排查。
SuperMapiServer没有提供类似功能。
1.1.1.6进程回收机制
效劳器软件需要具备长时间不间断为应用提供效劳支持和计算的能力,为了防止垃圾对象常驻内存造成内存泄漏,以及系统长时间运行带来的不稳定性,需要提供一种机制能够定期关闭进程、重启进程以保证效劳的稳定和性能,进程回收的时间可以自行设置,一般为网络访问的空闲期,如凌晨3点。
ArcGISServer可以对进程回收进行详细设置,SuperMapiServer没有提供类似功能。
1.1.1.7缓存机制
1.1.1.7.1切片缓存
地图缓存机制是WebGIS面向公众应用的根底,也是提升用户体验的前提,地图切片的工作需要在应用部署之前进行,包括设置缓存级别、缓存比例尺、切片的大小、图片格式、原点坐标等等。
当底图数据更新时,还需要对地图缓存进行更新,这些都是地图缓存所必须的功能。
在根底上进一步完善了地图缓存机制。
SuperMapiServer管理器中没有提供缓存生成和管理的功能,需要SuperMap研发人员提供相应程序用以切图,用户或二次开发人员无法自行对地图切片进行管理。
1.1.1.7.2动态缓存
当地图没有切片时,可以设置动态缓存,用户访问地图时,系统会自动缓存当前范围的地图,以至于用户再次访问该范围内的地图时,无需动态请求效劳器,实现按需减轻效劳器的负担并提升用户体验的目的。
ArcGISServerMapResourceManager控件可以直接设置地图是否采用动态缓存,SuperMapiServer没有提供类似功能。
1.1.1.8平安机制
ArcGISServer通过本地帐号平安和Internet连接平安来实现效劳的平安机制,本地帐号平安通过agsadmin、agsusers的权限设计实现,Internet连接平安那么基于角色的访问控制来保护GIS效劳器发布的内容。
ArcGISServer通过多种机制实现Web效劳和Web应用的平安:
a)用户和角色
对于ArcGISServerfor.Net,用户和角色可以存储于:
●Windows操作系统用户和组
●MicrosoftSQLServer
●自定义Provider
自定义Provider由标准成员资格管理框架提供支持,允许将用户和角色存储于不同的位置,如其他数据库、XML文件、动态目录、LDAP等等。
b)授权方式
不同的用户和角色存储方式拥有不同的系统授权方法,对于ArcGISServerfor.Net,授权方法有:
●Windows身份认证
●根本认证
●基于令牌的身份认证〔客户端通过用户名和密码获取令牌,然后使用令牌去访问效劳〕
●基于窗体的身份认证
c)平安嵌套层(SSL)
SSL通过S方式加密用户在客户端页面的输入,保证输入信息的平安传输。
SSL可以在根本认证、令牌身份认证和窗体身份认证模式下使用。
ArcGISServerforJava有着类似的平安设计。
SuperMapiServer没有任何平安性设置,简单的平安控制,如页面登录超时控制没有提供,即使是最根本的页面管理器登录名和密码,也是通过明码的形式写入xml配置文件,平安性极差。
1.1.1.9应用程序创立和初始化
ArcGISServer可以在网页管理器中直接创立模板应用程序,迅速将发布的效劳部署为一个应用供测试访问或基于模板进行扩展开发,部署过程中可以设置地图的初始化信息,动态缓存,内存使用机制,图层显示样式等等。
SuperMapiServer同样可以在页面管理器创立应用程序,但创立过程生硬,同类图层如点、线、面的符号样式只能按照一种方式显示,效劳和应用的耦合度高。
1.1.1.10内存使用机制
当没有使用地图切片缓存时,ArcGISServerADF应用程序可以指定生成的临时地图的存放位置,可以是内存或硬盘Output目录,前者消耗内存但提升了性能,后者节省了内存但损失了一定的性能,给用户选择的余地。
SuperMapiServer没有提供类似的机制。
1.1.2支持的效劳
1.1.2.1常用效劳类型
ArcGISServer提供的效劳主要有:
地图效劳、地理编码效劳、空间数据效劳、几何效劳、地理工具效劳、三维效劳、栅格影像效劳等。
相对而言,SuperMapiServer只能提供八种常用地图效劳:
1.根底地图效劳
2.数据效劳
3.空间分析效劳
4.网络分析效劳
5.交通换乘分析效劳
6.OGC效劳
7.KML效劳
8.GeoRSS效劳
1.1.2.2REST效劳
REST全称为RepresentationalStateTransfer〔表述性状态转移〕,REST软件架构由RoyThomasFielding博士在2000年首次提出,它的五条关键原那么是:
a)为所有“事物〞定义ID
b)将所有事物链接在一起
c)使用标准方法
d)资源多重表述
e)无状态通信
WebGIS应用效劳器实现RESTAPI,可以通过访问节点和URL地址的层次结构访问WebGIS应用效劳器所发布的各种效劳及效劳所包含的内容,如:
:
//
结构非常清晰,所有的信息交互由JSON格式数据完成,效率很高,可以应用于轻量级的客户端应用开发框架中。
ArcGISServer客户端开发接口均通过REST效劳实现,SuperMapiServer没有提供REST效劳。
〔据说最新版尚未正式发布的SuperMapGIS6R产品系列提供了对Rest类型效劳的支持,但实际应用效果未知〕
1.1.2.3OGC和ISO/TC211国际标准的支持
ArcGISServer对OGC标准标准提供了较好的支持,主要包括、、、、、、、GML等等,具体请参考?
ESRI-SupportedOpenGeospatialConsortium,Inc.,andISO/TC211Standards?
。
SuperMapiServer提供、、、的支持,对OGC标准支持不好,效劳发布比拟繁琐。
ArcGISServer对ISO/TC211提供了较好的支持,用于功能标准和质量保证,SuperMapiServer没有提供任何支持。
1.2对开发的支持
1.2.1.Net开发平台
ArcGISServerADFfor.Net基于.Net平台,是一套用来构建WebGIS应用的开发库,包括本地.Net库、COM库、Javascript库。
整个开发环境集成于VisualStudio2005/2021之上,同时帮助系统嵌入在MSDN中,方便开发人员查阅和调试。
除此之外,开发环境搭建好之后,VistualStudio中会提供一套模板应用程序,供初学者学习或作为工程程序的根底。
二十多种已有的Web控件以及自定义的Web控件全部支持AJAX,增强了应用网站的性能,改善用户体验。
.Net开发平台提供两种主要开发方式:
SoapAPI和AOAPI。
SoapAPI主要面向无状态应用开发,通过WebService调用ArcGISServer效劳,AOAPI既能面向无状态应用开发,也可以面向有状态应用开发,通过DCOM方式远程调用COM对象实现复杂的GIS功能。
SuperMap官方网站上看到SuperMapiServer2021有基于.Net的版本,但是没有在实际工程中见过真正的产品,暂时不做分析。
1.2.2Java开发平台
ArcGISServerADFforJava和ADFfor.Net的开发架构类似,提供SoapAPI和AOAPI两种开发方式,用于实现无状态或有状态系统开发。
SuperMapiServerJava2021提供了一套完整的应用开发框架,包括WebGIS应用的根本功能和少局部高级分析功能,分析功能主要还是网络分析、公交换乘等。
SuperMap系列产品基于UGC共相式内核,由于SuperMapDeskpro能够实现的分析功能有限并简单,所以SuperMapiServer所能实现的功能非常有限,除了提供对局部开源标准的支持之外,根本还停留在水平。
SuperMapiServerJava2021开发接口分为四大类:
CommonTypes、Components、Service、SAC,对象模型图如下列图所示:
图5-1SuperMapiServerJava效劳器对象模型图
1.2.3客户端开发
从功能实现的角度考虑,效劳器端开发框架能够利用更多效劳器开发语言的优势,访问地理信息平台根底对象库,实现更多更复杂的有状态或无状态应用,相对于效劳器端开发框架,客户端开发框架更为轻便,通常用于实现一些通用性效劳供公众或企业使用,用于无状态应用。
从用户体验的角度考虑,用客户端API实现的RIA〔富互联网应用系统〕,极大改善了传统应用的用户体验和应用效率,Javascript、Flex、Silverlight分别是RIA开发的三面旗帜。
1.2.3.1RESTAPI
ArcGISServerRESTAPI是基于REST效劳的一套全新API,通过GET或POST方式向ArcGISServer效劳器发送请求,返回结果为JSON格式的数据,为基于REST效劳的各种客户端API提供效劳支持,除了ESRI已经推出的JavascriptAPI、FlexAPI、SilverlightAPI,开发人员可以使用其他客户端开发库进行拓展,如EXT等等。
ArcGISREST效劳的出现,为企业级GIS应用开辟了一条新的实现思路,利用现在各种流行的富客户端技术为WebGIS用户提供了良好的用户体验和轻量级开发的选择,并且易于扩展,易于和互联网上各种效劳实现Mushup融合共享,是ServerGIS开展的重要趋势之一。
SuperMapiServer不支持REST效劳。
1.2.3.2JavascriptAPI
ArcGISServerJavascriptAPI使用的效劳由RESTAPI提供支持,而JavascriptAPI在客户端的实现基于开源的Dojo库,并使用面向对象的方式封装了地图操作的根底功能,基于SOA架构理论上我们可以对JavascriptAPI进行无限扩展,但该框架不易于实现效劳器端开发框架的所有功能,或实现方式受互联网应用的限制,如空间数据的高级编辑。
它所提供的主要功能有:
a)显示交互性的地图
b)执行一个GIS模型并显示结果〔可以利用所有GIS地理工具〕
c)基于在线地图或GoogleMap或VirtualEarth根底地图上显示业务数据
d)对属性或几何图形进行查询搜索并显示结果
e)查询地址并显示结果
JavascriptAPI包含的资源组件一般有:
a)Maps--支持Ags上cache和非cache地图的显示,指定投影参考系
b)Graphics--绘图,和通过鼠标、键盘等操作实现属性信息的展示或地理操作
c)Tasks--和C/S应用非模态对话框类似,提供Querying、Findingaddresses、Findingattributes、Identifyingfeatures、Geoprocessing功能
基于Dojo和其他库进行扩展--比方利用Dojowidgets,googlemapsapi,virtualearthapi等等。
ArcGISServerJavascriptAPI定位于轻量级的无状态应用,能够和其他的效劳进行资源整合,实现"Mushup",最典型的应用就是通过GoogleMapExtension将GoogleMap地图作为底图,上面放置业务图层,访问ArcGISServer发布的GP效劳。
SuperMapiServerJava提供了一套完整的JavascriptSDKAPI,用于客户端应用开发:
这套开发框架最大的问题在于接口相对独立,没有基于开源库,很难自行进行扩展和开发。
效劳调用模式类似于ArcIMS,没有基于REST效劳,因此SuperMapiServerJava客户端开发框架无法享用REST所提供的清晰的效劳组织结构,并真正实现GIS共享。
1.2.3.3FlexAPI
ArcGISServerFlexAPI和JavascriptAPI类似,实现基于REST效劳的无状态应用,因此该框架能实现的地图效劳功能和JavascriptAPI一样,区别在于客户端的实现和应用,Flex更适合于完整的纯GIS地图展现与应用,当涉及到与大量网页HTML交互时,采用JavascriptAPI框架更适宜。
1.2.3.4SilverlightAPI
ArcGISServerSilverlight/WPFAPI是ArcGISRIA开发的一种新的选择,同样基于REST效劳用以实现无状态的应用,提供良好的用户体验和开发方式。
该API构建于Silverlight/WPF平台之上并与VisualStudio2021整合,开发简便易用。
1.2.4Mobile终端开发
Mobile移动终端应用是信息化开展的趋势,Mobile结合GPS、GIS可以实现终端在途监控,任务移动处理,历史轨迹分析,商业智能分析等。
ArcGISServer提供了一套Mobile终端的开发接口和Mobile效劳,能够实现基于ArcGISServer的移动终端应用,便于和其他基于ArcGISServer应用程序进行无缝整合。
SuperMapiServer不支持Mobile终端开发和Mobile效劳。
1.2.5针对开发的总结
1.2.5.1GIS效劳决定功能实现
基于SOA架构的GIS效劳器软件,为各种不用的应用场景提供不同的GIS效劳,来满足复杂业务环境对GIS系统的要求。
不管是ArcGISServer还是SuperMapiServer,都是基于SOA架构而构建,它们对效劳的管理、对效劳标准的兼容、对效劳类型的支持、对效劳功能的实现,都将直接影响该软件是否能够真正的适应企业级应用。
通过上文对两者效劳类型和标准支持的比照,可以看出ArcGISServer的效劳设计更为成熟和完善,有能力支撑各种类型的客户端应用和业务功能的需求。
SuperMapiServer的效劳设计比拟初级,管理方式简单,面临真正的工程很难基于SuperMapiServer直接进行二次开发。
1.2.5.2开发方式决定功能实现
ArcGISServer标准效劳支持ADFfor.Net、ADFforJava、ADFforMobile开发,ArcGISServerREST效劳支持Javascript、Flex、Silverlight/WPF客户端开发,并且可以扩展到任意客户端开发平台。
这些开发方式面向不同的开发需求,可以实现不同的应用功能,选择多种多样。
SuperMapiServer提供了Java和.Net〔没见过实际产品〕两种基于效劳器端的开发接口,以及Javascript客户端的开发接口。
Javascript客户端开发使用局部ASP.NetAjax开发库,为传统的WebGIS开发方式,类似于ArcIMS,指定效劳器地址、端口、地图名称等参数获得连接,向效劳器发送请求并获得响应,没有提供统一的面向效劳的开发方式,不易实现系统的扩展和整合,不易为用户提供Flex、Silverlight等良好用户体验的开发方式。
虽然目前超图官方宣布在其下一代发布的SuperMapGIS6R产品系列中将提供对Flex,Silverlight等开发方式支持,但尚未有成功的应用案例,从目前了解的技术资料来看,其提供的功能也极其有限。
1.3功能扩展
ArcGISServer和SuperMapiServer均能提供面向效劳的应用,系统集成能力和功能扩展能力是软件必不可少的。
ArcGISServer提供了多种符合SOA标准、符合OGC标准的效劳,除此之外,GeoprocessingService〔简称GP效劳〕为系统的扩展提供了非常坚实和灵活的根底,通过AO定制Toolbox,将Toolbox发布为效劳,以实现各种复杂的功能应用。
ArcGISServer相比过去ArcIMS优势之一就是提供了几乎所有桌面的GIS功能,但是由于网络环境的种种限制,很难或不便直接通过各种客户端的指令去访问ArcGISServer提供的这些功能,即桌面开发的思想无法直接应用于面向效劳的软件架构中,因此,ArcGISServer实现了将功能封装为GP效劳,通过标准效劳将
功能接口暴露出来,效劳于应用。
GP效劳的设计是一种标准的设计结构,而GP效劳所实现的功能是多种多样的,或由系统直接提供,或由开发人员进行自由定制,以面向效劳的方式实现了对原桌面复杂GIS功能的调用,这也是基于SOA的ArcGISServer架构优势所在,在系统集成和企业级GIS应用中具有非常重要的意义。
SuperMapiServer基于超图共相式设计,但无法将底层功能发布为效劳供给用层使用,二次开发人员很难自行设计面向效劳的GIS功能,即使直接修改软件底层,由于SuperMapDeskpro2021桌面功能所限,开发人员所能发挥的空间有限,无法适应系统集成和企业级GIS应用的大环境要求。
目前SuperMapiServer2021只能支持已经提供的五种功能有限的根本效劳,并且效劳管理能力很差。
2资源比照
2.1文档和例子代码
ArcGISServerfor.Net文档嵌入在MSDN中,ArcGISServerforJava文档嵌入在Eclipse帮助或其他IDE环境中,ArcGISServer文档既是开发帮助文档,也是全面学习ArcGISServer的专业教材。
安装在本地的各种平台下的例子代码有一百多个,在线资料库中有更多更完整的文档和代码资料。
SuperMapiServer提供了一份CHM格式的联机帮助,内容简单,效劳器端开发和客户端开发的代码例子各一套,学习资料稀缺。
2.2在线资料库
ArcGISServer在线资料库相当丰富,不仅包含了ArcGISServer介绍资料、典型案例、音频讲解、在线Demo,还按开发方式分为不同的专题,包含许多成熟应用代码和各种在线演示,系列代码教程可以帮助初级开发者从入门到精通。
ArcGISServer资料库:
SuperMapiServer在线资料非常有限,仅有一篇文字介绍,和几个在线演示Demo,没有供开发者学习的资料和例子代码。
SuperMapiServer资料库:
2.3中文社区
ESRI中文社区有四万多名会员,每天发帖量400-800,其中包含丰富的技术教程和开发经验讨论文章。
中文社区:
:
//bbs.esrichina-bj
大讲堂:
2.4技术支持
双方均提供售前和售后技术支持,ArcGISServer是一个成熟产品,技术支持更为专业,SuperMapiServer技术支持人员数量更多。
2.5数据资源
ArcGIS在多达50多个行业得到应用,ArcGISGeodatabase模型已经在各类数据库得到应用,采用ArcGIS系列解决方案可以得到最广
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ArcGIS 解决方案 超图 对比