编辑巨大geoJSON的最简单方法?

时间:2011-09-27 16:13:58

标签: javascript geojson qgis

我坐在这里有一个巨大的geoJSON,我是从Open Street Map形状文件中获得的。但是,大多数多边形是不必要的。从理论上讲,这些可以很容易地根据某些属性进行挑选。

但是如何查询geoJSON文件以删除某些元素(功能)?或者以另一种格式(在QGIS中工作)保存形状文件会更容易吗?

链接到json文件样本:http://dl.dropbox.com/u/15955488/hki_test_sample.json(240 kB)

7 个答案:

答案 0 :(得分:1)

当您说“查询geoJSON”时,您是否在谈论获得geoJSON的源代码为您提供数据子集?没有像这样“查询”JSON的广泛实现的标准,但是您从中检索的每个站点可能都有自己的参数来减少您获得的数据的大小。

如果您正在谈论削减客户端代码中的数据,只需循环遍历结构并删除属性(使用delete)和数组项就是您必须要做的事情。

答案 1 :(得分:1)

Shapefile击败GeoJSON用于大型(非兆)数据。它支持随机访问功能。要获得集合中的GeoJSON功能,您必须阅读并反序列化整个文件。

答案 2 :(得分:0)

根据您的编辑方式和可用的软件,您可以选择一些选项。如果您可以访问安全FME,这是迄今为止最好的地理特征操作软件,并且将为您提供大量选项(它可以读取/写入(和转换)几乎任何地理格式)。如果您只是在寻找能够处理数据量的文本编辑器,我会看一下Notepad ++ - 它可以容纳大量文本,您可以使用正则表达式进行查找/替换。安全的FME可能有点贵,但您可以试用

答案 3 :(得分:0)

正如雅各布所说,只需迭代并删除你不想要的元素。为方便起见,我喜欢http://documentcloud.github.com/underscore/#reject

答案 4 :(得分:0)

如果要永久删除字段,只需将其转换为shapefile,删除不需要的字段,然后将其重新导出为GeoJSON。

答案 5 :(得分:0)

我意识到这个问题很老,但如果现在有人遇到这个问题,我会推荐TopoJSON。

将其转换为TopoJSON。
默认情况下,TopoJSON会删除所有属性,但您可以标记您想要保留的属性:

topojson -o output.topojson -p fieldToKeep,anotherFieldToKeep input.geojson

TopoJSON command line reference

中的更多信息

答案 6 :(得分:0)

尝试使用Sublime Text Editor的免费软件