จะเพิ่มตารางสีให้กับวงดนตรีหนึ่งโดยใช้ GDAL ได้อย่างไร


11

ฉันมีไฟล์ GeoTIFF 1 แบนด์ การตีความสีของแถบเป็นสีเทา ฉันต้องการตารางสีในการสั่งซื้อที่จะเปลี่ยนฉันCol.tiffไปหรือCol.jpegCol.png

ฉันพยายามวางตารางสีลงใน TIFF นี้โดยใช้. vrt:

gdal_translate -of VRT  Col.tiff Col.vrt

จากนั้นเพิ่มใน. vrt:

<ColorInterp>Palette</ColorInterp>
<ColorTable>
   <Entry c1="0" c2="0" c3="255" c4="240"/>
   <Entry c1="0" c2="0" c3="254" c4="240"/>
   <Entry c1="0" c2="0" c3="253" c4="240"/>
   <Entry c1="0" c2="0" c3="252" c4="240"/>
</ColorTable>

และแปลอีกครั้ง:

gdal_translate Col.vrt Col.tiff

แต่มันตอบว่า:

Warning 1: Unable to export color table to GeoTIFF file.  Color tables can only be written to 1 band or 2 bands Byte or UInt16 GeoTIFF files.

ฉันจะทำมันได้อย่างไร

สำหรับข้อมูลมี gdalinfo สำหรับวงดนตรี:

Band 1 Block=55x18 Type=Float64, ColorInterp=Gray
  Description = Something
  Metadata:
    GRIB_COMMENT=Something[p]
    GRIB_ELEMENT=TMP
    GRIB_FORECAST_SECONDS=0 sec
    GRIB_REF_TIME=1401926400 sec UTC
    GRIB_SHORT_NAME=SMTHG
    GRIB_UNIT=[p]
    GRIB_VALID_TIME=1401926400 sec UTC

tif สูงสุดของคุณมีค่าเท่าใด มันคือ Float64 ดังนั้นค่าทศนิยมนี้ควรสอดคล้องกับค่าจำนวนเต็มสำหรับจานสีอย่างไร
AndreJ

ข้อผิดพลาดแจ้งว่าเอาต์พุตจะต้องเป็นประเภท Byte หรือ UInt16 บางทีคุณควรเพิ่ม "-ot UInt16" ลงในคำสั่ง gdal_translate
user30184

ขอบคุณก็ทำงานตอนนี้ผมเพียงแค่ต้องการที่จะหาสีที่ดี :)
Faquarl

@AndreJoost สิ่งที่ฉันทำคือใช้ค่าสูงสุด / นาทีและหารระหว่าง 255 คลาส จากนั้นสำหรับแต่ละค่าฉันใส่สี
Faquarl

ในที่สุดผมก็ทำสคริปต์ Python ที่จะทำให้ TIFF ใหม่ที่มีข้อมูลเดียวกันยกเว้นมี 4bands (RGBA)
Faquarl

คำตอบ:


5

ด้วย gdal คุณสามารถระบายสีภาพตาม gdal_dem ( color_relief )

ไวยากรณ์ของไฟล์กำหนดค่าสีได้มาจากไฟล์ที่สนับสนุนโดยยูทิลิตี้GRASS r.colors ไฟล์ตารางสี ESRI HDR (.clr) ตรงกับไวยากรณ์นั้น องค์ประกอบอัลฟาและการสนับสนุนของแท็บและเครื่องหมายจุลภาคเป็นตัวคั่นเป็นส่วนขยายเฉพาะของ GDAL

aspect: aspect oriented grey colors
aspectcolr: aspect oriented rainbow colors
bcyr: blue through cyan through yellow to red
bgyr: blue through green through yellow to red
byg: blue through yellow to green
byr: blue through yellow to red
celsius: blue to red for degree Celsius temperature
corine: EU Corine land cover colors
curvature: for terrain curvatures (from v.surf.rst and r.slope.aspect)
differences: differences oriented colors
elevation: maps relative ranges of raster values to elevation color ramp
etopo2: colors for ETOPO2 worldwide bathymetry/topography
evi: enhanced vegetative index colors
gdd: accumulated growing degree days
grey: grey scale
grey.eq: histogram-equalized grey scale
grey.log: histogram logarithmic transformed grey scale
grey1.0: grey scale for raster values between 0.0-1.0
grey255: grey scale for raster values between 0-255
gyr: green through yellow to red
haxby: relative colors for bathymetry or topography
ndvi: Normalized Difference Vegetation Index colors
population: color table covering human population classification breaks
population_dens: color table covering human population density classification breaks
precipitation: precipitation color table (0..2000mm)
precipitation_monthly: precipitation color table (0..1000mm)
rainbow: rainbow color table
ramp: color ramp
random: random color table
rstcurv: terrain curvature (from r.resamp.rst)
rules: create new color table based on user-specified rules read from stdin
ryb: red through yellow to blue
ryg: red through yellow to green
sepia: yellowish-brown through to white
slope: r.slope.aspect-type slope colors for raster values 0-90
srtm: color palette for Shuttle Radar Topography Mission elevation
terrain: global elevation color table covering -11000 to +8850m
wave: color wave

ดูตัวอย่างเพิ่มเติมของฉันได้ที่นี่: gis.stackexchange.com/questions/130199/…
AndreJ

เชื่อมโยงโดยตรงกับคำตอบของ @ AndreJ: gis.stackexchange.com/a/132690/49134
Tom Saleeba

ใช่ขอบคุณคำถามเหล่านั้นควรถูกทำเครื่องหมายว่าซ้ำกัน แต่คำตอบของ AndreJ นั้นละเอียดกว่าของฉัน
radouxju
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.