问题描述
Blockquote
在使用Rasterio的shp剪切栅格后,我需要将栅格四舍五入到小数点后两位,如何才能做到最好?是否有光栅功能? 我在下面添加了剪切功能。
是否需要设置光栅参数或其他解决方案?
Blockquote
def ClipRaster (polyIN,RASTERIN):
import numpy
import Rasterio
from Rasterio.mask import mask
RASTER = Rasterio.open(RASTERIN)
# # Visualize raster if needed
# show((RASTERIN),cmap='terrain')
#load shapefile
gdf_crop_extent = gpd.read_file(polyIN)
# print('crop extent crs: ',gdf_crop_extent.crs)
def getFeatures(gdf):
"""Function to parse features from GeoDataFrame in such a manner that Rasterio wants them"""
import json
return [json.loads(gdf.to_json())['features'][0]['geometry']]
crop_shape= getFeatures(gdf_crop_extent)
# Clip the raster with polygon in proper format
RASTEROUT,out_transform = mask(dataset=RASTER,shapes=crop_shape,crop=True)
# copy the Metadata to new raster
out_Meta = RASTER.Meta.copy()
# # Parse epsg code for CRS if needed
# epsg_code = int(gdf_crop_extent.crs['init'][5:])
# print(epsg_code)
# update Metadata
#coordinate system can be added if needed,check website at top
out_Meta.update({"driver": "AAIGrid","height": RASTEROUT.shape[1],"width": RASTEROUT.shape[2],"transform": out_transform
}
)
return (RASTEROUT,out_Meta)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)