Gis 对GeoJSON数据进行过滤

Gis 对GeoJSON数据进行过滤,gis,geojson,geography,Gis,Geojson,Geography,我想知道通常如何对GeoJSON数据的FeatureCollection进行过滤。例如,以以下内容为例: 现在,如果这些数据都在一个特征集合中,人们会如何过滤这些数据,例如查看震级为2.5级的地震?似乎在处理FeatureCollection时,首先要做的事情是将每个特性提取到它自己的项中:这就是通常所做的,以便可以查询单个属性吗?GeoJSON是一种传输格式,正如您所注意到的,对它的任何操作都需要您每次读取和解析整个文件。如果您计划对数据进行任何处理,您应该将其转换为支持索引的更有用的格式。如

我想知道通常如何对GeoJSON数据的
FeatureCollection
进行过滤。例如,以以下内容为例:


现在,如果这些数据都在一个特征集合中,人们会如何过滤这些数据,例如查看震级为2.5级的地震?似乎在处理FeatureCollection时,首先要做的事情是将每个特性提取到它自己的项中:这就是通常所做的,以便可以查询单个属性吗?

GeoJSON是一种传输格式,正如您所注意到的,对它的任何操作都需要您每次读取和解析整个文件。如果您计划对数据进行任何处理,您应该将其转换为支持索引的更有用的格式。如果您需要保持基于文件的格式,那么我建议您使用大多数现代GIS支持的格式。或者,您可以使用空间启用的数据库,例如

在这两种情况下,转换数据最简单的方法是使用

{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:OGC:1.3:CRS84" } },
"features": [
    { "type": "Feature", "properties": { "id": "ak16994521", "mag": 2.3, "time": 1507425650893, "felt": null, "tsunami": 0 }, "geometry": { "type": "Point", "coordinates": [ -151.5129, 63.1016, 0.0 ] } },
    { "type": "Feature", "properties": { "id": "ak16994519", "mag": 1.7, "time": 1507425289659, "felt": null, "tsunami": 0 }, "geometry": { "type": "Point", "coordinates": [ -150.4048, 63.1224, 105.5 ] } },
    { "type": "Feature", "properties": { "id": "ak16994517", "mag": 1.6, "time": 1507424832518, "felt": null, "tsunami": 0 }, "geometry": { "type": "Point", "coordinates": [ -151.3597, 63.0781, 0.0 ] } },
    { "type": "Feature", "properties": { "id": "ci38021336", "mag": 1.42, "time": 1507423898710, "felt": null, "tsunami": 0 }, "geometry": { "type": "Point", "coordinates": [ -118.497, 34.299667, 7.64 ] } },
    { "type": "Feature", "properties": { "id": "hv61900626", "mag": 2.91, "time": 1504833891990, "felt": null, "tsunami": 0 }, "geometry": { "type": "Point", "coordinates": [ -155.011833, 19.399333, 2.609 ] } }
]
}