如果您为网络开发,您可能听说过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点播渲染图块。相反,从下载网站下载预渲染的PMTiles,或使用全局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上发布。如果你也碰巧在台北,我会给你买咖啡。