⇐ ⇒

[CF-metadata] inconsistencies in translating projection parameters OGC WKT <-> CF-1.5

From: John Caron <caron>
Date: Wed, 14 Dec 2011 09:21:23 -0700

Hi Etienne:

Generally, CF has followed proj4 conventions as much as we could, and
John Snyder's reference book is often underneath:

http://pubs.usgs.gov/pp/1395/report.pdf

OGC specs tended to come from experts using the EPSG, and generally we
are less familiar with that.

some specific comments below, based on my own understandings.

On 12/13/2011 2:21 PM, Etienne Tourigny wrote:
> Hi all,
>
> I am opening a seperate thread at this deals merely with the problems
> encountered in translating projection parameters to/from OGC WKT and
> CF-1.5.
>
> I would appreciate any guidance in resolving these issues.
>
> In summary:
>
> 1) LCC (Lambert conformal): should include a scale_factor parameter in
> the 1 standard parallel case
> 2) CEA (Lambert Cylindrical Equal Area): how to convert the
> 'scale_factor_at_projection_origin' alternative to standard parallel
> to OGC WKT?
> 3) PS (Polar stereographic):This projection's parameters in CF-1 are
> significantly different from OGC/PROJ.4 , CF-1 standard parameters
> 'Either standard_parallel or scale_factor_at_projection_origin' is
> incompatible with OGC WKT, which requires both
>
> More detailed information (reproduced here) can be found at
> http://trac.osgeo.org/gdal/wiki/NetCDF_ProjectionTestingStatus
>
> 1) LCC 1SP (Lambert conformal)
>
> The OGC WKT 'Lambert_Conformal_Conic_2SP' maps clearly to LCC in CF-1
> with 2 std parallels.
>
> The CF-1 spec claims that a 1SP version can be used, but it doesn't
> include a 'scale_factor' as does the OGC WKT
> 'Lambert_Conformal_Conic_1SP'.
>
> For import: Given discussion and example on #3324, and also support
> from NARCCAP project: it seems the CF-1 LCC 1SP projection is a
> 'degenerate' LCC-2SP with both SP's at the same location. Thus seems
> we can read with both 'std_parallel' (1 value) and
> 'latitude_of_projection_origin' mapping to latitude_of_origin (WKT)
> and setting scale_factor=1? This is the code's current behaviour
> (though perhaps could do more error-checking).
yes, we handle both 1 and 2 standard parallels in the same projection.
the 1 parallel can be thought of as a degenerate case of the 2 parellels.

AFAIU, the scale factor is determined by the standard parallels, so is
reduntant to specify, see Snyder, equation 15-4.

its possible that the more general case is to use another constant to
multiply the one given in 15-4, but i have never seen that.

Im not sure what #3324 refers to.

>
> For export: given the LCC-1SP can specifically include a scale_factor
> to control the projection (see
> http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_1sp.html),
> it seems this can't be directly exported to NetCDF without throwing
> away the scale factor.
> Perhaps the reasonable thing for now is to export the scale_factor to
> NetCDF, so it can at least be read back in. Otherwise, we'd have to
> try to translate the LCC-1SP to a LCC-2SP on the fly.
>
>
> 2) CEA (Lambert Cylindrical Equal Area):
>
> The CF-1 conventions claim this can be encoded with a
> 'scale_factor_at_projection_origin' alternative to standard parallel -
> how would this conversion be done from/to OGC WKT (which requires
> central_meridian and standard_parallel_1)?

It does appear at first glance that there should be a seperate scale
factor. I am less familiar since I havent coded this one.
>
>
> 3) PS (Polar stereographic)
>
> This projection's parameters in CF-1 are significantly different from
> http://www.remotesensing.org/geotiff/proj_list/polar_stereographic.html.
> In particular the CF-1 equivalent for 'latitude of natural origin'
> seems to be 'standard_parallel'.

<http://www.remotesensing.org/geotiff/proj_list/polar_stereographic.html>i
agree, i dont know where these CF names came from.

>
> CF-1 defines either standard_parallel or
> scale_factor_at_projection_origin, which is incompatible with OGC WKT
> (and OGR) that requires both. Note: we have verified the current
> approach we take to mapping is the same used by at least one other
> NetCDF CF-1 user in the UCAR NARCCAP project.
>
> Current implementation (as of Dec. 13) uses the following rules:
> - WKT scale_factor maps to CF scale_factor_at_projection_origin
> - WKT central_meridian maps to CF straight_vertical_longitude_from_pole
> - WKT latitude_of_origin maps to WKT standard_parallel
> - WKT to CF: if WKT latitude_of_origin is positive then CF
> latitude_of_projection_origin is +90, else it is -90 (North vs. South
> Pole)
> - CF to WKT: unsupported if standard_parallel is not defined, as
> OGRSpatialReference::SetPS() requires both CF
> scale_factor_at_projection_origin
Im guessing these rules may have to be specific to a projection, rather
than assuming you can do a global mapping of the attribute names.

I would like to incorporate your findings into the CDM library when I
can. Do you have any official documentation describing this mapping?

>
> Thanks
> Etienne
> _______________________________________________

The question for CF is whether we should start to follow the WKT spec
closer, and add aliases where needed. I would prefer this since most of
us arent experts in this sort of thing. Which is pretty much the whole
argument for adopting WKT as an alternative to what we have done.

john


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cgd.ucar.edu/pipermail/cf-metadata/attachments/20111214/6ddd9d0d/attachment-0001.html>
Received on Wed Dec 14 2011 - 09:21:23 GMT

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:41 BST

⇐ ⇒