通过arcmap统计栅格数据偶尔会出现错误,批量处理也比较繁琐。通过python利用矢量统计栅格,通过shapefile库方法写出,可能会有更好的方案。请多指教 import shapefile import pandas as pd from osgeo import osr,ogr from rasterstats import zonal_stats def New
from rasterstats import zonal_statsfrom osgeo import gdal, ogrstart = time.time()ras_path = 'polygon.tif'shp_path = 'edge.shp'# stats_list = ['min', 'max', 'mean', 'median', 'majority']stats_list = ['majority']ras_driver = rasterio.open(ras_path)array = ras_driver.read(1)...
The result ofrasterstats' zonal_stats function is not a raster (e.g. .tif) by default so you must rasterize the result. In the previous function, the result is stored as GeoJSON in ageopandasdataframe and this is what gets rasterized to a .tif. # For generating raster from zonal ...
以下是完整的项目代码块,可以直接在GitHub Gist中找到。 importgeopandasasgpdfromrasterstatsimportzonal_stats# 读取数据land_cover=gpd.read_file("land_cover.shp")# 计算景观指标metrics=zonal_stats(land_cover,stats="area")print(metrics) 1. 2. 3. 4. 5. 6. 7. 8. 9. 通过计算景观格局指标,可以深...
$ fio cat polygon.shp|rio zonalstats -r elevation.tif $ fio cat points.shp|rio pointquery -r elevation.tif See theCLI Docs. for more detail. Python Quick Start For zonal statistics >>>fromrasterstatsimportzonal_stats>>>stats=zonal_stats("tests/data/polygons.shp","tests/data/slope.tif"...
# 准备开始进⾏空间分区计算 # 第⼀个参数是⽮量分区,第⼆个是栅格,第三个是坐标变换信息,第四个是统计均值 avg_rallrain = rasterstats.zonal_stats(districts,rainfall_data,affine=affine,stats=['mean'],geojson_out=True)# avg_rallrain # 除了统计平均值之外,还有最⼤最⼩值那些 ...
Summary statistics of geospatial raster datasets values based on vector geometries. - aiddata/python-rasterstats
osrimportosfrommathimportceilimportsysfromosgeoimportgdalimportgeopandasasgpdimportpandasaspdimportnumpyasnpimportrasterioimportrasterstatsimportseabornassnsimportwarningsimportmatplotlibasmplimportmatplotlib.pyplotaspltdefread_img(filename):# 思路主要是读取原始的GF3影像得到原始影像的范围信息和投影信息dataset=gdal....
pip install rasterstats 使用代码, importpandasaspdfromrasterstatsimportzonal_statsdefzonal_statistic():# 矢量的边界文件 polygonshp_poly=r"E:\Data\poly.shp"input_path="E:\\Data\\"file=raster.tif df_out=pd.DataFrame()stats=zonal_stats(shp_poly,input_path+file,stats=['min','max','count',...
python 多处理将不运行我倾向于使用imap_unordered,因为我喜欢看到"尽可能早"的结果。此外,您遇到了一...