[Gdal-dev] Getting Single Band (grayscale) GeoTiff to pass through C# wrapper into bitmap (or othe manipulation of raster data)

Tamas Szekeres szekerest at gmail.com
Tue Nov 3 14:33:42 EST 2009


Since you have a single band image the GDALRead.cs would be a better
example how to do this
(http://trac.osgeo.org/gdal/browser/trunk/gdal/swig/csharp/apps/GDALRead.cs)

However all the examples out there use byte data type, and you might
have to modify the examples to pass an array of floats instead of
bytes, something like:

Band band = ds.GetRasterBand(1);
float[] data = new float[width * height];
band.ReadRaster(0, 0, width, height, data, width, height, 0, 0);


Best regards,

Tamas



2009/11/3 dbitner <donald.e.bitner at us.army.mil>:
>
> Hello,
>  I normally try to figure this out, but I've spent two days on it:
>
> I'm currently attempting to get the GeoTIFF raster information which is my
> elevation data for a given dataset.  I'm basically attempting to use GDAL to
> drape a bitmap over my GeoTIFF (which will generate a 3d geometry).  I can't
> seem to pull in the GeoTIFF information through the C# GDAL wrapper
> utilizing ReadRaster() method (which is utilized in the
> GDALDatasetRasterIO.cs application).
>
> I'm using the same exact code to troubleshoot at the moment, and the
> single-band grayscale TIF I'm pulling in is simply being clamped to all 255s
> when I look at the buffer or I output to a bitmap.  OpenEV pulls and
> displays the TIFF perfectly...I get the feeling this might be a little more
> complicated than I'm hoping...
>
>
> Input file info:
> Driver: GTiff/GeoTIFF
> Files: d:\test\test_tif.tif
> Size is 1024, 1024
> 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 = (-105.000000000000000,39.000000000000000)
> Pixel Size = (0.000976562500000,-0.000976562500000)
> Metadata:
>  AREA_OR_POINT=Point
> Image Structure Metadata:
>  INTERLEAVE=BAND
> Corner Coordinates:
> Upper Left  (-105.0000000,  39.0000000) (105d 0'0.00"W, 39d 0'0.00"N)
> Lower Left  (-105.0000000,  38.0000000) (105d 0'0.00"W, 38d 0'0.00"N)
> Upper Right (-104.0000000,  39.0000000) (104d 0'0.00"W, 39d 0'0.00"N)
> Lower Right (-104.0000000,  38.0000000) (104d 0'0.00"W, 38d 0'0.00"N)
> Center      (-104.5000000,  38.5000000) (104d30'0.00"W, 38d30'0.00"N)
> Band 1 Block=1024x2 Type=Float32, ColorInterp=Gray
>
> output file info:
> C:\Program Files\FWTools2.4.6\bin>gdalinfo d:\test\out_test.bmp
> Driver: PNG/Portable Network Graphics
> Files: d:\test\out_test.bmp
> Size is 1024, 1024
> Coordinate System is `'
> Corner Coordinates:
> Upper Left  (    0.0,    0.0)
> Lower Left  (    0.0, 1024.0)
> Upper Right ( 1024.0,    0.0)
> Lower Right ( 1024.0, 1024.0)
> Center      (  512.0,  512.0)
> Band 1 Block=1024x1 Type=Byte, ColorInterp=Palette
>  Color Table (RGB with 256 entries)
>    0: 0,0,0,255
>    1: 1,1,1,255
>    2: 2,2,2,255
>    3: 3,3,3,255
>    4: 4,4,4,255
>    5: 5,5,5,255
>    6: 6,6,6,255
>    7: 7,7,7,255
>    8: 8,8,8,255
>    9: 9,9,9,255
>   10: 10,10,10,255
>   11: 11,11,11,255
>   12: 12,12,12,255
>   13: 13,13,13,255
>   14: 14,14,14,255
>   15: 15,15,15,255
>   16: 16,16,16,255
>   17: 17,17,17,255
>   18: 18,18,18,255
>   19: 19,19,19,255
>   20: 20,20,20,255
>   21: 21,21,21,255
>   22: 22,22,22,255
>   23: 23,23,23,255
>   24: 24,24,24,255
>   25: 25,25,25,255
>   26: 26,26,26,255
>   27: 27,27,27,255
>   28: 28,28,28,255
>   29: 29,29,29,255
>   30: 30,30,30,255
>   31: 31,31,31,255
>   32: 32,32,32,255
>   33: 33,33,33,255
>   34: 34,34,34,255
>   35: 35,35,35,255
>   36: 36,36,36,255
>   37: 37,37,37,255
>   38: 38,38,38,255
>   39: 39,39,39,255
>   40: 40,40,40,255
>   41: 41,41,41,255
>   42: 42,42,42,255
>   43: 43,43,43,255
>   44: 44,44,44,255
>   45: 45,45,45,255
>   46: 46,46,46,255
>   47: 47,47,47,255
>   48: 48,48,48,255
>   49: 49,49,49,255
>   50: 50,50,50,255
>   51: 51,51,51,255
>   52: 52,52,52,255
>   53: 53,53,53,255
>   54: 54,54,54,255
>   55: 55,55,55,255
>   56: 56,56,56,255
>   57: 57,57,57,255
>   58: 58,58,58,255
>   59: 59,59,59,255
>   60: 60,60,60,255
>   61: 61,61,61,255
>   62: 62,62,62,255
>   63: 63,63,63,255
>   64: 64,64,64,255
>   65: 65,65,65,255
>   66: 66,66,66,255
>   67: 67,67,67,255
>   68: 68,68,68,255
>   69: 69,69,69,255
>   70: 70,70,70,255
>   71: 71,71,71,255
>   72: 72,72,72,255
>   73: 73,73,73,255
>   74: 74,74,74,255
>   75: 75,75,75,255
>   76: 76,76,76,255
>   77: 77,77,77,255
>   78: 78,78,78,255
>   79: 79,79,79,255
>   80: 80,80,80,255
>   81: 81,81,81,255
>   82: 82,82,82,255
>   83: 83,83,83,255
>   84: 84,84,84,255
>   85: 85,85,85,255
>   86: 86,86,86,255
>   87: 87,87,87,255
>   88: 88,88,88,255
>   89: 89,89,89,255
>   90: 90,90,90,255
>   91: 91,91,91,255
>   92: 92,92,92,255
>   93: 93,93,93,255
>   94: 94,94,94,255
>   95: 95,95,95,255
>   96: 96,96,96,255
>   97: 97,97,97,255
>   98: 98,98,98,255
>   99: 99,99,99,255
>  100: 100,100,100,255
>  101: 101,101,101,255
>  102: 102,102,102,255
>  103: 103,103,103,255
>  104: 104,104,104,255
>  105: 105,105,105,255
>  106: 106,106,106,255
>  107: 107,107,107,255
>  108: 108,108,108,255
>  109: 109,109,109,255
>  110: 110,110,110,255
>  111: 111,111,111,255
>  112: 112,112,112,255
>  113: 113,113,113,255
>  114: 114,114,114,255
>  115: 115,115,115,255
>  116: 116,116,116,255
>  117: 117,117,117,255
>  118: 118,118,118,255
>  119: 119,119,119,255
>  120: 120,120,120,255
>  121: 121,121,121,255
>  122: 122,122,122,255
>  123: 123,123,123,255
>  124: 124,124,124,255
>  125: 125,125,125,255
>  126: 126,126,126,255
>  127: 127,127,127,255
>  128: 128,128,128,255
>  129: 129,129,129,255
>  130: 130,130,130,255
>  131: 131,131,131,255
>  132: 132,132,132,255
>  133: 133,133,133,255
>  134: 134,134,134,255
>  135: 135,135,135,255
>  136: 136,136,136,255
>  137: 137,137,137,255
>  138: 138,138,138,255
>  139: 139,139,139,255
>  140: 140,140,140,255
>  141: 141,141,141,255
>  142: 142,142,142,255
>  143: 143,143,143,255
>  144: 144,144,144,255
>  145: 145,145,145,255
>  146: 146,146,146,255
>  147: 147,147,147,255
>  148: 148,148,148,255
>  149: 149,149,149,255
>  150: 150,150,150,255
>  151: 151,151,151,255
>  152: 152,152,152,255
>  153: 153,153,153,255
>  154: 154,154,154,255
>  155: 155,155,155,255
>  156: 156,156,156,255
>  157: 157,157,157,255
>  158: 158,158,158,255
>  159: 159,159,159,255
>  160: 160,160,160,255
>  161: 161,161,161,255
>  162: 162,162,162,255
>  163: 163,163,163,255
>  164: 164,164,164,255
>  165: 165,165,165,255
>  166: 166,166,166,255
>  167: 167,167,167,255
>  168: 168,168,168,255
>  169: 169,169,169,255
>  170: 170,170,170,255
>  171: 171,171,171,255
>  172: 172,172,172,255
>  173: 173,173,173,255
>  174: 174,174,174,255
>  175: 175,175,175,255
>  176: 176,176,176,255
>  177: 177,177,177,255
>  178: 178,178,178,255
>  179: 179,179,179,255
>  180: 180,180,180,255
>  181: 181,181,181,255
>  182: 182,182,182,255
>  183: 183,183,183,255
>  184: 184,184,184,255
>  185: 185,185,185,255
>  186: 186,186,186,255
>  187: 187,187,187,255
>  188: 188,188,188,255
>  189: 189,189,189,255
>  190: 190,190,190,255
>  191: 191,191,191,255
>  192: 192,192,192,255
>  193: 193,193,193,255
>  194: 194,194,194,255
>  195: 195,195,195,255
>  196: 196,196,196,255
>  197: 197,197,197,255
>  198: 198,198,198,255
>  199: 199,199,199,255
>  200: 200,200,200,255
>  201: 201,201,201,255
>  202: 202,202,202,255
>  203: 203,203,203,255
>  204: 204,204,204,255
>  205: 205,205,205,255
>  206: 206,206,206,255
>  207: 207,207,207,255
>  208: 208,208,208,255
>  209: 209,209,209,255
>  210: 210,210,210,255
>  211: 211,211,211,255
>  212: 212,212,212,255
>  213: 213,213,213,255
>  214: 214,214,214,255
>  215: 215,215,215,255
>  216: 216,216,216,255
>  217: 217,217,217,255
>  218: 218,218,218,255
>  219: 219,219,219,255
>  220: 220,220,220,255
>  221: 221,221,221,255
>  222: 222,222,222,255
>  223: 223,223,223,255
>  224: 224,224,224,255
>  225: 225,225,225,255
>  226: 226,226,226,255
>  227: 227,227,227,255
>  228: 228,228,228,255
>  229: 229,229,229,255
>  230: 230,230,230,255
>  231: 231,231,231,255
>  232: 232,232,232,255
>  233: 233,233,233,255
>  234: 234,234,234,255
>  235: 235,235,235,255
>  236: 236,236,236,255
>  237: 237,237,237,255
>  238: 238,238,238,255
>  239: 239,239,239,255
>  240: 240,240,240,255
>  241: 241,241,241,255
>  242: 242,242,242,255
>  243: 243,243,243,255
>  244: 244,244,244,255
>  245: 245,245,245,255
>  246: 246,246,246,255
>  247: 247,247,247,255
>  248: 248,248,248,255
>  249: 249,249,249,255
>  250: 250,250,250,255
>  251: 251,251,251,255
>  252: 252,252,252,255
>  253: 253,253,253,255
>  254: 254,254,254,255
>  255: 255,255,255,255
>
>
> Is there not an easy way to get these GeoTIFFs out through the C# wrapper?
> It would be infinitely easier for me to keep everything into C#, but I'm
> getting the feeling I'm going to have to modify the wrapper.  That said, if
> I knew I was getting the correct data from my buffer from readraster() I can
> certainly forgo saving it as a bitmap.  However, getting all 255s is not my
> idea of an accurate depiction.
>
> Let me know if you need anymore information.
>
> --
> View this message in context: http://n2.nabble.com/Getting-Single-Band-grayscale-GeoTiff-to-pass-through-C-wrapper-into-bitmap-or-othe-manipulation-of--tp3940618p3940618.html
> Sent from the GDAL - Dev mailing list archive at Nabble.com.
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>


More information about the gdal-dev mailing list