[geotk] Error while reading netCDF file

Martin Desruisseaux martin.desruisseaux at geomatys.fr
Mon Aug 22 08:28:39 EDT 2011


Hello Hendy

Could you send the output of the following command please?

ncdump -h dem20_r500_3112.nc


The "ncdump" command is part of the NetCDF package. If you are on Linux and have 
GDAL installed, I think you probably already have "ncdump" too.

     Regards,

         Martin


Le 22/08/11 13:18, Hendy Sumanto a écrit :
> Reading NetCDF resulted in the below error.
> Any idea how to fix this issue?
>
> Thank you.
>
> Regards,
>
> Hendy
>
> Exception in thread "main" org.geotoolkit.coverage.io.CoverageStoreException: Can’t read file “dem20_r500_3112.nc”.
> Parameter “origin” is missing.
> 	at org.geotoolkit.coverage.io.ImageCoverageReader.getGridGeometry(ImageCoverageReader.java:588)
> 	at org.geotoolkit.coverage.io.ImageCoverageReader.read(ImageCoverageReader.java:860)
> 	at org.vpac.geotk.CoordinateConversion.resampleNetcdf(CoordinateConversion.java:197)
> 	at org.vpac.geotk.CoordinateConversion.main(CoordinateConversion.java:267)
> Caused by: org.geotoolkit.image.io.ImageMetadataException: Parameter “origin” is missing.
> 	at org.geotoolkit.image.io.metadata.MetadataHelper.ensureMetadataExists(MetadataHelper.java:168)
> 	at org.geotoolkit.image.io.metadata.MetadataHelper.getGridToCRS(MetadataHelper.java:328)
> 	at org.geotoolkit.coverage.io.ImageCoverageReader.getGridGeometry(ImageCoverageReader.java:580)
> 	... 3 more
>
> These are my source code
>
>      public static void resampleNetcdf() throws CoverageStoreException, NoSuchAuthorityCodeException, FactoryException {
>          CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:4326");
>
>      	ImageCoverageReader reader = new ImageCoverageReader();
>
> //    	reader.setInput(new File("cldc.mean.nc"));
>      	reader.setInput(new File("dem20_r500_3112.nc"));
>      	GridCoverage coverage = reader.read(0, null);
>      	
> //    	SpatialMetadata metadata = reader.getCoverageMetadata(0);
> //    	System.out.println(metadata);
>      	
> //    	GridGeometry2D gridGeometry = reader.getGridGeometry(0);
> //    	System.out.println(gridGeometry);
>      	reader.dispose();
>     	
>      	
> //    	GridCoverage resultCvg = (GridCoverage) Operations.DEFAULT.resample(coverage, targetCRS);
> //    	GridCoverageWriteParam param = new GridCoverageWriteParam();
> //    	param.setFormatName("geotiff");
> //    	ImageCoverageWriter writer = new ImageCoverageWriter();
> //    	writer.setOutput(new File("dem20_r500_3112-out.tif"));
> //    	writer.write(resultCvg, param);
> //    	writer.dispose();    	   	
>      }
>
>      /**
>       * Runs the demo from the command line.
>       *
>       */
>      public static void main(String[] args) throws FactoryException, TransformException, CoverageStoreException {
>      	IIORegistry registry = IIORegistry.getDefaultInstance();
>      	registry.registerServiceProvider(new TIFFImageReaderSpi(), ImageReaderSpi.class);
>      	registry.registerServiceProvider(new GeoTiffImageReader.Spi("TIFF"), ImageReaderSpi.class);
>      	registry.registerServiceProvider(new NetcdfImageReader.Spi(), ImageReaderSpi.class);
>      	registry.registerServiceProvider(new GeoTiffImageWriter.Spi("TIFF"), ImageWriterSpi.class);
>      	
> //        resampleGeotiff();
>          resampleNetcdf();
>          System.out.println("Finished...");
>
> These are the gdalinfo of the netCDF file (I produced this netCDF file by translating a LANDSAT geotiff into netCDF using gdal_translate):
>
> hsumanto at uladev ~ $ gdalinfo dem20_r500_3112.nc
> Driver: netCDF/Network Common Data Format
> Files: dem20_r500_3112.nc
>         dem20_r500_3112.nc.aux.xml
> Size is 1838, 1317
> Coordinate System is:
> PROJCS["GDA94 / Geoscience Australia Lambert",
>      GEOGCS["GDA94",
>          DATUM["Geocentric_Datum_of_Australia_1994",
>              SPHEROID["GRS 1980",6378137,298.2572221010002,
>                  AUTHORITY["EPSG","7019"]],
>              AUTHORITY["EPSG","6283"]],
>          PRIMEM["Greenwich",0],
>          UNIT["degree",0.0174532925199433],
>          AUTHORITY["EPSG","4283"]],
>      PROJECTION["Lambert_Conformal_Conic_2SP"],
>      PARAMETER["standard_parallel_1",-18],
>      PARAMETER["standard_parallel_2",-36],
>      PARAMETER["latitude_of_origin",0],
>      PARAMETER["central_meridian",134],
>      PARAMETER["false_easting",0],
>      PARAMETER["false_northing",0],
>      UNIT["metre",1,
>          AUTHORITY["EPSG","9001"]],
>      AUTHORITY["EPSG","3112"]]
> Origin = (539144.000000000000000,-3825710.000000000000000)
> Pixel Size = (500.000000000000000,-500.000000000000000)
> Metadata:
>    NC_GLOBAL#Conventions=CF-1.0
>    Band1#_FillValue=-1.000000e+10
>    Band1#grid_mapping=lambert_conformal_conic
>    Band1#long_name=GDAL Band Number 1
>    lambert_conformal_conic#Northernmost_Northing=-3.82571e+06
>    lambert_conformal_conic#Southernmost_Northing=-4.48421e+06
>    lambert_conformal_conic#Easternmost_Easting=1.45814e+06
>    lambert_conformal_conic#Westernmost_Easting=539144
>    lambert_conformal_conic#spatial_ref=PROJCS["GDA94 / Geoscience Australia Lambert",GEOGCS["GDA94",DATUM["Geocentric_Datum_of_Australia_1994",SPHEROID["GRS 1980",6378137,298.2572221010002,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6283"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4283"]],PROJECTION["Lambert_Conformal_Conic_2SP"],PARAMETER["standard_parallel_1",-18],PARAMETER["standard_parallel_2",-36],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",134],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","3112"]]
>    lambert_conformal_conic#GeoTransform=539144 500 0 -3.82571e+06 0 -500
>    lambert_conformal_conic#grid_mapping_name=lambert_conformal_conic
>    lambert_conformal_conic#standard_parallel_1=-1.800000e+01
>    lambert_conformal_conic#standard_parallel_2=-3.600000e+01
>    lambert_conformal_conic#latitude_of_projection_origin=0.000000e+00
>    lambert_conformal_conic#longitude_of_central_meridian=1.340000e+02
>    lambert_conformal_conic#false_easting=0.000000e+00
>    lambert_conformal_conic#false_northing=0.000000e+00
>    AREA_OR_POINT=Area
> Corner Coordinates:
> Upper Left  (  539144.000,-3825710.000) (139d51'32.69"E, 33d51'18.49"S)
> Lower Left  (  539144.000,-4484210.000) (140d12'45.27"E, 39d45'53.29"S)
> Upper Right ( 1458144.000,-3825710.000) (149d46'27.56"E, 33d 8'16.73"S)
> Lower Right ( 1458144.000,-4484210.000) (150d42'59.94"E, 39d 1' 7.55"S)
> Center      (  998644.000,-4154960.000) (145d 8'58.86"E, 36d32'31.58"S)
> Band 1 Block=1838x1 Type=Float32, ColorInterp=Gray
>    NoData Value=-10000000000
>    Metadata:
>      NETCDF_VARNAME=Band1
>
>


More information about the Geotoolkit mailing list