javascript - 关于如何快速从 geojson 文件中删除多个功能的任何建议?

标签 javascript json leaflet geojson

我有一个要简化的 geojson 文件。它目前包含大约 33,000 条记录。该文件包含内华达州的所有道路,我希望能够删除城市(即拉斯维加斯)的道路,因为它占用了大量数据,而这些道路很容易从传单中看到 map ,因此不需要绘制它们。

我曾尝试使用 geojson.io 和其他 geojson 生成器来尝试删除道路,但是单独手动删除所有这些道路会花费太多时间。我希望有类似的东西,我可以在我想删除的区域上画一个矩形,它会删除所有这些功能。

编辑 我试图用 http://mapshaper.org/ 来简化图层但文件仍然很大。如果我尝试进一步简化它,生成的道路将不会非常准确。

最佳答案

有很多方法可以做到这一点,但由于您已经使用 mapshaper 来简化,我们可以使用 mapshaper 来裁剪或删除要素。

我使用 geojson.io 创建了一个名为 clip.json 的快速边界框 geojson - 有了这个我可以从道路 geojson 文件中删除此功能外部或内部的功能。虽然我创建了一个 geojson 用于剪辑/删除功能,但您可以以相同的方式使用预先存在的文件。

将两个 geojson 文件拖到 mapshaper.org 中。切换道路 geojson 的 View (因为一次只显示一层,当前层显示在顶部功能区上,可以通过单击名称进行更改。)

查看道路 geojson 后,打开页面的控制台窗口(页面右上角)并输入:

erase clip.json

这会给你类似的东西(使用内华达州和拉斯维加斯的基本 bbox):

enter image description here

现在您可以轻松导出文件并根据需要使用它。

要达到相反的效果,您可以使用clip:clip clip.json

关于javascript - 关于如何快速从 geojson 文件中删除多个功能的任何建议?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48292105/

相关文章:

javascript - 带有 If 语句的循环运行缓慢,太慢

Javascript 正则表达式仅返回一次出现

json - 如何在resteasy 3中正确反序列化日期

php - 访问数组中的 JSON

javascript - heatmap.js 中消失的数据点(传单插件)

javascript - 如何在JQuery中使用带有 'for'的多个数组元素

javascript - 控制台日志不显示请求和响应 json

发布 jQuery 时 JavaScript 数组被编码

jquery - "Invalid Label"与jquery和jsonp(跨域)

openlayers - 使用 Leaflet.js 编写一个将圆转换为多边形的函数