8

我一直在寻找,但似乎找不到解决方案。

我有一个 170mb 大小的 GeoJSON 文件。它包含大约 2500 个多边形。不知何故,我需要将它渲染到传单地图。显然在那个尺寸我没有机会。

呈现这些数据的最简单方法是什么?我是否能够创建一个完整的透明 png,它可以简单地呈现在世界地图上。巨大的尺寸是由于复杂性和多边形的数量。在这一点上,我不需要它是交互式的。

谢谢,布赖恩

4

4 回答 4

14

最简单的方法是根据该数据创建自己的地图图块。有几种方法可以实现这一点,但我的建议是您使用TileMill。它是免费的,而且非常易于使用。所以,基本上你会:

  • 使用 TileMill 并将您的 GeoJSON 文件指定为数据源

  • 在 TileMill 中使用特殊的类 CSS 语言配置地图的显示方式(如多边形的颜色)

  • 生成瓷砖

  • 在引用您的文件的传单地图中加载新的 TileLayer

实际上,我前段时间写过一个使用 .shp 而不是 GeoJson 的教程,但应该足够相似:

http://build-failed.blogspot.pt/2012/03/custom-map-tiles-part-2-tilemill.html

于 2013-07-13T17:32:04.363 回答
7

我无法反驳 psousa 的建议。对于简单的演示,TileMill 是一个好主意。

但是,如果您想将多边形叠加到另一张地图上,我认为唯一的方法是使用 Mike Bostock 的 TopoJSON 和 D3。

TopoJSON 主页面: https ://github.com/mbostock/topojson/wiki

您正在谈论的规模示例:http: //bl.ocks.org/mbostock/4206573

您必须在 github 上浏览 Mike 的优秀示例,以了解如何将传单与 D3 叠加层结合使用。

我目前正在使用数百个复杂的多边形成功地做到这一点。还没有必要闯入成千上万的人……还没有。

于 2013-07-19T03:29:15.377 回答
7

还有geojson-vt,它显然可以即时平铺无服务器- 经过一段时间的加载时间。

来自 GitHub 的演示 gif

于 2017-01-30T11:09:24.803 回答
3

只是另一个谦虚的建议。如图所示,通过推出我自己的 Geoserver 和 PostgreSQL DB + PostGIS 实例并生成 WMS(不是 WFS),我已经成功地加载了 10000 多个多边形并查询了属性。

10000 多个多边形

但是实现起来并不简单,特别是如果geojson数据是原始(也是唯一的)数据

在这方面,我会第二个 psousa 使用 TileMill 的回答。

于 2015-01-07T14:20:36.763 回答