Skip to main content
deleted 1 character in body
Source Link
snowman2
  • 7.5k
  • 12
  • 30
  • 55

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(40792624085787.8556099837068269556, 45637551200373.201835215402366255, 17863034732351.356130343138300765)

For maximal correctness, you have to enter the actual elevation (in meters) of your transmitters as Z coordinate. Using 0 as in this example corresponds to WGS84 sea level. – Hagen von Eitzen (from comment below)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

For maximal correctness, you have to enter the actual elevation (in meters) of your transmitters as Z coordinate. Using 0 as in this example corresponds to WGS84 sea level. – Hagen von Eitzen (from comment below)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4085787.068269556, 1200373.402366255, 4732351.138300765)

For maximal correctness, you have to enter the actual elevation (in meters) of your transmitters as Z coordinate. Using 0 as in this example corresponds to WGS84 sea level. – Hagen von Eitzen (from comment below)

added 218 characters in body
Source Link
snowman2
  • 7.5k
  • 12
  • 30
  • 55

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

For maximal correctness, you have to enter the actual elevation (in meters) of your transmitters as Z coordinate. Using 0 as in this example corresponds to WGS84 sea level. – Hagen von Eitzen (from comment below)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

For maximal correctness, you have to enter the actual elevation (in meters) of your transmitters as Z coordinate. Using 0 as in this example corresponds to WGS84 sea level. – Hagen von Eitzen (from comment below)

deleted 16 characters in body
Source Link
snowman2
  • 7.5k
  • 12
  • 30
  • 55

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(4816.2084137239, 1648.3723920841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(48.20841, 16.37239, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)

To do 3D transformations, you need 3D CRS:

  • EPSG:4326 (2D) -> EPSG:4979 (3D)
<Geographic 3D CRS: EPSG:4979>
Name: WGS 84
Axis Info [ellipsoidal]:
- Lat[north]: Geodetic latitude (degree)
- Lon[east]: Geodetic longitude (degree)
- h[up]: Ellipsoidal height (metre)
Area of Use:
- name: World: ...
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich
  • EPSG:4978 (3D Geocentric CRS)
<Geocentric CRS: EPSG:4978>
Name: WGS 84
Axis Info [cartesian]:
- X[geocentricX]: Geocentric X (metre)
- Y[geocentricY]: Geocentric Y (metre)
- Z[geocentricZ]: Geocentric Z (metre)
Area of Use:
- name: World.
- bounds: (-180.0, -90.0, 180.0, 90.0)
Datum: World Geodetic System 1984 ensemble
- Ellipsoid: WGS 84
- Prime Meridian: Greenwich

Then, you need to provide the Z coordinate on the input for the transform:

from pyproj import Transformer
trans_GPS_to_XYZ = Transformer.from_crs(4979, 4978, always_xy=True)
trans_GPS_to_XYZ.transform(16.37239, 48.20841, 0)

Output:

(4079262.8556099837, 4563755.201835215, 1786303.356130343)
Source Link
snowman2
  • 7.5k
  • 12
  • 30
  • 55
Loading