Lov*_*jat 1 maps openstreetmap mapbox
我开始探索 Overpass Turbo 和 Mapbox,希望构建我的旅行应用程序。我可以在OT中查询一些数据并获取城镇或岛屿,没问题,我了解查询和导出为Geojson的整个过程。
但出于学习目的,我总是在一个小区域内进行查询,这样我就不会得到太多数据。
此外,各种资源都提到整个地球的 OSM 数据非常庞大,如下所示:https: //wiki.openstreetmap.org/wiki/Downloading_data它说:整个地球是一个巨大的数据量。从区域提取开始,以确保您的设置正常工作。Osmosis 等常见工具或用于数据库导入和转换器的各种导入工具需要数小时或数天才能导入数据,这在很大程度上取决于磁盘速度。
但当我访问 AllTrails、Maps.me 或 Mapbox 等应用程序时,它们似乎显示了大量数据,绝对是主要的 POI。
有人可以简要解释一下这是如何完成的吗?他们真的下载了所有数据吗?或者一点一点地取决于当前的边界框。任何我可以进一步研究的信息,我将不胜感激!
谢谢
PS 我希望用 Node.js 构建我的应用程序,如果这能有所作为的话。
几个原因:
他们并不总是展示一切。你永远只能看到有限的区域,而永远看不到整个世界的完整细节。如果放大,您将看到更小的区域,但包含更多细节。如果缩小,您将看到更大的区域,但细节减少(兴趣点较少或没有,较小的道路和水道消失等)。
它们不包含所有可用数据。OSM 数据非常多样化。OSM 包含道路、建筑物、土地利用、地址、POI 信息等等。对于每个提到的元素,都有可用的附加信息。例如,道路具有最大速度信息、车道数、表面信息、是否有照明以及是否有人行道或自行车道等。建筑物可能具有有关建筑物层数、建筑物颜色、屋顶形状和颜色等的信息。您列出的应用程序并不需要所有这些信息,因此可以从数据中删除。
他们进行简化。并不总是需要详细显示道路、建筑物、水道和土地利用。相反,特殊算法会减少多边形数量,从而使数据变得更小,同时保留足够的细节。这通常与缩放级别相结合,即如果缩小,道路和湖泊将变得不那么详细。
他们从不让整个世界离线。根据应用程序的不同,地图可以在线或离线使用,或者两者兼而有之。如果在线,服务器必须存储大量数据,而不是客户端设备。如果离线,地图将被分成可由客户端处理的更小的区域。这通常意味着某个地图仅覆盖一个州、某个地区或有时是一个城市,但很少覆盖整个国家(除了较小的国家)。如果您想离线存储整个国家/地区,您将需要大量的数据存储。
他们从不直接访问 OSM。所有显示 OSM 地图的应用程序和网站都不会从 OSM 实时获取此信息。相反,他们要么已经拥有包含所需数据的本地数据库。该数据库通过行星转储从主 OSM 数据库定期更新。或者他们使用第三方地图提供商(例如屏幕截图中的 MapBox)来显示顶部带有图层的底图。在这种情况下,他们不必在服务器上存储太多信息,只需在 OSM 上显示他们想要显示的内容即可。
以上都不是专门针对 OSM 的。您会在其他地图应用程序和其他地图源中找到类似的机制。
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |