[gdal-dev] Re: help for comparing two WKT
Etienne Tourigny
etourigny.dev at gmail.com
Sat Oct 8 01:05:31 EDT 2011
A related question:
given an unnamed datum with defined spheroid, PRIMEM and UNIT values,
is there a way to find a corresponding named datum or EPSG code?
I'd be interested in an existing method, or perhaps externalng code or
table in which I could search for common candidate DATUM definitions,
and compare using OGRSpatialReference::IsSameGeogCS() .
e.g
DATUM["unknown",
SPHEROID["Spheroid",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]]
corresponds to
EPSG: 4326
or
DATUM["WGS_1984",
SPHEROID["WGS 84",6378137,298.257223563,
AUTHORITY["EPSG","7030"]],
AUTHORITY["EPSG","6326"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4326"]]
also:
DATUM["unknown",
SPHEROID["Spheroid",6378137,298.2572221010002]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]],
corresponds to
EPSG:4283
or
DATUM["Geocentric_Datum_of_Australia_1994",
SPHEROID["GRS 1980",6378137,298.2572221010002,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6283"]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433],
AUTHORITY["EPSG","4283"]],
many thanks
Etienne
On Fri, Oct 7, 2011 at 8:36 PM, Etienne Tourigny
<etourigny.dev at gmail.com> wrote:
> Hi all,
>
> I would appreciate any hints as to how I can compare 2
> WKT/OGRSpatialReference objects.
>
> My goal is to make sure that a more detailed WKT (with authority codes
> and explicit datum) corresponds (numerically) to a simpler one, such
> as in the following examples.
>
> I understand that the oSRSGDAL.exportToPrettyWkt() function can remove
> AXIS, AUTHORITY and EXTENSION nodes, but how can I guarantee that the
> PARAMETER nodes are in the same order? Does FixupOrdering() solve that
> problem?
>
> Furthermore, How could I compare the datums?
>
>
>
>
> CF=[PROJCS["unnamed",
> GEOGCS["unknown",
> DATUM["unknown",
> SPHEROID["Spheroid",6378137,298.2572221010002]],
> PRIMEM["Greenwich",0],
> UNIT["degree",0.0174532925199433]],
> 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]]]
>
> GDAL=[PROJCS["GDA94 / Geoscience Australia Lambert",
> GEOGCS["GDA94",
> DATUM["Geocentric_Datum_of_Australia_1994",
> SPHEROID["GRS 1980",6378137,298.2572221010002,
> AUTHORITY["EPSG","7019"]],
> TOWGS84[0,0,0,0,0,0,0],
> 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"]]]
>
>
>
> Another option is exporting to PROJ.4 strings, but there are the
> +towgs84 that shows up , plus some differences in +datum vs. +ellps.
>
> e.g.
>
> CF=[+proj=utm +zone=55 +ellps=WGS84 +units=m +no_defs ]
> GDAL=[+proj=utm +zone=55 +datum=WGS84 +units=m +no_defs ]
> or
> CF=[+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0
> +ellps=GRS80 +units=m +no_defs ]
> GDAL=[+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0
> +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ]
>
>
>
> many thanks,
> Etienne
>
More information about the gdal-dev
mailing list