使用OpenStreetMap制作地图的新方法

2021-04-24 04:42:19

如果您为网络开发,您可能听说过OpenStreetMap,这是一个谷歌地图的开放数据替代。尽管OSM的广泛识别,但您可能有问题,比如如何使用OSM数据制作Web地图?我如何托管自己映射?

如何使用行星文件,Postgis数据库和运行OSM&#34运行TileServers的流行导游;抖动地图"风格。即使您认为那样,您可能很好奇导航地图,用于高DPI清晰度和外观定制的高DPI清晰度和客户端定制。

Protomaps是一种新的基础映射系统,它是整个堆栈的端到端重新思考,以定制MapMaking应该简单的想法为导向。

在大约五分钟内,您可以选择世界上的任何区域,并获得在S3上本地,离线或无人机运行的自包含地图 - 查看入门指南。

Web地图是A"全堆栈"挑战:审美目标,例如Map标签的明智排列,不仅需要通过JavaScript渲染来支持,而且需要支持底层数据后端。 Protomaps是设计为端到端系统的原因 - 看看是什么PROTMAPS? - 虽然每个部分都与其他工具互操作。

截至目前(2021年4月),每个组件都是可行的并且在生产中使用; I' LL描述了如何在地图生态系统中填补特定的差距,以及我正在开发它的方向。

基于强大的WebGL的地图渲染器,如MapBoxGL JS,Tangram和Harp.GL,用于矢量地图瓷砖的强大的基于WebGL的地图渲染器。尽管如此,传单库仍然非常受欢迎,因为它的简单,DOM驱动的设计。 protomaps.js为传单映射体验带来了高DPI矢量渲染和地图定制,有一些故意的妥协:查看protomaps.js不是什么。

protomaps.js也是代码驱动地图符号系统的系统。虽然上述WebGL库和像MAPNIK这样的基于图像的渲染器公开了用于地图标签和标记的有限API,但Protomaps.js通过实现自定义符号化器来在运行时进行扩展;它是一个直接模式的直接进入画布。

protomaps.js是alpha阶段,需要很多工作 - 它被用来为这个站点上的所有地图供电,但内部API仍然不稳定。我现在打开它来衡量纯粹的2D WebMap渲染器:Protomaps.js在github上

标签目前,良好,坏。线性特征标签大多破碎;应该考虑多个候选人职位,以便点标标签等城市和POI。将需要通过下载服务和Web地图API的矢量数据来支持某些特征,例如特定于国家/地区的公路屏蔽。

通过ProtoSprites库和港口流行的开源地图样式支持SVG图标,如雄蕊设计和#39; S碳粉。

所有功能都需要以性能设计为主要目标:虽然基于纯的帆布的体验永远不会像WebGL那样闪烁,但Protomaps.js旨在与&#34一样好; slippy"图像地图。

z / x / y图块形式的矢量地图数据通常可用作商业API。如果你不需要整个星球,应该可以自己举办一块世界。

像Mbtiles这样的现有格式基于SQLite。这限制了对在生产中运行服务器的自主站映射的能力。

PMTiles是一种基于HTTP字节服务的格式,可以在S3或任何其他云提供商上托管。它可以由Protomaps.js渲染器直接读取,以获取完全无操作系统的地图应用程序。它'对于一个完美的匹配项目,即长期订阅托管服务是不可取的。

消除从地图数据中的所有复杂性:当前状态QUO是将PostgreSQL用作OSM数据的中间存储,并从PostgreSQL点播渲染图块。相反,从下载网站下载预渲染的PMT​​iles,或使用全局Web API。

地图下载(但不是Web API)Snapshot OSM每60秒:这将OpenStreetMap转变为真正的直播,可编辑项目。这可以解决地图可以通过任何人改进地图的想法之间的不匹配,以及地图服务是几周或实时数据的几个月。

对于那些需要全局托管服务的人,您可以注册API键。

缩放:地图下载目前限制了500,000个节点,以帮助隔离虫子 - 例如,海洋"泄漏"进入土地。如果您发现问题或有疑问,请给我发电子邮件。

地图下载和Web API应支持高质量的标签概括,高速公路盾牌,以及基于BRIC的道路网络简化。

无限映射:PMTiles下载应可自定义,以通过OSM Express数据库在OpenStreetMap中包含任何对象或标记。

OSM作为现场项目也有与破坏或破坏数据相关的风险。 Facebook的每月版本和#39; S日光贴图分布应该是地图下载和Web API的选项。

关系数据库是使用OSM的最受欢迎的方式,但需求数据模型的有损转换。 OSMX是一个嵌入式数据库,用于节点,方式和关系,以便在新鲜OSM数据上制作构建应用程序。在github上看看。

所有Protomaps服务都建立在OSMX之上;它'幅度比替代品快。其他公司使用'其他公司用于产生差异。微小的提取物提供新的PBF格式数据,用于其他应用程序,如路由和地理编码等其他应用程序。

地形:Protomaps.js应该渲染客户端的山丘和轮廓线,并且基于SRTM,Aster或Mosaic数据集应可下载作为PMTiles Archives的替身瓷砖。

卫星:无云的Landsat或Sentinel-2图像层是一个很好的帆布渲染,自定义地图标签。

我想通过澄清PROTMAPS是一个自筹资金,单人产品,在Web制图所在的独特愿景中执行。如果您的公司或项目有一个映射挑战,我可能会帮助您解决,安排短短30分钟的电话,在[电子邮件受保护]的电子邮件给我发送电子邮件或在Twitter上找到我(DMS打开),我'当然在github上发布。如果你也碰巧在台北,我会给你买咖啡。