【第十章 思考总结】如何设计实现一个在线制图平台? | 您所在的位置:网站首页 › mapboxgl开发版 › 【第十章 思考总结】如何设计实现一个在线制图平台? |
对于一个专业的GISer,日常的出图需要用到专业的桌面端软件,比如ArcGIS、QGIS,但是破解版的ArcGIS安装实在太复杂,软件太重有没有?QGIS虽然安装简单,但是交互体验非常一般,经常找不到对应的功能有没有? 随着Web端技术的不断发展,如何把功能搬到线上,做一个小而美的工具,满足日常简单的制图需求?为啥要搬到Web端,有以下几大优势: (1)无须安装桌面软件,登录系统即可,非常便捷,如果只是预览个图层、截个图,根本没必要装桌面端软件; (2)数据和地图和永久保存; (3)便于共享,只要能访问浏览器,哪里都能打开看到成果; (4)与其他业务系统打通,将结果进行便捷呈现; 既然有存在的必要性,那先来进行产品设计吧~ 1.产品设计产品定位:一款便捷在线地图制图工具 面向人群:专业or非专业有地图制图需求人群 功能需求:如下脑图 技术可行性:常用技术栈可完成需求 2.技术实现2.1技术栈选型全部使用开源技术栈: 业务交互流程: 对应技术栈处理: (1)坐标统一 我们都知道要做一个地图,所有图层都必须在同一个坐标系下,所以对所有图层数据要进行坐标统一,有明确坐标信息的可使用proj4库进行坐标转换。因为使用mapboxgl,旧的版本只支持3857,所以最好坐标全部统一到WGS-84坐标,底图瓦片也支持3857或者900913的切图方案,否则无法正常显示。 (2)前端渲染 在图层较小的情况下,前端直接加载geojson进行渲染,灵活、速度快; 在图层文件较大的情况下,前端直接加载会出现传输下载时间长、前端崩溃等问题。借助geoserver地图服务geoserver-manager提供支持,通过Rest API实现与geoserver交互,可动态发布地图服务。详见github: https://github.com/geosolutions-it/geoserver-manager 一般有两种方案: 1)使用geoserver发布矢量瓦片,使用mapboxgl进行样式配置; 缺点:在小比例尺情况下,因为矢量瓦片会进行图形概化,导致显示信息不完整 前端渲染,影响显示效率 2)使用geoserver发布wms,前端配置sld样式在geoserver中生成styleId 缺点:生成大量sld文件不好维护 结论:建议设置文件大小或要素数量阈值,使用geojson前端渲染和wms相结合的方式。 (3)地图文件生成 将所有的图层配置和地图要素的配置全部打包成一个json文件进行保存,方便解析加载,使用对象存储,读写速度快、稳定。 |
CopyRight 2018-2019 实验室设备网 版权所有 |