将栅格栅格四舍五入到小数点后两位

时间:2020-08-12 07:25:35

标签: rounding rasterio

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)

0 个答案:

没有答案