Hi,

I have a collection of region netCDF DEM files that overlap and have a nodata=-nan. I have been able to convert them to color-relief using gdaldem but somewhere in the processing chain I seem to be loosing the nodata/mask/alpha info and the nodata in the color-relief is opaque, ie: where the DEMs overlap and there is nodata the later image blocks out the earlier image rather than being transparent.

Running: GDAL 2.2.2, released 2017/09/15 on Ubuntu xenial

Processing is like:

gdalwarp -s_srs EPSG:4269 -t_srs EPSG:4326 -srcnodata \-nan -dstnodata 30000 -ot Int16 -of GTiff -co TILED=YES crm_vol1.nc crm_vol1.nc.tif

and I have tried variants like:

-srcnodata -32768 or  -- I get a lot of -32768 in the conversion to Int16
-dstnodata 30000      -- let gdal sense the nodata value
instead of -srcnodata \-nan -dstnodata 30000

gdaldem color-relief crm_vol1.nc.tif ../dem-colors.txt crm_vol1.nc.colored.tif -of GTiff -co TILED=YES -alpha

also run without -alpha

Anyway, I have 10 region DEMs and then I combine them in a VRT like

buildvrt color-relief.vrt *.colored.tif

Then I serve that via mapserver. I get the same image if I just do:

gdal_translate -of PNG color-relief.vrt test.png

-Steve

woodbri@u19589217:~/work/bathymetry/coastal-relief$ gdalwarp -s_srs EPSG:4269 -t_srs EPSG:4326 -srcnodata -32768 -ot Int16 -of GTiff -co TILED=YES crm_vol1.nc crm_vol1.nc.tif
Creating output file that is 19201P x 9601L.
Processing input file crm_vol1.nc.
Copying nodata values from source crm_vol1.nc to destination crm_vol1.nc.tif.
0...10...20...30...40...50...60...70...80...90...100 - done.

woodbri@u19589217:~/work/bathymetry/coastal-relief$ gdalinfo crm_vol1.nc.tif
Driver: GTiff/GeoTIFF
Files: crm_vol1.nc.tif
Size is 19201, 9601
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-80.000416666666666,48.000416666666666)
Pixel Size = (0.000833333333333,-0.000833333333333)
Metadata:
  AREA_OR_POINT=Area
  NC_GLOBAL#Conventions=CF-1.4
  NC_GLOBAL#geospatial_lat_max=48
  NC_GLOBAL#geospatial_lat_min=40
  NC_GLOBAL#geospatial_lat_resolution=0.000833
  NC_GLOBAL#geospatial_lat_units=degrees_north
  NC_GLOBAL#geospatial_lon_max=-64
  NC_GLOBAL#geospatial_lon_min=-80
  NC_GLOBAL#geospatial_lon_resolution=0.000833
  NC_GLOBAL#geospatial_lon_units=degrees_east
  NC_GLOBAL#GMT_version=4.5.1 [64-bit]
  NC_GLOBAL#history=xyz2grd -R-80/-64/40/48 -I3c -Gcrm_v1.grd
  NC_GLOBAL#title=crm_v1.grd
  x#actual_range={-80,-64}
  x#long_name=x
  x#units=degrees_east
  x#_CoordinateAxisType=Lon
  y#actual_range={40,48}
  y#long_name=y
  y#units=degrees_north
  y#_CoordinateAxisType=Lat
  z#actual_range={-2754.39990234375,1903}
  z#long_name=z
  z#positive=up
  z#units=meters
  z#_FillValue=-nan
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  ( -80.0004167,  48.0004167) ( 80d 0' 1.50"W, 48d 0' 1.50"N)
Lower Left  ( -80.0004167,  39.9995833) ( 80d 0' 1.50"W, 39d59'58.50"N)
Upper Right ( -63.9995833,  48.0004167) ( 63d59'58.50"W, 48d 0' 1.50"N)
Lower Right ( -63.9995833,  39.9995833) ( 63d59'58.50"W, 39d59'58.50"N)
Center      ( -72.0000000,  44.0000000) ( 72d 0' 0.00"W, 44d 0' 0.00"N)
Band 1 Block=256x256 Type=Int16, ColorInterp=Gray
  NoData Value=-32768
  Unit Type: meters
  Metadata:
    actual_range={-2754.39990234375,1903}
    long_name=z
    NETCDF_VARNAME=z
    positive=up
    units=meters
    _FillValue=-nan
woodbri@u19589217:~/work/bathymetry/coastal-relief$ gdalinfo crm_vol1.nc.tif -hist
Driver: GTiff/GeoTIFF
Files: crm_vol1.nc.tif
Size is 19201, 9601
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-80.000416666666666,48.000416666666666)
Pixel Size = (0.000833333333333,-0.000833333333333)
Metadata:
  AREA_OR_POINT=Area
  NC_GLOBAL#Conventions=CF-1.4
  NC_GLOBAL#geospatial_lat_max=48
  NC_GLOBAL#geospatial_lat_min=40
  NC_GLOBAL#geospatial_lat_resolution=0.000833
  NC_GLOBAL#geospatial_lat_units=degrees_north
  NC_GLOBAL#geospatial_lon_max=-64
  NC_GLOBAL#geospatial_lon_min=-80
  NC_GLOBAL#geospatial_lon_resolution=0.000833
  NC_GLOBAL#geospatial_lon_units=degrees_east
  NC_GLOBAL#GMT_version=4.5.1 [64-bit]
  NC_GLOBAL#history=xyz2grd -R-80/-64/40/48 -I3c -Gcrm_v1.grd
  NC_GLOBAL#title=crm_v1.grd
  x#actual_range={-80,-64}
  x#long_name=x
  x#units=degrees_east
  x#_CoordinateAxisType=Lon
  y#actual_range={40,48}
  y#long_name=y
  y#units=degrees_north
  y#_CoordinateAxisType=Lat
  z#actual_range={-2754.39990234375,1903}
  z#long_name=z
  z#positive=up
  z#units=meters
  z#_FillValue=-nan
Image Structure Metadata:
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  ( -80.0004167,  48.0004167) ( 80d 0' 1.50"W, 48d 0' 1.50"N)
Lower Left  ( -80.0004167,  39.9995833) ( 80d 0' 1.50"W, 39d59'58.50"N)
Upper Right ( -63.9995833,  48.0004167) ( 63d59'58.50"W, 48d 0' 1.50"N)
Lower Right ( -63.9995833,  39.9995833) ( 63d59'58.50"W, 39d59'58.50"N)
Center      ( -72.0000000,  44.0000000) ( 72d 0' 0.00"W, 44d 0' 0.00"N)
Band 1 Block=256x256 Type=Int16, ColorInterp=Gray
0...10...20...30...40...50...60...70...80...90...100 - done.
  256 buckets from -1548.44 to 1236.44:
  1032801 10127 10364 9826 8535 9227 9176 9188 9233 9661 9292 9087 8590 8923 8716 8643 8752 8632 8605 8640 8632 8115 8654 8446 8493 8250 8373 8216 7855 7159 7887 8094 8269 8038 7691 7646 7487 6743 7396 7245 7156 7369 7399 7333 7411 6859 7542 7438 7484 7584 7557 7523 7540 7106 7489 7336 7393 7450 7318 7227 7256 6996 6339 6970 6984 6885 6761 6704 6749 6854 6182 6893 7015 6997 7050 7033 7072 7146 6557 7236 7199 7306 7225 7292 7202 7381 6799 7529 7525 7594 7626 7772 7839 8021 8247 7609 8582 8873 9051 9084 9400 9614 9786 8956 9907 10163 10466 10868 25910 36376 43063 62233 63701 68806 77172 95784 121102 144946 220779 318701 515996 677511 807570 1106919 1266071 1331148 1213751 936387 838275 844343 825124 892606 953963 1537850 1781357 2018853 2341719 2388359 2391318 1998359 1485291 1168051 1480774 992742 734483 1554927 916946 1682915 640711 831701 1804228 628642 689638 2080653 751301 761486 2303932 701017 874713 1876341 611201 1753845 742827 644273 1610207 667418 643178 1548112 738446 633336 1679225 781684 812290 1696296 752769 1770805 804989 657425 1618410 666493 621947 1310715 575474 583199 1122012 442866 500235 835458 395728 726215 376469 325665 598716 263472 269859 501338 242752 233613 413525 192132 196579 276488 127191 209752 151081 101450 164848 82122 77595 117805 60015 63534 93537 50029 45890 60427 36654 52001 26321 27558 38248 20918 20783 27515 19528 16649 23961 14802 11928 16105 9934 12701 7403 7403 9233 5869 5788 8036 5499 5402 7403 4318 3344 3911 2413 2190 2400 1574 2032 1115 1219 1520 1129 1193 1670 13783
  NoData Value=-32768
  Unit Type: meters
  Metadata:
    actual_range={-2754.39990234375,1903}
    long_name=z
    NETCDF_VARNAME=z
    positive=up
    STATISTICS_MAXIMUM=1231
    STATISTICS_MEAN=109.57123697519
    STATISTICS_MINIMUM=-1543
    STATISTICS_STDDEV=306.33492576621
    units=meters
    _FillValue=-nan

### Because the MINIMUM is -1543, this seems to point to the fact that -32768 is NODATA and the fact that when I run gdalwarp without '-srcnodata -32768' I get lots of -32768 values.

woodbri@u19589217:~/work/bathymetry/coastal-relief$ gdaldem color-relief crm_vol1.nc.tif ../dem-colors.txt test.tif -of GTiff -co TILED=YES -alpha
0...10...20...30...40...50...60...70...80...90...100 - done.
woodbri@u19589217:~/work/bathymetry/coastal-relief$ gdalinfo test.tif -hist
Driver: GTiff/GeoTIFF
Files: test.tif
Size is 19201, 9601
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-80.000416666666666,48.000416666666666)
Pixel Size = (0.000833333333333,-0.000833333333333)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  ( -80.0004167,  48.0004167) ( 80d 0' 1.50"W, 48d 0' 1.50"N)
Lower Left  ( -80.0004167,  39.9995833) ( 80d 0' 1.50"W, 39d59'58.50"N)
Upper Right ( -63.9995833,  48.0004167) ( 63d59'58.50"W, 48d 0' 1.50"N)
Lower Right ( -63.9995833,  39.9995833) ( 63d59'58.50"W, 39d59'58.50"N)
Center      ( -72.0000000,  44.0000000) ( 72d 0' 0.00"W, 44d 0' 0.00"N)
Band 1 Block=256x256 Type=Byte, ColorInterp=Red
0...10...20...30...40...50...60...70...80...90...100 - done.
  256 buckets from -0.5 to 255.5:
  1447178 10259 11314 10054 10772 10116 10544 9874 10197 9474 10108 9290 9192 9863 9320 10114 9503 10258 9596 10439 9769 10544 9893 9916 10560 10083 10932 10307 11109 10578 11584 96844185 12419 12063 12287 13541 13146 14316 13427 15026 14692 41339 54152 94778 89113 105552 150343 189234 344217 608083 1007554 1252249 1834367 1796592 1566353 686026 301844 319297 303284 294902 379814 297508 322741 326623 336581 329518 456173 453383 583398 672362 603596 648066 875983 704772 796500 873236 988435 932029 1081958 429972 0 0 209878 0 0 214570 0 0 206080 0 0 215590 0 0 215942 0 0 1720831 3150361 3246722 3064822 3436119 3887445 3286771 3015137 3019139 2916134 3079190 3375360 3137205 2818227 2558566 2000431 1603370 1613223 1145531 865690 889479 503867 356019 486292 212496 150386 324876 88236 64546 254783 39922 28669 209142 9333 10523 188291 9848 5991 178231 3127 3533 171542 1778 2262 175583 2259 162793 1408 871 164088 793 574 164099 727 974 169365 621 314 163860 284 221 156479 200 363 148526 269 162 141005 102 192 132298 103 135 67 74 30 122259 26 13 27 19 35 117867 21 7 6 1 115547 0 0 0 0 0 107718 0 0 0 0 0 112217 0 0 0 0 0 116080 0 0 0 0 0 111385 0 0 0 0 112290 0 0 0 0 0 114605 0 0 0 0 0 105392 0 0 0 0 0 108539 0 0 0 0 0 106181 0 0 0 0 107507 0 0 0 0 0 102755 0 0 0 0 0 277539 876651
  Mask Flags: PER_DATASET ALPHA
Band 2 Block=256x256 Type=Byte, ColorInterp=Green
0...10...20...30...40...50...60...70...80...90...100 - done.
  256 buckets from -0.5 to 255.5:
  96833026 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 75 140 198 287 351 463 524 637 683 835 876 1042 1076 1262 1266 1479 1498 1734 1894 2796 3613 4713 4577 5138 5103 5706 5922 6683 6545 7788 7180 7669 8267 8555 7904 9326 8920 10054 10109 12815 16648 17934 19054 23674 25061 26778 26027 26804 34992 32866 32562 43008 49196 47848 43750 44507 43656 40371 40416 39964 44200 37127 31420 28558 28264 28802 29065 26773 28180 26803 25375 25099 26237 24635 23969 22921 24354 22041 21337 21322 22293 21793 15775 10959 11285 10050 10754 10768 10584 9803 10191 904269 29616405 23517792 22170 17868 15376 12718 13571 13277 12571 12643 11803 11759 10839 11603 11998 11691 10959 11469 11559 11952 11230 12674 12969 13392 12755 13993 14430 14599 13888 15503 32779 54749 84164 93114 108783 132694 193903 316919 613006 919712 1278482 1828546 1914933 1483630 688489 158311 223793 157739 161558 231034 144417 146459 229560 152079 859370 149766 155239 247609 162400 252425 168272 162655 253183 176214 193639 334935 253686 448160 329813 342549 453365 301196 451433 531653 345269 515629 361455 386660 621607 428993 731571 489340 480048 663541 426752 443646 429972 209878 214570 206080 327481 215942 218188 219973 223583 220948 215852 214423 218337 222402 216418 210014 198017 191032 179768 172689 168699 173849 161326 257454 163315 168811 163531 156177 148272 140825 132120 0 122228 0 117845 0 115547 0 107718 0 112217 89065 116080 111385 0 112290 0 114605 0 105392 0 108539 0 106181 0 107507 0 102755 0 94252
  Mask Flags: PER_DATASET ALPHA
Band 3 Block=256x256 Type=Byte, ColorInterp=Blue
0...10...20...30...40...50...60...70...80...90...100 - done.
  256 buckets from -0.5 to 255.5:
  565598 1189840 1852045 1101516 1893780 964720 1860454 869243 1023955 2192352 972005 2518135 906493 2242864 794478 2002472 855945 1744142 880240 873707 1717830 907306 1865819 927191 1972323 956931 2027450 945921 1804008 865933 760223 1414197 737480 1270138 608891 1005960 500073 845304 401791 680128 375937 367795 531651 300975 467826 238508 333763 178881 276561 136576 192569 106542 103761 123087 76043 96939979 61754 74426 46899 58403 36738 45492 24866 25100 32757 22670 29581 17198 18888 12718 13473 9939 15877 16568 15695 11355 5653 5054 3646 3353 3361 2198 1523 1141 1143 1154 1272 785 507 387 426 514 438 287 255 174 247 158 95 51 26 39 47 34 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 637177 0 0 0 0 0 127583 0 0 0 0 0 111891 0 0 0 0 0 94222 0 0 0 0 0 89065 0 0 0 0 0 94252 0 102755 107507 0 106208 108720 382 105982 832 115710 113619 1681 113287 118262 2606 141130 52191 162197 171295 58364 178118 185143 64851 197988 209270 374620 235787 242807 250349 270923 446129 288564 299692 314081 336078 481240 229485 236272 232700 229178 452198 239022 236573 235649 233818 438902 233923 257743 1385197 2477781 2111821 1882477 1880794 1768442 1983066 2599410 3104590 2887397 1006087 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  Mask Flags: PER_DATASET ALPHA
Band 4 Block=256x256 Type=Byte, ColorInterp=Alpha
0...10...20...30...40...50...60...70...80...90...100 - done.
  256 buckets from -0.5 to 255.5:
  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 184348801

### All pixels have alpha 255 set. Size is 19201, 9601 = 184348801

---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to