【问题标题】:Gdal: How to conditionally assign a new value to pixels of a raster image?Gdal:如何有条件地为光栅图像的像素分配新值?
【发布时间】:2013-08-21 07:49:57
【问题描述】:

给定一个国家的地形 GIS 栅格crop.tif

# download:
curl -o ETOPO1.zip 'http://www.ngdc.noaa.gov/mgg/global/relief/ETOPO1/data/ice_surface/grid_registered/georeferenced_tiff/ETOPO1_Ice_g_geotiff.zip'
# unzip:
unzip ETOPO1.zip
# crop:
gdal_translate -projwin -005.50 051.30 10.00 041.00 ETOPO1_Ice_g_geotiff.tif crop.tif

给定海拔阈值 n = 50(米)

如何将z >= n的所有像素的值设置为50?


相关:https://stackoverflow.com/questions/18300210/Gdal: How to get a pixel's value from raster image?

求助?: gdallocationinfo 可以得到一个点的值(不迭代整张图):

$ gdallocationinfo crop.tif 1 1 -valonly
> 73

【问题讨论】:

    标签: image-processing gis gdal ogr


    【解决方案1】:

    使用gdal_calc.py。举例:

    gdal_calc.py -A crop.tif --outfile=level0100.tif --calc="100*(A>100)"     --NoDataValue=0
    

    读作:`给定输入-A(crop.tif),输出level0100.tif,当像素具有第一个波段的值A>100时,将值设置为100。否则,设置为0。

    --calc=""内可以设置其他条件。如果您想将 100

    gdal_calc.py -A crop.tif --outfile=level0100.tif --calc="100*(100<A<200)"     --NoDataValue=0
    

    应该可以。 (最后一个没有测试)

    【讨论】:

      猜你喜欢
      • 2022-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 1970-01-01
      • 2019-02-27
      • 1970-01-01
      相关资源
      最近更新 更多