Discussion:
[Proj] ECEF
Noel Zinn
2005-07-18 22:07:51 UTC
Permalink
Quick first question from a newcomer exploring the capabilities of Proj.4 before attempting to compile the code.

I've read the documentation plus recent threads on this list serve that discuss datum shifts (of the 7-parameter variety), which, apparently, Proj.4 does not support. My question is whether Proj.4 supports Earth-Centered Earth-Fixed (ECEF) geocentric Cartesian coordinates or not (i.e, lat/lon/hgt => ECEF X/Y/Z). Seems it would be simple to build that functionality into the Proj.4 code, but I gather that the documentation's references to "cartesian coordinates" means Eastings/Northings in projected space, and not ECEF. Non-support for geocentric datum shifting seems to support this tentative conclusion. Can someone confirm for me?

Thanks, Noel Zinn
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/proj/attachments/20050226/7d4b1b0b/attachment.html
Clifford J Mugnier
2005-07-18 22:07:51 UTC
Permalink
Noel,

Your conclusion is correct with regard to PROJ4; it does not support datum
shifts of any kind. Mr. Evenden is of the same philosophy as John P.
Snyder was in regard to that topic.

Regards,

Cliff

Clifford J. Mugnier
Chief of Geodesy and
Associate Director,
CENTER FOR GEOINFORMATICS
Department of Civil Engineering
CEBA 3223A
LOUISIANA STATE UNIVERSITY
Baton Rouge, LA 70803
Voice and Facsimile: (225) 578-8536 [Academic]
Voice and Facsimile: (225) 578-4474 [Research]
======================================================
http://www.asprs.org/resources/GRIDS/
http://www.cee.lsu.edu/facultyStaff/mugnier/index.html
======================================================


Quick first question from a newcomer exploring the capabilities of Proj.4
before attempting to compile the code.

I've read the documentation plus recent threads on this list serve that
discuss datum shifts (of the 7-parameter variety), which, apparently,
Proj.4 does not support.? My question is whether Proj.4?supports
Earth-Centered Earth-Fixed (ECEF) geocentric Cartesian coordinates or not
(i.e, lat/lon/hgt => ECEF X/Y/Z).? Seems it would be simple to build that
functionality into the Proj.4 code, but I gather that the documentation's
references to "cartesian coordinates" means Eastings/Northings in
projected space, and not ECEF.? Non-support for geocentric datum shifting
seems to support?this?tentative conclusion.? Can someone confirm for me?

Thanks, Noel Zinn
Eric Miller
2005-07-18 22:07:51 UTC
Permalink
That isn't quite accurate. Evenden's libproj4 does not support datums
in any way, but the PROJ.4 from remote sensing has good datum support
with 3- and 7-parameter transformations along with so-called "grid
shift" transformations like NADCON. Using the command line programs,
one should use "cs2cs" and using the library one should use
"pj_transform()."

It may cause less confusion if Gerald called his reworked and expanded
library "proj5." Additionally, any coordinate system interface built on
top of Gerald's library that does support datums should probably have a
different name entirely (nothing with "proj" in it). Just my humble
opinion...

Eric G. Miller
GIS Analyst
Wildlife and Habitat Data Analysis Branch
Department of Fish and Game
Noel,

Your conclusion is correct with regard to PROJ4; it does not support
datum
shifts of any kind. Mr. Evenden is of the same philosophy as John P.
Snyder was in regard to that topic.

Regards,

Cliff

Clifford J. Mugnier
Chief of Geodesy and
Associate Director,
CENTER FOR GEOINFORMATICS
Department of Civil Engineering
CEBA 3223A
LOUISIANA STATE UNIVERSITY
Baton Rouge, LA 70803
Voice and Facsimile: (225) 578-8536 [Academic]
Voice and Facsimile: (225) 578-4474 [Research]
======================================================
http://www.asprs.org/resources/GRIDS/
http://www.cee.lsu.edu/facultyStaff/mugnier/index.html
======================================================


Quick first question from a newcomer exploring the capabilities of
Proj.4
before attempting to compile the code.

I've read the documentation plus recent threads on this list serve
that
discuss datum shifts (of the 7-parameter variety), which, apparently,
Proj.4 does not support. My question is whether Proj.4 supports
Earth-Centered Earth-Fixed (ECEF) geocentric Cartesian coordinates or
not
(i.e, lat/lon/hgt => ECEF X/Y/Z). Seems it would be simple to build
that
functionality into the Proj.4 code, but I gather that the
documentation's
references to "cartesian coordinates" means Eastings/Northings in
projected space, and not ECEF. Non-support for geocentric datum
shifting
seems to support this tentative conclusion. Can someone confirm for
me?

Thanks, Noel Zinn
Frank Warmerdam
2005-07-18 22:07:51 UTC
Permalink
Post by Noel Zinn
I've read the documentation plus recent threads on this list serve that
discuss datum shifts (of the 7-parameter variety), which, apparently, Proj.4
does not support. My question is whether Proj.4 supports Earth-Centered
Earth-Fixed (ECEF) geocentric Cartesian coordinates or not (i.e, lat/lon/hgt
=> ECEF X/Y/Z). Seems it would be simple to build that functionality into
the Proj.4 code, but I gather that the documentation's references to
"cartesian coordinates" means Eastings/Northings in projected space, and not
ECEF. Non-support for geocentric datum shifting seems to support this
tentative conclusion. Can someone confirm for me?
Noel,

As others have mentioned there is a distinction between
what I refer to as PROJ.4 (the project hosted as
www.remotesensing.org/proj) and libproj4 (Gerald's
new library focused on just projections).

The PROJ.4 (rso) package does include support for
a few kinds of datum shifting:
o Shifting with a grid shift file in either PROJ.4's internal
format (used for continental US files) or the NTv1 or
NTv2 formats (used in Canada, Australia and perhaps a
few other places).
o 3 parameter datum shifts (x,y,z cartesian shift).
o 7 parameter datum shifts (offset, rotation and scaling).

It also has support for a geocentric coordinate system
(using proj=geocent). However, my understanding is
that there are two types of geocentric coordinates. One
from the center of the ellipsoid, and one from a height
perpendicular to the ellipsoid. I'm not sure, off hand,
which it is supported by PROJ.4 but can investigate if
needed.

The libproj4 library, as noted, focuses just on the projections
support and does not attempt to address datum shifting,
or geocentric issues to the best of my knowledge.

Best regards,
--
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, ***@pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush | Geospatial Programmer for Rent
Strebe at aol.com ()
2005-07-18 22:07:51 UTC
Permalink
In a message dated 2/28/2005 12:15:00 PM Eastern Standard Time, Frank Warmerdam <***@gmail.com> writes:

...
Post by Frank Warmerdam
It also has support for a geocentric coordinate system
(using proj=geocent). ?However, my understanding is
that there are two types of geocentric coordinates. ?One
from the center of the ellipsoid, and one from a height
perpendicular to the ellipsoid. ?I'm not sure, off hand,
which it is supported by PROJ.4 but can investigate if
needed.
...

I can't speak for any software implementions, but as far as datums go, 'geocentric' should refer to those intended for world-wide coverage. That includes any created for satellite measurements since, and including, WGS 72, and excluding any others I know about.

As far as latitude measurement goes, first consider the ray from the center of the ellipsoid through the equator at the meridian of the point in question. Call that the "equatorial ray". Then 'geocentric latitude' refers to measuring the angle subtended by the equatorial ray and the point in question. 'Geodetic latitude', on the other hand, places the vertex at the intersection of the equatorial ray and the ray normal to the ellipsoid at the point in question.

Hence there are at least two distinct usages for 'geocentric', one with respect to measurement of latitude, and the other with respect to the applicability of the ellipsoidal model.

(Geocentric coordinates are used, I hear, for satellite tracking and data gathering, but are always converted to geodetic before general release. )

Regards,

daan Strebe
Geocart author
http://www.mapthematics.com
Noel Zinn
2005-07-18 22:07:51 UTC
Permalink
Thanks all for the clarifications and comments this thread has generated. I
now understand that libproj is cartography only (lat/lon <=>
Northing/Easting), but that the version of proj.4 available at
remotesensing.com has extensions to libproj that include gridded datum
transformation, e.g., NADCON (lat27/lon27 <=> lat83/lon83), and "geocentric"
datum transformations (lat1/lon1/hgt1 <=> lat2/lon2/hgt2) via some
combination of 3 translations, 3 rotations and a scale change about ECEF
Cartesian coordinates (Z being positive north through the spin axis, X
positive in the Equatorial plane through the Greenwich Meridian and Y
positive in the Equatorial plane at 90E). The cartography is mathematically
defined (in principle without error, though YMMV), but that any datum shift
parameters one might use are empirically derived and spatially variant on
distorted terrestrial datums, hence, lots of error. That's life.

As an aside, to compute a 3- or 7-parameter datum shift one must compute to
or from the ECEF coordinates of both datums, satellite or terrestrial, via
the process: lat1/lon1/hgt1 => ECEF1 => (datum shift) => ECEF2 =>
lat2/lon2/hgt2, where lats and lons are geodetic lats and lons (not
geocentric) and hgt is normal to the ellipsoid. So, the ECEF coordinates
are there in the code if datum shifting is being done in the extended proj.4
at remotesensing.com. My original question was whether they were available
to the user as a deliverable without programming. I'll have to figure out
whether proj=geocent delivers ECEF when I have an opportunity to use proj.4.
Why are ECEF coordinates useful? For 3D visualization in appropriate
software (Matlab works for this, though industry has better) without the
distortions that all map projections (3D => 2D) inherently suffer.

Again, thanks for all the helpful comments,
Noel Zinn

----- Original Message -----
From: <***@aol.com>
To: <***@xserve.flids.com>
Sent: Monday, February 28, 2005 2:29 PM
Subject: [Proj] Re: ECEF
Post by Strebe at aol.com ()
In a message dated 2/28/2005 12:15:00 PM Eastern Standard Time, Frank
...
Post by Frank Warmerdam
It also has support for a geocentric coordinate system
(using proj=geocent). However, my understanding is
that there are two types of geocentric coordinates. One
from the center of the ellipsoid, and one from a height
perpendicular to the ellipsoid. I'm not sure, off hand,
which it is supported by PROJ.4 but can investigate if
needed.
...
I can't speak for any software implementions, but as far as datums go,
'geocentric' should refer to those intended for world-wide coverage. That
includes any created for satellite measurements since, and including, WGS
72, and excluding any others I know about.
Post by Strebe at aol.com ()
As far as latitude measurement goes, first consider the ray from the
center of the ellipsoid through the equator at the meridian of the point in
question. Call that the "equatorial ray". Then 'geocentric latitude' refers
to measuring the angle subtended by the equatorial ray and the point in
question. 'Geodetic latitude', on the other hand, places the vertex at the
intersection of the equatorial ray and the ray normal to the ellipsoid at
the point in question.
Post by Strebe at aol.com ()
Hence there are at least two distinct usages for 'geocentric', one with
respect to measurement of latitude, and the other with respect to the
applicability of the ellipsoidal model.
Post by Strebe at aol.com ()
(Geocentric coordinates are used, I hear, for satellite tracking and data
gathering, but are always converted to geodetic before general release. )
Post by Strebe at aol.com ()
Regards,
daan Strebe
Geocart author
http://www.mapthematics.com
_______________________________________________
Proj mailing list
http://xserve.flids.com/mailman/listinfo/proj
Continue reading on narkive:
Loading...