有关WebGIS开源解决方案的追究

 文章版权由作者李晓晖与博客园共有,若转载请叫大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/。

1.背景

供销社目前的多数列用的凡ArcGIS产品+Oracle+WebLogic/Tomcat/APUSIC/WebShpere这样的架构。由于庄从事的凡政府类,甲方单位大都买生以上产品,所以广大时候忽略购买以上产品所用之费用。并且多门类的放开,ARCGIS、IBM还有联通或移动是公司之合作伙伴,涉及到商务问题,对开源的需并无是充分死。再则,政府项目一般注重的是系的长治久安跟爱维护,所以她们以基础建设达到投资比大方。

但就当局经费之决定趋于严厉,管理者水平的增强,对系软件的采办起来谨慎起来。目前,公司进一步多的类实地是尚未ArcGIS产品的,虽然,我们既会用GeoServer来代替ArcGIS
Server使用,也生产了相应的出品,并且于许多单种类中早已运用,但是仍是起欠缺之。

2.即庄GIS开源项目的阙如——没有任何的开源解决方案

A.底图的完好处理还是用ArcGIS
Desktop来开展的安排,然后以安排好的底图用ArcGIS切图。

B.虽然使用本地瓦片文件作为底图,绕开了地图的在线服务,但是就切图工具以来,虽然公司产生自己之切图软件,但是大采用的或者ArcGIS的家伙断好图了再被现场实施。

C.涉及到空间数据的管制时,依然是故底ArcGIS
Catalog+SDE导入到Oracle数据库中。不干到大方空间数据库管理时,是用的一直通过GeoServer来修改shp数据。并无统一保管,也不便利其他业务组获取数据。

D.时依据GeoServer的种类,空间分析能力不强。部分功能都探索出,但是还从未以特别的空间分析产品达做出GeoServer版本。

3.WebGIS通用型全套开源解决方案

因开发条件,可以拿主流的WebGIS开源解决方案分为两派遣,一派是C/C++,一派是java。

C/C++的化解方案吧:Mapserver(服务器)+QGIS(桌面软件)+Tomcat(中间件)+PostGIS|MySQL空间扩展(数据库)+Openlayers(JS)/
openscale (FLex)(浏览器客户端)

JavaEE的解决方案吗:Geoserver(服务器)+uDig(桌面软件)+Tomact(中间件)+PostGIS|MySQL空间扩展(数据库)+Openlayers(JS)/
openscale (FLex)(浏览器客户端)

3.1MapServer和GeoServer的完整对比

功能上:MapServer弱于GeoServer,QGIS要强于UDIG。

频率及:Mapserver对WMS(Web Map
service)的支持更迅猛,而Geoserver则还擅长于做WFS(Web Feature
service)规范之习性查询。

以下是出自于http://www.cnblogs.com/mazhenyu/archive/2013/03/16/2963177.html统计的MapServer和GeoServer的使用量趋势图。

                       

3.1.1 MapServer的特点

供个别种植工作方法,CGI方式(适用于CGI、AJAX、FLEX开发人员)和MapScript方式(适用于Php、Java、
C#、Python开发人员)。以原生CGI方式效率最高,配合TileCache,可以便捷生成特别范围之地图瓦片数据。比较基于.Net和J2EE的商
业或初步源平台,MapServer更符合高负荷的巨型互联网地图应用。MapServer
是根据C写的地形图服务软件,比用JAVA写的GeoServer速度而及早。而且 MapServer
历史而较 GeoServer 悠久,甚至MapServer 的属性与商业的 ArcIMS
的效用可娉美。

3.1.2 GeoServer的特点

GeoServer(http://geoserver.org/)是一个抱J2EE规范,且实现了WCS、WMS及WFS规格,支持TransactionWFS(WFS-T),其技术中心是整合了颇负盛名的JavaGISolkit–GeoTools。对于空间信息存储,它支持ESRI
Shapefile及PostGIS、Oracle、ArcSDE等空间数据库,输出的GML档案满足GML2.1之渴求。由于其是纯Java的,所以更可为复杂的条件要求,而且由于她的开源,所以开集团好因GeoServer灵活实现特定的对象要求,而这些都是生意GIS组件所缺的。GeoServer作为一个纯粹的Java实现,被布置于应用服务器中,简单的如Tomcat等;它的WMS和WFS组件响应来自于浏览器还是uDig的请求,访问安排的空间数据库,如PostGIS、OracleSpatial等,产生地图及GML文档传输到客户端。

有以下优点: 1) 用 java 语言编写、标准的 J2EE 框架、基于 ser vlet 和
STRUTS 框架、 支持快的 Spring 框架开发; 2) 兼容 WMS 和 WFS
特性、支持 WFS-T 规范; 3) 高效之数据库支持
PostGIS、ShapeFile、ArcSDE,Oracle、MySQL 等; 4) 支持广大种影子; 5)
能够以网络地图输出为 jpeg、gif、png 等格式;

3.2QGIS和uDig的比较

A.界面:QGIS优于uDig。

B.空间分析能力:QGIS优于uDig。

C.发展趋势上:uDig优于QGIS。

D.操作上:uDig优于QGIS。

E.支持之数据源上:uDig优于QGIS。

 

QGIS的界面:

 

uDig的界面:

 

3.3 PostGIS和MySQL空间扩展的自查自纠

根据http://www.cnblogs.com/shanyou/p/3256906.html所提供的见识,下面用其截取总结。

3.3.1 PostGIS的特点

A.PostgreSQL 的稳定极强。

B.
任何系统都产生它们的特性极限,在强并发读写,负载逼近极限下,PG的性能指标仍可保障双曲线甚至对数曲线,到终点其后不再下降,而
MySQL 明显出现一个波峰后回落。

C. PostGIS多年来当 GIS
领域处于优势地位,因为她发加上的几乎哪类型,实际上不止几何类型,PG有大量字典、数组、bitmap
等数据类型,相比之下MySQL就不同多,instagram就是为PostGIDS的空间数据库扩展POSTGIS远远强给MySQL的my
spatial而使PGSQL的。

D.
对于WEB应用来说,复制的性状很关键,mysql到现在吗是异步复制,pgsql可以就同,异步,半一起复制。还有MySQL的协同是基于binlog复制,类似oracle
golden
gate,是依据stream的复制,做到同步很困难,这种艺术进一步切合异地复制,pgsql的复制基于wal,可以好同复制。同时,pgsql还提供stream复制。

3.3.2mySql空间扩展的性状

A.MySQL有一部分实用的运维支持,如 slow-query.log
,这个PostGIS肯定得定制出来,但是要可以配备利用就还好了。
B.
MySQL的innodb引擎可以尽管优化利用系统具备内存,超大内存下PostGIS对内存以的未那么尽管,
C.MySQL的复制可就此一系列从仓库,但是在9.2之前,PostgreSQL不可知为此由库带从库。
D.从测试结果上看,MySQL5.5的属性提升大怪,单机性能大被PostgreSQL,5.6应当会强更多.
E.对于web应用来说, MySQL5.6 的坐MC API功能很好用,PostgreSQL差有。

4.契合企业之解决方案

4.1原因

店铺的后台备是因为Java编写,所以选择自然又偏于受基于JavaEE的化解方案。且我们GIS组已经以GeoServer的开源框架达成开展了相关支出,比如最差路径服务的出和道优化的开等,并且已会杀好之应用GeoServer提供的WMS服务及WFS服务来拓展替AGS化,而且还编写了面向GeoServer的项目配置以及揭示工具。

又,公司之V14GIS产品前端采用的是ArcGIS_JS,并且已指向该道开展了汪洋卷入和整合。

故而,适合当下店的GIS开源化的缓解方案应是首选:

Geoserver(服务器)+uDig(桌面软件)+Tomact(中间件)+PostGIS(数据库)+ArcGIS_JS
(JS)。

对直色,只需要拿js部分易成我们曾经有些基于Flex的产品即可。

4.2具体解决方案

A.用PostGIS将shp数据入库管理。

B.以uDig连接PostGIS后展开配图。uDig可以生成sld文件,以及公布暨GeoServer的体裁服务上来,从而实现对劳务的配图控制。

C.用GeoServer来代替ArcGIS
Server。通过WMS服务可兑现类似于AGS中之export出图方式,实现部件图层的动态出图。通过WFS服务会促成同类似于AGS中之Query服务。通过WFS服务啊可以实现类似于AGS中之FeatureServer服务,从而进行图层的编纂。同时,通过WFS服务还能落实类似于AGS中之GeometryServer服务,实现比如union等功效。

D. 用GeoWebCache插件,可以兑现类似于AGS中的cache功能。同时支持切图。

E.用GeoTools,可以以后台开发复杂的空间分析和有关操作的机能。

5.亟待解决之题目

5.1术问题

A.需要证明GeoWebCache的布置与切图功能。以及针对性GB以上数量的切图效果。

B.用证明PostGIS对中文的支持(目前测试是支撑之)。以及特别数量入库时的祥和。

C.配图的易用性。目前早就测试uDig可以配图生成sld,且能配备比较复杂的图。但是怎么能够一直以所配之图层发布暨GeoServer后,让这个sld自动和拖欠图层关联,还从来不测试。后期还得考虑是否来必不可少开支一个再次简明的配图及发表工具。

D.基为GeoServer的空中分析效益还尚未证实,目前独自开了部分。

5.2事情问题

倘GIS方面彻底换成开源方案,MIS、工作流、统计、手机等等业务怎么和GIS业务做?

眼前店本着稳定工作为主以相同标准库。不同的政工使用标准库中之不同用户空间。有相的片的表共用一个作业用户空间。假如我们GIS部分普使用了开源方案,甚至空间数据的军事管制且采取开源的数据库来展开保管。如何成功同其它业务的构成,也是一个要想和团结解决的地方。

自个人觉得,是足以以GIS的空间数据用开源数据库存放,GIS的业务表还是放入到主版本的数据库中,应该是可解决以上问题的。

不过问题还要来了,既然还出主版本所用底数据库了,比如Oracle,又何须还以开源数据库也。

而是,经过自身近年之钻,GeoServer也是永葆Oracle中的数量的公布之,只是有有关的插件而装。同时,也闹不经过SDE将空间数据导入Oracle的办法。

但,这种方案,有个顶可怜之问题就操作相对复杂。

5.3 项目执行人口的执行难度加大问题

开源项目的配置执行问题,是本着工程人员的一个伟人挑战。同时,维护的难度啊会见加大。人之题目实际上是绝要命的题材。

同时工程人员之培训所急需的支付啊应该是公司须考虑的一个地方。

 

                        
—–欢迎转载,但保留版权,请让大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                          
如果您觉得本文确实帮了您,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^