目前绝大多数的供公开使用的栅格瓦片都是基于墨卡托投影切片的,少数是基于经纬度投影的。这两种投影方式的解析比较简单,并且支持全球范围。但是,在某些情况下,尤其是在展示局部地区的场景中,会接触到一些不常见的投影,例如,在 maptiler 中,提供了捷克,荷兰,瑞士等国家的地方投影坐标系的栅格瓦片。
常常会有这样的需求:将不同投影坐标系的栅格瓦片叠加在一起显示。
继续阅读前端栅格瓦片重投影目前绝大多数的供公开使用的栅格瓦片都是基于墨卡托投影切片的,少数是基于经纬度投影的。这两种投影方式的解析比较简单,并且支持全球范围。但是,在某些情况下,尤其是在展示局部地区的场景中,会接触到一些不常见的投影,例如,在 maptiler 中,提供了捷克,荷兰,瑞士等国家的地方投影坐标系的栅格瓦片。
常常会有这样的需求:将不同投影坐标系的栅格瓦片叠加在一起显示。
继续阅读前端栅格瓦片重投影渐变效果能够实现多种颜色之间的自然过渡,一般情况下,渐变往往与某种场强度相关,或者说某一个在二维空间内连续变化的数值相关,比如某片地区的气温,海拔高度,一条路径的畅通程度。地图中常见的渐变效果是热力图,分层设色也算渐变吧,只要分的够多。
渐变色也能用于实现阴影的效果,也就是从灰色过渡为透明的形式,从而使得 2D 的地图更加立体。下图是 iOS 中地图应用的截图,右上角的控件实际上就有阴影,用于与地图做区分。仔细观察的话,地图中水系的边缘也是有向内的阴影的,用于与陆地做区分。
本篇文章翻译自 maplibre/maplibre-gl-js 项目的《life-of-a-tile》。文中的超链接,对应到 Mapbox 的 v1.13.2 版本。
本篇文章将说明在 Mapbox 中,一个瓦片的加载流程,整个过程可以分为3个部分:
理想状况下,Event loop 和 Render loop 以60帧每秒的速度运转,类似 Tile loading 等重活,会放在 web worker 中异步执行。
继续阅读Mapbox 矢量瓦片的生命周期介绍写关于 JavaScript 性能的文章是件棘手的事,因为它是一个不断变化的目标。浏览器实现会定期改进,目前运行缓慢的代码可能很快就会被优化。然而,即使在自更新浏览器不断演进的情况下,仍然存在一套通用的最佳实践和禁忌,它们通常适用,并且不太可能发生改变。
继续阅读WebGL Insights — Getting Serious with JavaScript(下)WebGL相关的书籍并不多,《WebGL Insights》算是一本,其中各个章节都是由行业内资深的开发者们编写的。书中第四章的作者,Matthew Amato 和 Kevin Ring,正好是 Cesium 的联合创始人及资深开发工程师,所以就想着将本章翻译一下,加深一下理解。
正如我们将在第七章“Teaching an Introductory Computer Graphics Course with WebGL”中看到的,JavaScript 和 WebGL 的特性使其成为计算机图形学的一个极好的学习平台。其他人也认为,工具链的普遍可访问性和质量使它在图形研究中也具有很大的优势。在本章中,我们将讨论我们认为 JavaScript 和 WebGL 最重要的用途:编写和维护实际的基于浏览器的应用程序和库。
继续阅读WebGL Insights — Getting Serious with JavaScript(上)在大规模处理和显示空间数据时,没有什么概念比空间索引(Spatial Index)更有用和重要。空间索引是一类算法,它们通过特定的方式组织几何数据,使搜索更加高效。例如,执行以下查询:
即使面对数百万个对象,空间索引仍然可以在毫秒级的时间内返回结果。空间索引是PostGIS等数据库的基础,而 PostGIS 本身也是大部分GIS平台的核心组件。例如,处理遥测数据:将数百万个 GPS 速度样本与道路网络匹配,从而为导航服务生成实时交通数据。在客户端,常见的应用场景包括实时在地图上放置标签,以及在鼠标悬停时查找地图对象。
Mapbox的开发者已经构建了一系列高效的 JavaScript 空间搜索库,包括 rbush、rbush-knn、kdbush、geokdbush。本文接下来将尝试解析这些库的底层工作原理。
继续阅读探讨空间搜索算法——瞬间搜索数百万个点最近刚好读到《中评周刊》115期的《陈徒手: 1965-1975:北京地名修改内情》文章,里面提到了北京在六七十年代,曾要求过改革不适合时代潮流的已有地名。原文的说法如下:
对北京的街巷名称提出了许多革命倡议和意见,要求把一些带有封建主义、资本主义色彩的街巷名称,改为具有革命意义的名称,使首都的街巷名称充分反映出社会主义时代的精神面貌。
陈徒手: 1965-1975:北京地名修改内情
考虑到时间等因素,我就不去收集当时所有的地名更改相关的资料了,仅以文章中列出的改名信息,尝试设计一个,从数据到样式,符合当时环境的地图。如果读者有其他文革期间地名修改的相关资料,可以回复我。
继续阅读文革风格的地图设计尝试在开发一个将在线地图服务包装成 WMS 的程序时,无意中发现了一个可以将国内偏移后的栅格地图纠偏回来的办法。
继续阅读消除国内栅格地图偏移的小方法