【问题标题】:how to add millions of points into MapBox layer如何将数百万个点添加到 MapBox 图层中
【发布时间】:2014-05-05 14:43:18
【问题描述】:

我是 mapbox 的新手,我遇到了一个问题,我真的需要帮助。

我正在创建一个城市的人口密度图。这个城市有 53000 多个多边形,我使用 ArcGis 在每个多边形中生成随机点,总共创建 400 万个点....geojson 文件超过 600MB,我想从 mapbox 的 TileMill 制作 MBTile。

我尝试生成 1/20 点图层,即 200,000 点可以添加到 TileMill。但这不是我想要的。

而且我尝试在 TileMill 中添加 400 万个点的图层,它会崩溃...

我应该如何减少 400 万个点的大小?

或者有没有更好的方法来处理这种“百万分”的情况?

对于拥有数百万人口密度的经验丰富的开发人员的任何建议,我将不胜感激。非常感谢。

【问题讨论】:

  • MapBox 旨在可视化地图上的数据或点。对我来说,将 > 数百万个点可视化是没有意义的,因为由于人类认知能力的限制,任何人都无法理解这一点。在将它们添加到任何类型的地图之前,我宁愿尝试聚集或减少您的点数。
  • 您好,谢谢 Frouil,是的,我已尝试减少积分以生成其中的 1/20,并使 1 分代表 20 人。我有一个例子,这是针对美国 DC 的。你知道他们是如何为 DC 产生数百万点的吗?许多人赞赏。 datatools.urban.org/features/OurChangingCity/demographics/…
  • 您可以在此处从您的示例中找到人口图层:a.tiles.mapbox.com/v3/urbaninstitute.jrh8semi/page.html#13/… 您将看到它们不会实时添加所有点,但这些点是在之前生成并作为图块加载的。可能他们在高级缩放时逐个平铺,然后将这些平铺组合在一起作为图像?

标签: shape geojson mapbox population


【解决方案1】:

有点晚的答案,但是如果您需要处理该比例的矢量点,那么您可能需要考虑使用 Mapbox 协议缓冲区 ~ mapbox-gl。

工作流程:

  1. 获取 mapbox studio 并创建一个项目。
  2. 将您的数据上传到新项目并上传到云(地图框)或您自己的主机
  3. 实现一个 mapbox-gl-js 项目并引入包含 400 万个矢量点的图层
  4. 喝一杯冰镇啤酒

*** 请注意,Mapbox-gl 使用的是 Web-gl,这确实是最前沿的东西,如果您需要支持较旧的浏览器,请使用 tmcw 的答案。

【讨论】:

    【解决方案2】:

    我尝试在 TileMill 中添加 400 万个点的图层,它会崩溃

    TileMill 就是为此而设计的,如果您的数据被正确索引和格式化​​,它就不会崩溃。这不起作用的原因通常归结为“您的数据没有被索引”。如果您想使用 shapefile,请使用shapeindex 对其进行索引:否则将您的数据导入PostGIS 并确保该表为正确的索引。

    【讨论】:

    • 感谢您的回答,正如您所说,我优化了我的 shp 文件,现在可以将 400 万个点加载到 TileMill 中,虽然速度很慢。但它有效,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    相关资源
    最近更新 更多