thematic工具的重构

前面说的thematic出图流程有一个明显诟病,从软件开发的角度上看相当的不成熟,就是一个纯业务流程的产物,前后端耦合极高,再加上很多很多业务化服务希望能自动集成出图的结果,所以一直有重构的想法,并让其更加易用、易扩展。之后幸运的看到了这么一篇文章精读《前端与 BI》,让我对整个流程有了新的想法。

阅读全文

thematic工具的诞生

在气象行业,将各类型数据保存成图片,附着在各类文档材料中是个很常见的需求,其实行业内有些成熟的软件去处理这个事情,比方说常用的NCL,python中也有matplotlib包来绘制各类型的图片。从系统的角度上来说,业务人员会希望有一个交互性更好的平台来实现出图。

阅读全文

Cesium 开发系列8 贴地展示-自定义canvas

在Cesium中对点、线、面不同类型feature做贴地的具体操作,就不再赘述了,我们在二维的地图sdk使用过程中经常会开发一些自定义图层,大多基于canvas来实现,例如热力图、色板图、echarts图等,像leaflet中通常是一个新的dom来与主地图做同步,mapbox等新生代选手则可以直接添加到主地图的dom中。

对于这类自定义的canvas图层,在cesium中想要贴在地形之上进行展示,其实也很简单,GroundPrimitive配合上自定义material就好了,具体过程可以参考代码的注释。

阅读全文

试着还原下墨迹mapbox合作的雷达图展示

四步走,墨迹天气雷达数据可视化指南这篇文章中,提到了用矢量瓦片代替传统传统栅格图像可视化方案,可以达到更流程的性能,更高清的数据展示,更灵活的样式表达。感觉挺有意思,同时也为了考察这么做的成本,就试着还原做了下。

从文章来看整个过程总结起来就是准备数据geojson,切成pbf或者mbtiles在 mapbox 中展示。

阅读全文

在web中渲染格点数据探讨(1)

在地理信息行业中,我们常遇见的数据中有这么两类:

  • 一类是站点(散点)数据。地图上分布着位置不均匀的各种站点,比方说气象站,水文站,如果我们需要查看站点数值趋势,就可以通过等值线图等方式,比如d3 的 contourturf 的 isolines,还可以通过插值方法将站点插值到网格上,转化成格点数据,后面我们也会讨论。
  • 也有一类是格点数据。这个在气象上就非常常见,气象预报数据通常是模式跑出来的,如同渔网一样的格点,这种数据提供了查询任意位置数值的作用,它的渲染也同样常见,传统的方法是在服务器端生成好对应图片,在浏览器上贴图,这里追求实现的是前端渲染

阅读全文

Leaflet.Canvas-Marker-Layer 图层的诞生

之前写过一个基于 Leaflet 的标注点图层插件,Leaflet.Canvas-Marker-Layer,今天简单的说一下为什么需要用到它。在 Leaflet 中如果你需要渲染 marker,有两种方式:

阅读全文

tilestrata 插件发开指南

Tilestrata的插件开发基本围绕着生命周期各个阶段展开,如果要开发一个自己的插件,首先想清楚插件的功能属于生命周期的哪个阶段,依据官方规定好的该阶段代码结构,写好插件内容,在服务端利用use进行注册就好。个人觉得Tilestrata吸引人的一个地方就是在于插件机制非常的灵活和便捷,十分好上手。

阅读全文

tilestrata 入门指南

简单来说Tilestrata就是一个瓦片地图服务器。根据其自身的介绍,它有如下的特点:零配置,简洁,测试覆盖率高,性能高,拓展性强。可以通过TileStrata Balancer实现负载均衡,无缝伸缩。可以通过内置控制台去调试查看渲染时间。

阅读全文

tilestrata-disk 插件使用及浅析

tilestrata-disk插件可以在磁盘中存储/检索瓦片。它可以兼顾瓦片缓存和瓦片提供两个功能,代码虽简单,但是功能十分全面,个人感觉非常的实用,很值得推荐。

用它来缓存瓦片时,一定要为每个图层使用不同的目录(例如:”tiles/layer_a”, “tiles/layer_b”)。如果设置了maxage参数,插件会检查瓦片的最近一次修改时间,如果间隔过长,将返回null。如果 设置maxage=0,就相当于没有开启缓存功能。

阅读全文

tilestrata-etag 插件使用及浅析

tilestrata-etag插件可以在 tilestrata 的请求中设置 ETag,可以让服务缓存变得更加高效可控,节省带宽。如果客户端的 ETag 的版本和服务器要发送的一致,则可以直接使用缓存中的数据,不再重新发送数据。

阅读全文