Opened 2 months ago

Last modified 7 weeks ago

#1526 new defect

Put the crs variable to netCDF output

Reported by: bphamhuu Owned by:
Priority: minor Milestone: 10.0
Component: rasql Version: development
Keywords: Cc: dmisev, vmerticariu
Complexity: Medium

Description

The crs variable which contains information about the projection as with gdalinfo tiff file.

Here is the CF resource:

http://cfconventions.org/cf-conventions/v1.6.0/cf-conventions.html#grid-mappings-and-projections

from Harald Kristen in group, it has more data

     int crs;
       :grid_mapping_name = "transverse_mercator";
       :scale_factor_at_central_meridian = 0.9996; // double
       :longitude_of_central_meridian = 15.0; // double
       :latitude_of_projection_origin = 0.0; // double
       :false_easting = 500000.0; // double
       :false_northing = 0.0; // double
       :long_name = "WGS 84 / UTM zone 33N";
       :semi_major_axis = 6378137.0; // double
       :semi_minor_axis = 6356752.314245179; // double
       :inverse_flattening = 298.257223563; // double
       :crs_wkt = "PROJCS[\"WGS 84 / UTM zone 33N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32633\"]]";
       :spatial_ref = "PROJCS[\"WGS 84 / UTM zone 33N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"32633\"]]";
       :GeoTransform = 130000.0, 10.0, 0.0, 5100000.0, 0.0, -10.0; // double 

and somehow this variable could be put into the output netCDF will be good.

Change History (3)

comment:1 Changed 2 months ago by dmisev

  • Cc bbell removed

We discussed a bit with Bang, and so far it seems that the general way for handling this is to probably parse the CRS GML definition in order to extract values like longitude_of_central_meridian from it. But since the different grid_mappings are not that many, perhaps there's a library (like geotools? proj4?) that provides these values for a given CRS code?

comment:2 Changed 8 weeks ago by bphamhuu

  • Milestone changed from 9.4 to 10.0
  • Priority changed from major to minor

this problem comes from ticket:708 and without the wkt and some GML definitions, we could not add these information to crs variable in netcdf.

comment:3 Changed 7 weeks ago by bphamhuu

Current, I'm testing the gdal library in Java which uses native GDAL library installed by libgdal-dev, it could export the wkt, proj4 with known EPSG code, e.g: EPSG:4326.

It also can read the GML but not EPSG GML as from http://www.opengis.net/def/crs/EPSG/0/4326 but this type of GML http://spatialreference.org/ref/epsg/4326/gml/.

Note: See TracTickets for help on using tickets.