我正拿着从 Open Street Map 形状文件中获得的巨大 geoJSON 坐在这里。但是,大多数多边形是不必要的。从理论上讲,这些可以很容易地根据某些特性被挑选出来。
但是如何查询 geoJSON 文件以删除某些元素(特征)?或者将形状文件保存为另一种格式(在 QGIS 中工作)会更容易吗?
json 文件示例链接:http: //dl.dropbox.com/u/15955488/hki_test_sample.json (240 kB)
我正拿着从 Open Street Map 形状文件中获得的巨大 geoJSON 坐在这里。但是,大多数多边形是不必要的。从理论上讲,这些可以很容易地根据某些特性被挑选出来。
但是如何查询 geoJSON 文件以删除某些元素(特征)?或者将形状文件保存为另一种格式(在 QGIS 中工作)会更容易吗?
json 文件示例链接:http: //dl.dropbox.com/u/15955488/hki_test_sample.json (240 kB)
当您说“查询geoJSON”时,您是指让您获取geoJSON 的来源为您提供数据子集吗?像这样“查询”JSON 没有广泛实施的标准,但是您从中检索的每个站点都可能有自己的参数来减少您获得的数据大小。
如果您正在谈论削减客户端代码中的数据,那么您必须简单地遍历结构并删除属性(使用delete
)和数组项。
Shapefile 在大型(非大型)数据方面胜过 GeoJSON。它支持随机访问功能。要获取集合中的 GeoJSON 功能,您必须读取并反序列化整个文件。
我意识到这个问题很老,但如果有人现在遇到这个问题,我会推荐 TopoJSON。
将其转换为 TopoJSON。
默认情况下,TopoJSON 会删除所有属性,但您可以像这样标记您想要保留的属性:
topojson -o output.topojson -p fieldToKeep,anotherFieldToKeep input.geojson
TopoJSON 命令行参考中的更多信息
正如雅各布所说,只需迭代并删除您不想要的元素。为了方便起见,我喜欢http://documentcloud.github.com/underscore/#reject 。
如果要永久删除字段,只需将其转换为 shapefile,删除不需要的字段,然后将其重新导出为 GeoJSON。
根据您想要编辑它的方式以及可用的软件,您有几个选项。如果您可以访问 Safe FME,这是迄今为止最好的地理特征操作软件,它会为您提供大量选项(它几乎可以读取/写入(和转换)任何地理格式)。如果您只是在寻找可以处理大量数据的文本编辑器,我会查看 Notepad++ - 它可以容纳大量文本,您可以使用正则表达式进行查找/替换。安全的 FME 可能有点贵,但您也许可以试用