几年前的一个实战项目(一个实际上线使用的项目、真实数据、真实用户,不是那种做出来拍片表演的东西)。

项目全部利用开源平台的解决方案进行设计、开发。由于商业保密原因,滞后一段时间做个总结。将项目的架构情况及遇到问题总结简单一下,给自己做个备忘,也希望能对大家有些帮助。

项目中前端框架选用LEAFLEFT,这主要是与前端开发人员以前的基础和LEAFLEFT相对来说比较容易上手决定的,我心目中理想的框架还是OPENLAYERS。不过前端框架相对来说替换容易,而且有问题影响也不会大。所以这事就没有太纠结。另外少部分三维功能选用了Cesium(毕竟部分决策用户对业务不太熟,只对颜值比较关注,所以也得满足他们的需求!)。

后台数据库选择POSTGERSS+POSTGIS,POSTGERSS在项目中运行的表现是比较完美的,基本没有出过问题。无论性能、稳定性!后边上线后运维中的数据备份、数据恢复也基本与商业数据库表现差不多。

为了服务端的稳定和性能,我搭建了两套WEBGIS服务器框架(GEOSERVER,QGISDERVER),满足不同部署机器的需要(根据内存和CPU的不同)。但由于团队内JAVA狂热者的强烈坚持,只能以GEOSERVER为主,QGISDERVER从服务器。其实个人感觉:QGISSERVER在复杂功能扩展和项目上线后的易维护方面更有优势。但没法,这就是实战与演习的区别:实战的不确定因素太多,有时候就是不会按套路来的,你得能应付。

GEOSERVER在上线初期,在数据集中录入和浏览的业务场景下出现过严重的性能瓶颈(我们自开发了GEOSERVER的扩展接口,方便前台业务系统调用进行GIS数据录入)。

因此对GEOSERVER及POSTGIS相关参数进行过几次集中优化,同时对硬件进行了升级。后边业务功能几经扩展也再没有产生性能问题,完全满足现有业务几年内前瞻的需求。

另外还有移动端,通过WMS服务和自定义GIS服务接口访问GIS数据,实现现场数据的查看及数据采集功能。性能及用户体验也是非常不错的。唯一遗憾的是移动端没有以地图为主,实现以一张图管理。这与产品设计者的地图思维有关,没法。

数据处理及出图打印当然就是QGIS了。无论维护图层,备份图层、出图打印、数据处理QGIS表现还是不错的,不过你需要对一些功能进行小调整,不然一些小BUG会让你很烦,严重影响你的工作效率。

还利用OSGEARTH做过一些三维数据的查看及验证工具,这些也没啥,只是看看嘛,满足需求也比较容易。就是数据大了有些耗资源,得买好机器。
   先写到这里吧,后续想起什么再写。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐