将 2500 个 geoJSON 多边形渲染到传单地图上

2022-01-12 00:00:00 openstreetmap leaflet javascript map

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

I've been searching but cannot seem to find a solution.

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

I have a GeoJSON file which is 170mb in size. It contains about 2500 polygons. Somehow I need to render it to a leaflet map. Evidently at that size I have no chance.

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

What will the easiest way to render this data? Am I able to create a complete transparent png which can simply be rendered over the world map. The huge size is due to the complexity and the number of polygons. At this point I don't need it to be interactive.

谢谢,布赖恩

推荐答案

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

The easiest way is to create your own map tiles based on that data. There are a couple of ways of achieving this but my suggestion is that you use TileMill. It's free and very easy to use. So, basically you would:

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

  • Use TileMill and specify your GeoJSON file as the data-source

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

Configure how the map should be displayed (like the color of the polygons) with a special CSS-like language inside TileMill

生成图块

在您的 Leaflet 地图中加载一个新的 TileLayer 以引用您的文件

Load a new TileLayer in your Leaflet map that references your files

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

I've actually written a tutorial some time ago that uses a .shp instead of a GeoJson, but should be similar enough:

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

相关文章