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

Render 2500 geoJSON polygons onto a leaflet map(将 2500 个 geoJSON 多边形渲染到传单地图上)
本文介绍了将 2500 个 geoJSON 多边形渲染到传单地图上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

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

这篇关于将 2500 个 geoJSON 多边形渲染到传单地图上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。如下图所示: 产生原因: JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会
问题描述: 在javascript中引用js代码,然后导致反斜杠丢失,发现字符串中的所有\信息丢失。比如在js中引用input type=text onkeyup=value=value.replace(/[^\d]/g,) ,结果导致正则表达式中的\丢失。 问题原因: 该字符串含有\,javascript对字符串进行了转
Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)
CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
Ordinals in words javascript(javascript中的序数)
getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)