3

I have a problem with the reprojection of a raster (geotiff): after the reprojection from EPSG:31468 to EPSG:32632 is done, the pixel values have changed.

In QGIS I used Raster->Projection->warp to reproject. It is a windspeed raster and in the original raster the data have values from 0 - 13, in the reprojected file it is -32766 to -17211

When I have a look to the metafile from the original raster it says STATISTICS_MAXIMUM=-17211 STATISTICS_MEAN=-30685.561753801 STATISTICS_MINIMUM=-32766

Why does it show nevertheless a datarange from 0-13 (witch is correct)? When I click at a pixel it gives me the same information (0-13).

What can I do to get the same datarange in the reprojectes file?

    Driver: GTiff/GeoTIFF
    Files: .....20160613T0100.tif
           .....20160613T0100.tif.aux.xml
    Size is 701, 401
    Coordinate System is:

PROJCS["MGI / Austria Lambert",
    GEOGCS["MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel 1841",6377397.155,299.1528128,
                AUTHORITY["EPSG","7004"]],
            TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],
            AUTHORITY["EPSG","6312"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4312"]],
    PROJECTION["Lambert_Conformal_Conic_2SP"],
    PARAMETER["standard_parallel_1",49],
    PARAMETER["standard_parallel_2",46],
    PARAMETER["latitude_of_origin",47.5],
    PARAMETER["central_meridian",13.33333333333333],
    PARAMETER["false_easting",400000],
    PARAMETER["false_northing",400000],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AUTHORITY["EPSG","31287"]]
Origin = (19500.000000000000000,620500.000000000000000)
Pixel Size = (1000.000000000000000,-1000.000000000000000)
Metadata:
  AREA_OR_POINT=Area
  NC_GLOBAL#Conventions=CF-1.6
  NETCDF_DIM_EXTRA={time}
  NETCDF_DIM_time_DEF={720,4}
  NETCDF_DIM_time_VALUES={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677,678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719}
  projection#false_easting=400000
  projection#false_northing=400000
  projection#grid_mapping_name=lambert_conformal_conic
  projection#inverse_flattening=299.152812800001
  projection#latitude_of_projection_origin=47.5
  projection#longitude_of_central_meridian=13.3333333333333
  projection#longitude_of_prime_meridian=0
  projection#semi_major_axis=6377397.155
  projection#spatial_ref=PROJCS["MGI / Austria Lambert",GEOGCS["MGI",DATUM["Militar_Geographische_Institute",SPHEROID["Bessel 1841",6377397.155,299.1528128,AUTHORITY["EPSG","7004"]],TOWGS84[577.326,90.129,463.919,5.137,1.474,5.297,2.4232],AUTHORITY["EPSG","6312"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4312"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",49],PARAMETER["standard_parallel_2",46],PARAMETER["latitude_of_origin",47.5],PARAMETER["central_meridian",13.33333333333333],PARAMETER["false_easting",400000],PARAMETER["false_northing",400000],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","31287"]]
  projection#standard_parallel={49,46}
  time#standard_name=time
  time#units=hours since 2016-06-01 00:00:00
  WS#add_offset=28.7745609082447
  WS#grid_mapping=projection
  WS#scale_factor=0.0008781835105977141
  WS#valid_range={-32766,32767}
  WS#_FillValue=-32767
  x#standard_name=projection_x_coordinate
  x#units=m
  y#standard_name=projection_y_coordinate
  y#units=m
Image Structure Metadata:
  COMPRESSION=DEFLATE
  INTERLEAVE=BAND
Corner Coordinates:
Upper Left  (   19500.000,  620500.000) (  8d 5'27.33"E, 49d22' 4.74"N)
Lower Left  (   19500.000,  219500.000) (  8d26'18.47"E, 45d46' 4.44"N)
Upper Right (  720500.000,  620500.000) ( 17d45' 3.70"E, 49d24' 5.38"N)
Lower Right (  720500.000,  219500.000) ( 17d27'28.54"E, 45d47'57.17"N)
Center      (  370000.000,  420000.000) ( 12d56' 1.00"E, 47d40'45.38"N)
Band 1 Block=701x5 Type=Int16, ColorInterp=Gray
  Min=-32766.000 Max=-17211.000 
  Minimum=-32766.000, Maximum=-17211.000, Mean=-30685.562, StdDev=1700.194
  NoData Value=-32767
  Offset: 28.7745609082447,   Scale:0.000878183510597714
  Metadata:
    add_offset=28.7745609082447
    grid_mapping=projection
    NETCDF_DIM_time=289
    NETCDF_VARNAME=WS
    scale_factor=0.0008781835105977141
    STATISTICS_MAXIMUM=-17211
    STATISTICS_MEAN=-30685.561753801
    STATISTICS_MINIMUM=-32766
    STATISTICS_STDDEV=1700.1935729576
    valid_range={-32766,32767}
    _FillValue=-32767
  • Does the original raster have NoData pixels? – Logan Byers Feb 24 '17 at 0:14
  • There might be a SCALE factor in the source file's metadata. QGIS applies that correctly, but gdalwarp destroys the metadata information. – AndreJ Feb 24 '17 at 6:58
  • 1
    Test data would be appreciated. – user30184 Feb 24 '17 at 7:56
  • Thanks for the answers! Yes, it has noData values, could this cause the problem? If it is the scale factor, what can I do? Do I have to use the raster calculator? Where could I find the scale factor? I added the gdalinfo to my question. – Katharina Feb 24 '17 at 22:44
  • You see the scale_factor in the metadata. A solution can be found in gis.stackexchange.com/questions/181652/… – AndreJ Feb 25 '17 at 6:30
0

Your dataset is of INT16 datatype, with allowed values between -32766 and +32766. To get the correct data values, scale and offset have to be applied, as given in the file's metadata:

Offset: 28.7745609082447,   Scale:0.000878183510597714

So with a stored value of -32254, the real value will be:

-32254 * 0.000878183510597714 + 28.7745609082447 = 0.44963

In some cases, gdalwarp can not handle scaling and offset correctly; so you have to do it manually:

 gdal_translate -ot FLOAT64 -unscale src_dataset tmp.tif
 gdal_calc.py -A tmp.tif --type='Float64' --outfile=result.tif --calc="A*0.000878183510597714+28.7745609082447"
 gdalwarp -s_srs EPSG:31287 -t_srs EPSG:32632 result.tif warped.tif

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.