符合我公司GIS开源解决方案的探讨

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/。 1.前言 这一周,我对GIS开源解决方案中涉及到的开源软件以及相关技术和流程做了一些初步的探索,也了解了一下其他公司利用开源方案做的比较成熟的案例。

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.前言

这一周,我对GIS开源解决方案中涉及到的开源软件以及相关技术和流程做了一些初步的探索,也了解了一下其他公司利用开源方案做的比较成熟的案例。这里我将一些技术关键点的预研做一下总结,同时对其他公司开源成功案例做一个分析,并提出个人认为目前最符合公司实际的GIS开源解决方案。

2.技术关键点预研

2.1空间数据入库(postgreSQL+postGIS)

利用postGIS将shp数据导入到postgreSQL中:

            

           

2.2空间数据编辑(uDig)

导入postgreSQL中的空间数据,可以进行展示以及编辑等操作。

 

2.3SLD样式文件的制作

可以直接利用uDig进行图层配图以及生产对应的SLD文件,并且可以导出:

 

 

2.4利用geoserver发布postGIS中的空间数据

在Geoserver中添加stores选择postgis即可:

 

 

2.5利用Geoserver发布图层组

将多个单独发布的图层服务组合为一个图层组,在一次请求中可以显示所有图层组下的图层:

 

包含了单元网格和社区的图层组:

 

2.6利用GeoWebCache切图缓存

研究了GeoWebCache的两种切图策略:一种是类AGS切图策略,即预先切图;一种是类AGS动态切图策略,即第一次请求时切图。

切图的相关配置和结果:

 

 

2.7对利用postGIS中的ST_Geometry函数进行空间数据管理和空间分析的预研

PostGIS中的ST_Geometry函数与SDE中的基本相同,不过它包含了自身的一些扩展函数。大致有如下功能:

 

在postgresql中测试了基本的空间要素增删查改以及空间要素的面积和长度获取:

 

3.其他公司成熟案例的研究

某公司的平安XX(安防项目)为这次研究的案例对象,通过与他们研发人员的交流,我大致得出以下几点信息:

3.1采用框架

Geoserver(地图服务器)+geoWebCache(瓦片缓存服务)+JBOSS(中间件)+postgreSQL(空间数据库)+Oracle(业务数据库)+uDig(空间数据编辑工具)。

3.2 该项目的一些分析点总结

a.该项目中Geoserver发布了近六十个图层,无明显不稳定问题。

b.该项目中的空间数据查询、编辑以及涉及到的空间分析功能,均用ST_Geometry函数实现,效率不错。

c.项目中地图瓦片缓存采用的geoWebCache的动态出图策略。近六十个图层作为底图,第一次请求出图的时间大约为20多秒(算上网络耗费)。

d.业务数据和空间数据分开存放,业务数据存放到Oracle中,空间数据存放到postgresql中。

e.项目的部署,为他们研发事先将数据均处理好后,再将已包含了数据的Geoserver和空间库发给现场工程人员。

 

3.3 个人对该项目的评价

3.3.1优点

a.出图和空间分析等功能是基本齐全的,效率和稳定性也不错。平安XX本身是一个比较大的项目,经历了比较好的实践考验。

b.将空间分析均用ST_Geometry+SQL来实现,而不通过Geoserver本身提供的WFS服务,可以有更多的定制需求,并且如果出错也方便排查。如果编写的合理的话,是可以加速数据的获取。同时,非GIS专业的开发人员也更容易理解。

c.将空间数据和业务数据分开,这样可以保证原有的其他项目使用的业务数据改动不大,保证系统的稳定性。

3.3.2缺点

a.项目的实施均需要研发人员参与,将数据入库以及发布。然后还要配合现场将环境布置好。

 

3.4 有待证实的地方

a.当用geoWebCache进行切图时,如果底图配图很复杂,是否可以保证切图的不失真。

b.当用GeoWebCache进行切图时,如果底图是很大的影像图(GB以上),是否可以保证切图的不失真,以及第一次出图时的出图效率。

c.当用Geoserver发布超过100个图层服务时,Geoserver本身的稳定性问题。

 

4.符合公司的开源解决方案

通过以上的技术关键点预研和其他公司成功案例的分析,结合公司目前的整体架构,我个人提出一个自认为比较符合公司的开源解决方案:

GeoServer(地图服务)+本地瓦片服务(ArcGIS等切图)+Tomcat(中间件)+Postgresql(空间数据库)+Oracle(业务数据库)+uDig(空间数据编辑工具)。

4.1系统详细构架解说

4.1.1底图缓存服务

公司可以依然采用ArcGIS来进行切图(公司有正版),这样有三个好处:

a.项目实施人员易操作。

b.配图容易。

c.可以保证切图质量和效率。

切完的图,我们采用我们已有的的离线瓦片策略即可,绕过GeoWebCache的采用和配置。当然,如果不想用ArcGIS切图,想进行全开源化,我们也可以研究使用MapTiler这个开源切图工具,切图的效率和效果都比较好。

4.1.2 部件动态出图(WMS)

采用公司已有的基于GeoServer的功能。

4.1.3 矢量查询(WFS)

采用公司已有的基于GeoServer的功能。

4.1.4 空间分析功能(WFS)

对于已通过GeoServer开发的空间分析功能,可基于采用。对于未开发的部分,建议采用ST_Geometry函数来进行。

4.1.5 空间数据库

采用postgresql+postGIS。PostGIS支持批量入库,也支持中文数据,稳定性和性能均很不错,操作也很容易。同时,开发方面的教程和社区论坛也很多。

4.1.6 数据编辑器

采用uDig来进行空间数据编辑。uDig可以直接导入shp数据或者postgis中的数据,也可以将shp数据导入到postgresql中。还支持数据的样式编辑以及SLD文件的生成。

4.2项目的实施

a.切图环节工程可自行完成。

b.空间数据的入库环节工程也可以通过postGIS自行完成,操作跟catalog操作一样很简单。

c.空间数据的发布和部件基本样式的关联,以及业务数据的生成,可以通过修改目前已有的小工具来实现。

d.复杂样式的配置和发布,可以由研发来协助完成。

 

                                                                       -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

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

                                      

 

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
4月前
|
人工智能 运维 搜索推荐
软件定制开发与标准化产品的比较及选择
随着信息技术的不断发展,软件已经成为企业运营中不可或缺的一部分。而在选择软件时,企业用户通常面临两个选择:软件定制开发和标准化产品。软件定制开发和标准化产品各有其优缺点,以下是对两者的比较和选择:
|
4月前
|
人工智能 NoSQL atlas
MongoDB推出四项AI驱动的新功能,助力开发者提升效率并加速应用程序现代化
生成式人工智能让开发者有机会构建更好的应用程序。通过自动执行重复性任务,由AI驱动的工具和功能可以帮助开发者节省大量时间和精力,同时更快地交付更高质量的应用程序
MongoDB推出四项AI驱动的新功能,助力开发者提升效率并加速应用程序现代化
|
7月前
|
数据采集 数据挖掘 测试技术
Gartner:实施混合式数据分析平台的三个步骤
Gartner:实施混合式数据分析平台的三个步骤
|
监控 API
亚云邮件营销软件背后的阿里云平台支持
亚云邮件营销软件如何使用阿里云平台的各项服务
5016 0
|
存储 Rust Kubernetes
微软开源主管 Sarah:2021 年四大开源注意事项
微软开源主管 Sarah:2021 年四大开源注意事项
|
XML SQL 存储
选开源报表开发还是商用?2020报表软件产品整理
开源报表却越来越受到程序员热烈追捧,如ireport、 Jsper report、jfreechart这样的免费,开源的JAVA报表工具,在一下开源的JAVA报表相关的论坛里面都是热火朝天,发问者众多。
选开源报表开发还是商用?2020报表软件产品整理
|
机器学习/深度学习 自然语言处理 TensorFlow
搜狗开源业内最全「阅读理解工具集合」,助力研发人员快速构建高效模型
搜狗搜索在Github上开源“搜狗阅读理解工具集合”,提供了完整的阅读理解任务组件及10+个复现模型,极大降低了复现相关模型的难度。
1394 0
|
数据管理
解析IBM总结出的五项SOA最佳实践
本文讲的是解析IBM总结出的五项SOA最佳实践,要取得SOA部署的成功,必须先建立起核心架构领导团队,以确保付出的努力符合需求、并指导架构的发展。针对架构的最佳实践可分为重用、数据管理等几个不同的方面。
1692 0