如何使用python在geojson文件中选择给定功能?
场景: 我有一个大的(120+MB).geojson文件,它表示一组如何使用python在geojson文件中选择给定功能?,python,gis,geojson,Python,Gis,Geojson,场景: 我有一个大的(120+MB).geojson文件,它表示一组LineStrings特性 下面是一个使用json.dumps(geoFile['features'][0])选择的feature示例: 目标: 根据prop1中的属性值选择功能 在geopandas地图(或其他python地图)上渲染选定的功能,以及应用程序中其他地方使用的数据帧中的一些地理参考点 问题: 基于properties/prop,从geojson文件中选择功能的python语法是什么? 显然,我知道如何根据
LineStrings
特性
下面是一个使用json.dumps(geoFile['features'][0])
选择的feature
示例:
目标:
- 根据
中的属性值选择prop1
功能
- 在
地图(或其他python地图)上渲染选定的geopandas
,以及应用程序中其他地方使用的数据帧中的一些地理参考点功能
- 基于
,从geojson文件中选择properties/prop
功能的python语法是什么?
- 显然,我知道如何根据索引进行选择(
),但我找不到通过[0]
进行选择的示例prop1
- 尝试:
但这只会返回json.dumps(geoFile['features'][0]['properties']['prop1']==1)
true
- 显然,我知道如何根据索引进行选择(
是适合用于这种mashup类型的映射库吗?geopandas
- 最后,我想使用
或类似工具使Dash
选择和渲染点交互功能
- 最后,我想使用
谢谢我在这里假设geoFile只是一个python dict,您正在使用
json.dumps将其转换为字符串化的json,然后您可以使用字典理解作为
features=[f表示地理文件[“features”]中的f,如果f[“properties”][“prop1”]==1]
这将为您提供满足条件的功能指令列表。
现在你可以用你想要的任何方式来包装它。一个简单的方法是将这个列表放在一个键下,就像初始功能列表放在的“features”键下一样。
json.dumps({“features”:features})
我在这里假设geoFile只是一个python dict,您正在使用json.dumps将其转换为字符串化json,然后您可以使用字典理解作为
features=[f表示地理文件[“features”]中的f,如果f[“properties”][“prop1”]==1]
这将为您提供满足条件的功能指令列表。
现在你可以用你想要的任何方式来包装它。一个简单的方法是将这个列表放在一个键下,就像初始功能列表放在的“features”键下一样。
json.dumps({“features”:features})
{
"type": "Feature",
"id": 0,
"properties": {
"FID": 0,
"prop1": 1,
"prop2": "thing2",
"prop3": "thing3"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
-99.491525,
35.306851,
0
],
[
-99.491485,
35.306705,
0
],
[
-99.491451,
35.306581,
0
],
[
-99.491417,
35.306456,
0
],
[
-99.491375,
35.306321,
0
]
]
}
}