Converting

This module contains functions for converting between different coordinate types. Each of the functions can be seen below.

geodepy.convert.polar2rect(r, theta)[source]

Converts point in polar coordinates to corresponding rectangular coordinates

Parameters:
  • r – Radius

  • theta (Float (decimal degrees), DMSAngle or DDMAngle) – Angle (decimal degrees) from postive y axis (north)

Returns:

Rectangular Coordinates X, Y

geodepy.convert.rect2polar(x, y)[source]

Converts point in rectangular coordinates to corresponding polar coordinates Angular component of polar coordinates (theta) is in decimal degrees and is measured clockwise from the positive y axis (i.e. north)

Parameters:
  • x – Rectangular Coordinate X

  • y – Rectangular Coordinate Y

Returns:

  • Radius

  • Angle (decimal degrees)

geodepy.convert.rect_radius(ellipsoid)[source]

Computes the Rectifying Radius of an Ellipsoid with specified Inverse Flattening (See Ref 2 Equation 3)

Parameters:

ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Ellipsoid Rectifying Radius

geodepy.convert.alpha_coeff(ellipsoid)[source]

Computes the set of Alpha coefficients of an Ellipsoid with specified Inverse Flattening (See Ref 2 Equation 5)

Parameters:

ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Alpha coefficients a2, a4 … a16

Return type:

tuple

geodepy.convert.beta_coeff(ellipsoid)[source]

Computes the set of Beta coefficients of an Ellipsoid with specified Inverse Flattening (See Ref 2 Equation 23)

Parameters:

ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Alpha coefficients a2, a4 … a16

Return type:

tuple

geodepy.convert.psfandgridconv(xi1, eta1, lat, lon, cm, conf_lat, ellipsoid=<geodepy.constants.Ellipsoid object>, prj=<geodepy.constants.Projection object>)[source]

Calculates Point Scale Factor and Grid Convergence. Used in convert.geo2grid and convert.grid2geo

Parameters:
  • xi1 – Transverse Mercator Ratio Xi

  • eta1 – Transverse Mercator Ratio Eta

  • lat (Decimal Degrees, DMSAngle or DDMAngle) – Latitude

  • lon (Decimal Degrees, DMSAngle or DDMAngle) – Longitude

  • cm – Central Meridian

  • conf_lat – Conformal Latitude

  • ellipsoid – Ellipsoid Object (default: GRS80)

Returns:

Point Scale Factor, Grid Convergence (Decimal Degrees)

Return type:

tuple

geodepy.convert.geo2grid(lat, lon, zone=0, ellipsoid=<geodepy.constants.Ellipsoid object>, prj=<geodepy.constants.Projection object>)[source]

Takes a geographic co-ordinate (latitude, longitude) and returns its corresponding Hemisphere, Zone and Projection Easting and Northing, Point Scale Factor and Grid Convergence. Default Projection is Universal Transverse Mercator Projection using GRS80 Ellipsoid parameters.

Parameters:
  • lat (Float (Decimal Degrees), DMSAngle or DDMAngle) – Latitude

  • lon (Float (Decimal Degrees, DMSAngle or DDMAngle) – Longitude

  • zone – Optional Zone Number - Only required if calculating grid co-ordinate outside zone boundaries

  • ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

hemisphere, zone, east (m), north (m), Point Scale Factor, Grid Convergence (Decimal Degrees)

Return type:

tuple

geodepy.convert.grid2geo(zone, east, north, hemisphere='south', ellipsoid=<geodepy.constants.Ellipsoid object>, prj=<geodepy.constants.Projection object>)[source]

Takes a Transverse Mercator grid co-ordinate (Zone, Easting, Northing, Hemisphere) and returns its corresponding Geographic Latitude and Longitude, Point Scale Factor and Grid Convergence. Default Projection is Universal Transverse Mercator Projection using GRS80 Ellipsoid parameters.

Parameters:
  • zone – Zone Number - 1 to 60

  • east – Easting (m, within 3330km of Central Meridian)

  • north – Northing (m, 0 to 10,000,000m)

  • hemisphere – String - ‘North’ or ‘South’(default)

  • ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Latitude and Longitude (Decimal Degrees), Point Scale Factor, Grid Convergence (Decimal Degrees)

Return type:

tuple

geodepy.convert.xyz2llh(x, y, z, ellipsoid=<geodepy.constants.Ellipsoid object>)[source]

Converts Cartesian X, Y, Z coordinate to Geographic Latitude, Longitude and Ellipsoid Height. Default Ellipsoid parameters used are GRS80.

Parameters:
  • x – Cartesian X Coordinate (metres)

  • y – Cartesian Y Coordinate (metres)

  • z – Cartesian Z Coordinate (metres)

  • ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Geographic Latitude (Decimal Degrees), Longitude (Decimal Degrees) and Ellipsoid Height (metres)

Return type:

tuple

geodepy.convert.llh2xyz(lat, lon, ellht=0, ellipsoid=<geodepy.constants.Ellipsoid object>)[source]

Converts Geographic Latitude, Longitude and Ellipsoid Height to Cartesian X, Y and Z Coordinates. Default Ellipsoid parameters used are GRS80.

Parameters:
  • lat (Float (Decimal Degrees), DMSAngle or DDMAngle) – Geographic Latitude

  • lon (Float (Decimal Degrees), DMSAngle or DDMAngle) – Geographic Longitude

  • ellht – Ellipsoid Height (metres, default is 0m)

  • ellipsoid (Ellipsoid) – Ellipsoid Object

Returns:

Cartesian X, Y, Z Coordinate in metres

Return type:

tuple

geodepy.convert.date_to_yyyydoy(date)[source]

Convert a datetime.date object to a string in the form ‘yyyy.doy’, where yyyy is the 4 character year number and doy is the 3 character day of year

Parameters:

date (datetime.date) – datetime.date object

Returns:

string with date in the form ‘yyyy.doy’

Return type:

str

geodepy.convert.yyyydoy_to_date(yyyydoy)[source]

Convert a string in the form of either ‘yyyydoy’ or ‘yyyy.doy’ to a datetime.date object, where yyyy is the 4 character year number and doy is the 3 character day of year

Parameters:

yyyydoy – string with date in the form ‘yyyy.doy’ or ‘yyyydoy’

Returns:

datetime.date object

Return type:

datetime.date