有关WebGIS开源解决方案的探索

 文章版权由小编李晓晖和微博共有,若转发请于显明处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

合作社方今的半数以上品种采纳的是ArcGIS产品+Oracle+WebLogic/汤姆(Tom)cat/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(桌面软件)+汤姆(Tom)cat(中间件)+PostGIS|MySQL空间增添(数据库)+Openlayers(JS)/
openscale (FLex)(浏览器客户端)

JavaEE的缓解方案为:Geoserver(服务器)+uDig(桌面软件)+汤姆act(中间件)+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的使用量趋势图。

 MySQL 1                      

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完成,被布置在应用服务器中,不难的如汤姆(Tom)cat等;它的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的界面:

 MySQL 2

uDig的界面:

 MySQL 3

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(桌面软件)+汤姆act(中间件)+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,可以在后台开发复杂的半空中分析和有关操作的效果。

MySQL,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/

                                                                          
即使您觉得本文确实扶助了你,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^

                                    MySQL 4

网站地图xml地图