迭代特征以屏蔽光栅文件

问题描述 投票:0回答:1

我有一个栅格图层和一个包含多个多边形的形状文件。我想迭代特征(多边形)以屏蔽栅格图层,然后获取每个屏蔽特征的一些统计数据。但是,我收到错误“IndexingError:索引器太多”。 我可以将每个要素保存在单独的形状文件中,并使用它来掩盖栅格图层,而不会出现任何错误。但是,我想通过循环来完成此操作,因为我的形状文件中有数千个特征。

import pandas as pd
import numpy as np
import geopandas as gpd
import rasterio as rio
import rasterio.mask
from osgeo import gdal
from osgeo import ogr
from shapely.geometry import mapping
import rioxarray as rxr 

shpfile=gpd.read_file('shapefile.shp')
raster=rxr.open_rasterio('raster.tif')

for index, row in shapefile.iterrows():
    shp=row.loc[index, 'geometry']
    raster_clipped = raster.rio.clip(shp.geometry.apply(mapping))
python numpy geopandas python-xarray rasterio
1个回答
0
投票

我解决了这个问题,

for row in shapefile.iterrows():
     shp=pd.DataFrame(row[1]).T
     raster_clipped = raster.rio.clip(shp.geometry.apply(mapping))
© www.soinside.com 2019 - 2024. All rights reserved.