[gdal-dev] NetCDF and ESA Probav issue with corner coordimates

Ivan Lucena ivan.lucena at outlook.com
Thu Oct 31 14:06:37 PDT 2019


Hi Folks,

I Downloaded NetCDF files from http://land.copernicus.eu/global/products/ndvi and I am having problems with the GeoTransform that the driver is getting.

The image extents, as you can see in following gdalinfo report, goes beyond the -180 and +180 longitude degrees (half resolution, half pixel) but that's OK according to page 27 in the PDF documentation: PROBAV-Products_User_Manual_v1.3.pdf<https://earth.esa.int/documents/700255/1929094/PROBAV-Products_User_Manual_v1.3.pdf/fd5e30f4-5305-4d41-86aa-fab7b9568251>

But if I open that image on QGIS and overlay a vector (GADM from gadm.org) or any other global layer it is clear that -180x80 should be in the upper left corner of the image, not In the center. There is a half pixel missing on the left and bottom of the image. This in in Fiji:

[cid:fe6be096-c2db-42a9-a1c0-15358ccf71bb]

The gdalinfo report shows that the crs:GeoTransform is -180.0000000000 0.0029761905 0.0 80.0000000000 0.0 -0.0029761905 but it seems like the driver decided to take that to as center of the pixel based. Looking at the NetCDF source I can see that there this possibility exists.

Of course, I am not waiting for a solution. I just used gdal_translate "- a_ullr" and fix that into the target format. It takes centuries to converted that image to geotiff. But I am concerned that others might get in trouble because of that.

I tried to contact the data provider but did not received an answer yet.

Does anybody has experience with that dataset and/or NetCDF that can help figure out what is going on. It is a bug in the driver or an issue with the data.

Thanks,

-
Ivan

Here is the gdalinfo report:

Don't worry about the warnings in regards to the pixel values. It is fine.

$ gdalinfo netcdf:c_gls_NDVI300_201910110000_GLOBE_PROBAV_V1.0.1.nc --debug on
GDAL_netCDF: driver detected file type=5, libnetcdf detected type=3​
Warning 1: NetCDF driver detected file type=5, but libnetcdf detected type=3​
GDAL_netCDF: setting file type to 3, was 5​
GDAL_netCDF: dim_count = 2​
GDAL_netCDF: var_count = 4​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute _FillValue​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute missing_value​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute flag_values​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute valid_range​
GDAL_netCDF:​
=====​
SetProjectionFromVar( 3)​
GDAL_netCDF: got grid_mapping crs​
GDAL_netCDF: bIsGdalFile=1 bIsGdalCfFile=0 bBottomUp=0​
GDAL_netCDF: got spheroid from CF: (6378137.000000 , 298.257224)​
GDAL_netCDF: set bBottomUp = 0 from Y axis​
GDAL_netCDF: setting WKT from CF​
GDAL_netCDF: SetProjection, WKT = GEOGCS["unknown",DATUM["unknown",SPHEROID["Spheroid",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]]]​
GDAL_netCDF: xdim: 120960 nSpacingBegin: 3 nSpacingMiddle: 3 nSpacingLast: 3​
GDAL_netCDF: ydim: 47040 nSpacingBegin: -3 nSpacingMiddle: -3 nSpacingLast: -3​
GDAL_netCDF: setting WKT from GDAL​
GDAL_netCDF: SetProjection, WKT = GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]]​
GDAL_netCDF: SetGeoTransform(-180.001488,0.002976,0.000000,80.001488,0.000000,-0.002976)​
GDAL_netCDF: bGotGeogCS=1 bGotCfSRS=1 bGotCfGT=1 bGotGdalSRS=1 bGotGdalGT=0​
Warning 1: Unsupported netCDF datatype (7), treat as Float32.​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute _FillValue​
GDAL_netCDF: netcdf type=5 gdal type=6 signedByte=1​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute _FillValue​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute missing_value​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute flag_values​
GDAL_netCDF: NCDFGetAttr unsupported type 7 for attribute valid_range​
GDAL_netCDF: got add_offset=-0.07999999821186066, status=0​
GDAL_netCDF: got scale_factor=0.004000000189989805, status=0​
GDAL: GDALOpen(netcdf:c_gls_NDVI300_201910110000_GLOBE_PROBAV_V1.0.1.nc, this=00000219E2D291F0) succeeds as netCDF.​
Driver: netCDF/Network Common Data Format​
GDAL: GDALDefaultOverviews::OverviewScan()​
Files: none associated​
Size is 120960, 47040​
Coordinate System is:​
GEOGCS["WGS 84",​
    DATUM["WGS_1984",​
        SPHEROID["WGS 84",6378137,298.257223563,​
            AUTHORITY["EPSG","7030"]],​
        TOWGS84[0,0,0,0,0,0,0],​
        AUTHORITY["EPSG","6326"]],​
    PRIMEM["Greenwich",0,​
        AUTHORITY["EPSG","8901"]],​
    UNIT["degree",0.0174532925199433,​
        AUTHORITY["EPSG","9108"]],​
    AUTHORITY["EPSG","4326"]]​
Origin = (-180.001488095238102,80.001488095238088)​
Pixel Size = (0.002976190476204,-0.002976190476190)​
Metadata:​
  crs#GeoTransform=-180.0000000000 0.0029761905 0.0 80.0000000000 0.0 -0.0029761905​
  crs#grid_mapping_name=latitude_longitude​
  crs#inverse_flattening=298.257223563​
  crs#longitude_of_prime_meridian=0​
  crs#long_name=coordinate reference system​
  crs#semi_major_axis=6378137​
  crs#spatial_ref=GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]]​
  crs#_CoordinateAxisTypes=GeoX GeoY​
  crs#_CoordinateTransformType=Projection​
  lat#axis=Y​
  lat#DIMENSION_LABELS=lat​
  lat#long_name=latitude​
  lat#standard_name=latitude​
  lat#units=degrees_north​
  lat#_CoordinateAxisType=Lat​
  lon#axis=X​
  lon#DIMENSION_LABELS=lon​
  lon#long_name=longitude​
  lon#standard_name=longitude​
  lon#units=degrees_east​
  lon#_CoordinateAxisType=Lon​
  NC_GLOBAL#archive_facility=VITO​
  NC_GLOBAL#Conventions=CF-1.6​
  NC_GLOBAL#copyright=Copernicus Service information 2019​
  NC_GLOBAL#history=Processing line NDVI: 2019-10-22​
  NC_GLOBAL#identifier=urn:cgls:global:ndvi300_v1_333m:NDVI300_201910110000_GLOBE_PROBAV_V1.0.1​
  NC_GLOBAL#institution=VITO NV​
  NC_GLOBAL#long_name=Normalized Difference Vegetation Index​
  NC_GLOBAL#orbit_type=LEO​
  NC_GLOBAL#parent_identifier=urn:cgls:global:ndvi300_v1_333m​
  NC_GLOBAL#platform=Proba-V​
  NC_GLOBAL#processing_level=L3​
  NC_GLOBAL#processing_mode=Near Real Time​
  NC_GLOBAL#product_version=V1.0.1​
  NC_GLOBAL#references=http://land.copernicus.eu/global/products/ndvi​
  NC_GLOBAL#sensor=VEGETATION​
  NC_GLOBAL#source=Derived from EO satellite imagery​
  NC_GLOBAL#time_coverage_end=2019-10-20T23:59:59Z​
  NC_GLOBAL#time_coverage_start=2019-10-11T00:00:00Z​
  NC_GLOBAL#title=10-daily Normalized Difference Vegetation Index 333M: GLOBE 2019-10-11T00:00:00Z​
  NDVI#add_offset=-0.079999998​
  NDVI#flag_meanings=Missing cloud snow sea background​
  NDVI#flag_values={}​
  NDVI#grid_mapping=crs​
  NDVI#long_name=Normalized Difference Vegetation Index 333M​
  NDVI#missing_value=​
  NDVI#scale_factor=0.0040000002​
  NDVI#standard_name=normalized_difference_vegetation_index​
  NDVI#units=​
  NDVI#valid_range={}​
  NDVI#_FillValue=​
OGRCT: PROJ >= 4.8.0 features enabled​
OGRCT: Using locale-safe proj version​
OGRCT: Source: +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs​
OGRCT: Target: +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs​
Corner Coordinates:​
Upper Left  (-180.0014881,  80.0014881) (180d 0' 5.36"W, 80d 0' 5.36"N)​
Lower Left  (-180.0014881, -59.9985119) (180d 0' 5.36"W, 59d59'54.64"S)​
Upper Right ( 179.9985119,  80.0014881) (179d59'54.64"E, 80d 0' 5.36"N)​
Lower Right ( 179.9985119, -59.9985119) (179d59'54.64"E, 59d59'54.64"S)​
Center      (  -0.0014881,  10.0014881) (  0d 0' 5.36"W, 10d 0' 5.36"N)​
Band 1 Block=120960x1 Type=Float32, ColorInterp=Undefined​
  NoData Value=0​
  Offset: -0.0799999982118607,   Scale:0.00400000018998981​
  Metadata:​
    add_offset=-0.079999998​
    flag_meanings=Missing cloud snow sea background​
    flag_values={}​
    grid_mapping=crs​
    long_name=Normalized Difference Vegetation Index 333M​
    missing_value=​
    NETCDF_VARNAME=NDVI​
    scale_factor=0.0040000002​
    standard_name=normalized_difference_vegetation_index​
    units=​
    valid_range={}​
    _FillValue=​
GDAL: GDALClose(netcdf:c_gls_NDVI300_201910110000_GLOBE_PROBAV_V1.0.1.nc, this=00000219E2D291F0)​


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20191031/1f561c0b/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image.png
Type: image/png
Size: 10134 bytes
Desc: image.png
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20191031/1f561c0b/attachment-0001.png>


More information about the gdal-dev mailing list