GeoPositionXYZ
GeoPositionXYZ[{x,y,z}]
represents a position in a Cartesian geocentric coordinate system.
GeoPositionXYZ[{x,y,z},datum]
represents a point referred to the specified datum.
GeoPositionXYZ[{{x1,y1,z1},{x2,y2,z2},…},datum]
represents an array of points in a Cartesian geocentric coordinate system.
GeoPositionXYZ[entity]
returns the Cartesian geocentric position of the given geographical entity.
Details
- GeoPositionXYZ uses an Earth-centered, Earth-fixed Cartesian coordinate system.
- In GeoPositionXYZ[{x,y,z}], coordinate numeric values x,y,z are assumed to be in meters.
- GeoPositionXYZ[{x,y,z,t}] includes a time t measured in seconds since the beginning of January 1, 1900 in the GMT time zone.
- A GeoPositionXYZ object with no explicit time assumes the current date.
- GeoPositionXYZ[{x,y,z}] assumes the default datum "ITRF00".
- Standard datums can be specified by name. Typical named datums include:
-
"ITRF00" International Terrestrial Reference Frame 2000 "NAD27" North American Datum of 1927 "NAD83CORS96" North American Datum of 1983 (CORS96) - The complete list of named datums and reference ellipsoids is given by GeodesyData[].
- GeoPositionXYZ[GeoPositionXYZ[{x,y,z},datum1],datum2] converts between datums.
- GeoPositionXYZ[pos,datum] converts from any geographic position type. The following geographic position types can be given: GeoPosition, GeoPositionXYZ, GeoPositionENU, GeoGridPosition.
- GeoPositionXYZ[pos] converts from any type of geographic position, keeping the same datum of pos.
- For extended entities, GeoPositionXYZ[entity] uses when possible the position of the geographic center of the entity.
- GeoPositionXYZ[…][prop] gives the specified property of a Cartesian geo position.
- Possible properties include:
-
"AbsoluteTime" date as number of seconds since Jan 1, 1900, 00:00 GMT "Count" number of positions in the GeoPositionXYZ object "Data" first argument of the GeoPositionXYZ object "DateList" date list {y,m,d,h,m,s} in GMT time "DateObject" full date object "Datum" datum of the GeoPositionYXZ object "Depth" point depth: 0 for a single position, 1 for a list of them, … "Dimension" number of coordinates for each position "PackingType" Integer or Real if data is packed; None otherwise "X" numeric coordinate x in meters "Y" numeric coordinate y in meters "Z" numeric coordinate z in meters "XYZ" numeric {x,y,z} triple in meters "XY" numeric {x,y} pair in meters "XZ" numeric {x,z} pair in meters "YZ" numeric {y,z} pair in meters
Examples
open allclose allBasic Examples (4)
Geodetic point defined by its Earth-centered Cartesian coordinates in meters:
Convert to its {lat,lon,height} form:
Cartesian coordinates of a geographic location:
Current Cartesian coordinates and time for the International Space Station:
Convert Earth-centered coordinates from the default "ITRF00" datum to the "NAD83CORS96" datum:
Convert back to the "ITRF00" datum, with numerical errors smaller than a micrometer:
Scope (12)
Position Specification (6)
A geo location specified by x, y, z values in meters with respect to the Earth's center:
Convert into a lat-lon specification, also including height in meters:
Include time information in seconds since 1900:
Project onto a flat map using the Mercator projection. The time information is preserved:
Locate a geographical entity with respect to the Earth's center:
Give coordinates as Quantity objects in any units of length:
Convert from other geo location types to GeoPositionXYZ:
Geo Position Arrays (4)
To speed up computations, use an array of positions in the first argument:
All points are transformed at once:
Here each point is transformed individually:
Results coincide up to numerical error:
Changes of datum are also faster using an array of points as the first argument:
GeoPositionXYZ can contain nested lists of points, as long as all points have the same length and depth:
Manipulations will preserve the nesting structure:
However, this is not allowed, because the first point has a time specification, but not the second:
This is not allowed because the second point is deeper than the first:
Convert a list of geo positions into a single geo position array:
Coordinate Extraction (2)
Use properties to extract information from a GeoPositionXYZ object:
Use properties to extract information from a GeoPositionXYZ array:
It is a matrix of points, so it has point depth 2:
Each point has dimension 3, namely the x,y,z coordinates:
The array of coordinates is packed with type Real:
Any other property will return an array of values corresponding to the points of the array:
Generalizations & Extensions (3)
Use positions on a sphere of 100 kilometers of radius:
The vector components are given in meters:
Use positions on an ellipsoid of given semiaxes:
Transform back to a GeoPosition object on the ellipsoid:
A position on a geo reference model other than the Earth:
Computations are performed with an ellipsoid of these semiaxis lengths:
Applications (2)
A hundred random points on the surface of the Earth:
Take an icosahedron as a GraphicsComplex object:
Express its 12 vertices as a GeoPositionXYZ array on a sphere of appropriate radius:
Convert to a list of {lat,lon} pairs in degrees:
Construct a GeoPath object that contains the geodesic perimeters of the 20 faces of the icosahedron:
Draw the geodesics on a map of the Earth in the "Equirectangular" projection:
Properties & Relations (6)
Three-dimensional position of the origin of latitude and longitude:
Three-dimensional position of the North and South Poles:
Convert geodetic coordinates to Cartesian coordinates for an ellipsoid of these semiaxes lengths:
Take a point p of geodetic latitude 60°, zero longitude, and geodetic height 0.15:
Convert it to Cartesian coordinates:
Convert back to geodetic coordinates:
Take a point q of the same latitude and longitude, but zero height:
Represent the relation between the coordinates on a vertical cut of the ellipsoid:
The blue line is perpendicular to the tangent at q and forms an angle of 60° with the axis:
The geodetic height of p along the geodetic vertical is the distance between p and q:
GeoPositionXYZ[{}] represents an empty array of geo positions:
GeoPositionXYZ[] is invalid syntax:
GeoPositionXYZ gives Earth's centered position. GeoPositionENU specifies the center to use:
New York is more than eight kilometers below the tangent plane at Washington:
GeoPositionXYZ coincides with GeoPositionENU for this center:
The coordinates of the antipode of a GeoPositionXYZ location have opposite sign:
Text
Wolfram Research (2008), GeoPositionXYZ, Wolfram Language function, https://reference.wolfram.com/language/ref/GeoPositionXYZ.html (updated 2019).
CMS
Wolfram Language. 2008. "GeoPositionXYZ." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2019. https://reference.wolfram.com/language/ref/GeoPositionXYZ.html.
APA
Wolfram Language. (2008). GeoPositionXYZ. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/GeoPositionXYZ.html