Posts for: #Geo

构建高性能高程 API

构建高性能高程 API

本文转载自《构建高性能高程 API》


在彩云科技,我们始终致力于为用户提供更高时空分辨率的气象数据。在过去这些年中,我们始终面临一个挑战:由于高程数据分辨率的限制,徒步、越野等户外活动爱好者用户经常遇到彩云提供的数据与实际感受有着明显偏差,这种情况在海拔变化剧烈的山地和高原地区尤为突出。

Read more

制作富士山周边高程 RGB 瓦片

TLDR

前几日查资料的时候发现了 MapTiler 制作的轨迹高程数据可视化页面,效果非常好:

在其官方的 Blog 找到了 2019 年的博文 提到了使用的技术是将高程数据编码到图片的 RGB 通道值中,然后在浏览器中解码,这样就可以在浏览器中实现高程数据的可视化了,特别是轨迹数据这种连续的数据,下载几张图片就能绘制连续的高程曲线。

Read more

tzf 的演进过程

tzf 及相关项目的基础开发工作基本稳定了,在之前的文章零星有些开发和设计过程的资料:

这一篇是最终的总结,从项目的启动到逐步优化和演进的过程。

Read more

彩云天气地理查询优化(2): 行政区划查询

本文转载起《彩云天气地理查询优化(2): 行政区划查询》


在彩云天气 App 和 API 里可以获取到当前经纬度的气象预警信息,比如「大风蓝色预警」。 不同国家地区的预警发布规则不一样,在中国是按照行政区划层级来发布的,其中最小到县级行政区。 所以在实现中,需要将经纬度转换成行政区划层级信息,再查找相关的预警信息。 在过去几年中,这部分模块经历了多次重构和完善,在此分享下每个版本的实现方式。

Read more

tzfpy Rust 重写🎉

书接上文:

经过一个周末的各种折腾,终于用 Rust 实现了 tzf 的功能,代码在 ringsaturn/tzf-rs

又用了晚上跑了多次 CI 将 Python 移植也重写出来了 ringsaturn/tzfpy

tzfpy 只要安装 >= 0.11.0 版本的就是用纯 Rust 实现的,在这个版本号之前都是 Python+CGO 实现的。 API 参数和之前一样,没有变化,但是索引命中的时候只需要 3~4 微妙,之前 Python+Go 需要 16 微妙。 最慢的单次查询 300 多微妙,timezonefinder(用 C 实现的多边形算法版本) 最慢的时候会有 1000 多微妙。

Read more

使用地图瓦片索引实现地理聚合

在处理大规模的散点数据时,有时候我们需要提供一个只读的查询 API 在地图上做可视化。 当数据量过大,比如百万这个量级,将数据一口气全部返回给前端在浏览器上处理是不太合适的。 应当在后端服务内完成一定聚合,将聚合后的搜索返回给前端。 这里介绍下在 Go 中如何使用 MongoDB + Tile 索引实现这件事。

Read more

使用「Cheap Ruler」进行快速测地线逼近

提示