使用 geopandas 将属性导出到 .geojson 文件

Export properties into .geojson file using geopandas

我有一个脚本可以使用 Shapely 创建很多多边形,然后将它们导出为 .geojson 文件。请参阅下面的玩具示例

from shapely.geometry import Polygon
import geopandas

roi = Polygon([(0,0), (0,1), (1,0), (1,1)])
rois = [roi, roi]

geopandas.GeoSeries(rois).to_file("detection_data.geojson", driver='GeoJSON')

但是,我还有一个数字列表,每个数字都与一个ploygon相关联。有没有办法用属性中的 GeoJSON 文件导出它?

例如,如果我有一个列表:

detection_prob = [0.8, 0.9]

在 .geojson 文件中,我希望读取第一个多边形的属性部分

"properties":{"detection_prob":0.8}

第二个多边形

"properties":{"detection_prob":0.9}

等等等...在输出的 GeoJSON 文件中。

如果您在数据框而不是系列上调用 to_file,您可以添加额外的属性作为列:

import geopandas as gpd
import shapely.geometry as g

df = gpd.GeoDataFrame({
    'geometry': [g.Point(0, 0), g.Point(1,1)],
    'name': ['foo', 'bar']
})
df.to_file('out.json', driver='GeoJSON')