GIS+JavaScript(node.js)的开发经验

GIS+JavaScript(node.js)的开发经验


发布日期: 2016-10-24 更新日期: 2016-10-24 编辑:zhangxiang 浏览次数: 7874

标签:

摘要: 我们现在遇到的webGIS,基本都是简单的点线面的展示,传统webGIS复杂的分析方法、算法用到的不多,因此我觉得前端遇到的问题是,前端如何具备更高的性能,如何具有更好的交互性,如何将数据存储到tile里去,按需加载,避免网络传输,如何在前后端进行一些分析计算...

我们现在遇到的webGIS,基本都是简单的点线面的展示,传统webGIS复杂的分析方法、算法用到的不多,因此我觉得前端遇到的问题是,前端如何具备更高的性能,如何具有更好的交互性,如何将数据存储到tile里去,按需加载,避免网络传输,如何在前后端进行一些分析计算,还有如何保护数据,不至于被直接爬虫了,等等。

我们用的基本还是js + nodejs + mongo/postgis,公司也有不少离线计算、实时计算、流式计算云云的大后端输出的信息包含地理,但这些一般做好接口就行了,mongo/postgis 自己玩或者数据量不大的情况都可以考虑,后者非常推荐。

nodejs和数据库的对接方面

1、关系型数据库(主要postgres): 如果你对ORM比较青睐,少写几个sql,可以考虑用sequelize.js。

2、mongoDB,还是比较推荐moogoose,用起来都很舒服。

通过矢量数据渲染瓦片和提供地图服务

渲染可以考虑mapnik,瓦片服务器可以是geoserver或mapserver,都是非常经典的款型了,可以在github上搜索一下cartoDB,看看他们是如何通过开源框架做拼合的,如果要想简单一些,用Mapbox Studio,看看如何通过和less语法类似的cartoCSS去定义自己的底图。

前端基本的框架

leaflet不错,小、快、扩展性好,openlayer也有一些用户,leaflet可以加各种叠加层,反正各种绘制方法都可以有,可以放在他自己定义的层里面,他的js帮你去完成层的拖拽等功能。

前端海量渲染

非webgl莫属了,光画点,100w都是支持的。用webgl应该也是个趋势,比如mapbox-gl从原生的webgl开始写了个现在越来越器重的库。而且支持3d,这个在传统gis里应该是比较弱的,尤其是3d还要大量绘制。

前端的强交互

交互性好,还是svg比较在行,但性能不是很好,特别是手机,如果有要求,可以考虑基于canvas的交互的库,开源的比如 fabric.js 、 kinetic.js、konva.js, 还有百度的zRender等等。

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org