nvector.objects.GeoPoint — nvector 0.7.5 documentation

# nvector.objects.GeoPoint

class `GeoPoint`(latitude, longitude, z=0, frame=None, degrees=False)

  Geographical position given as latitude, longitude, depth in frame E.

  Parameters
    latitude, longitude: real scalars or vectors of length n.

      Geodetic latitude and longitude given in [rad or deg]

    z: real scalar or vector of length n.

      Depth(s) [m] relative to the ellipsoid (depth = -height)

    frame: FrameE object

      reference ellipsoid. The default ellipsoid model used is WGS84, but other ellipsoids/spheres might be specified.

    degrees: bool

      True if input are given in degrees otherwise radians are assumed.

  Examples

  Solve geodesic problems.

  The following illustrates its use

      >>> import nvector as nv
      >>> wgs84 = nv.FrameE(name='WGS84')
      >>> point_a = wgs84.GeoPoint(-41.32, 174.81, degrees=True)
      >>> point_b = wgs84.GeoPoint(40.96, -5.50, degrees=True)

      >>> print(point_a)
      GeoPoint(latitude=-0.721170046924057,
               longitude=3.0510100654112877,
               z=0,
              frame=FrameE(a=6378137.0,
                           f=0.0033528106647474805,
                           name='WGS84',
                           R_Ee=[[0.0, 0.0, 1.0], [0.0, 1.0, 0.0], [-1.0, 0.0, 0.0]]))

  The geodesic inverse problem

      >>> s12, az1, az2 = point_a.distance_and_azimuth(point_b, degrees=True)
      >>> 's12 = {:5.2f}, az1 = {:5.2f}, az2 = {:5.2f}'.format(s12, az1, az2)
      's12 = 19959679.27, az1 = 161.07, az2 = 18.83'

  The geodesic direct problem

      >>> point_a = wgs84.GeoPoint(40.6, -73.8, degrees=True)
      >>> az1, distance = 45, 10000e3
      >>> point_b, az2 = point_a.displace(distance, az1, degrees=True)
      >>> lat2, lon2 = point_b.latitude_deg, point_b.longitude_deg
      >>> msg = 'lat2 = {:5.2f}, lon2 = {:5.2f}, az2 = {:5.2f}'
      >>> msg.format(lat2, lon2, az2)
      'lat2 = 32.64, lon2 = 49.01, az2 = 140.37'

  `__init__`(self, latitude, longitude, z=0, frame=None, degrees=False)

    Initialize self. See help(type(self)) for accurate signature.

  Methods

  `__init__`(self, latitude, longitude[, z, …]) | Initialize self.
  `delta_to`(self, other) | Returns cartesian delta vector from positions a to b decomposed in N.
  `displace`(self, distance, azimuth[, …]) | Returns position b computed from current position, distance and azimuth.
  `distance_and_azimuth`(self, point[, …]) | Returns ellipsoidal distance between positions as well as the direction.
  `to_ecef_vector`(self) | Returns position as ECEFvector object.
  `to_geo_point`(self) | Returns position as GeoPoint object.
  `to_nvector`(self) | Returns position as Nvector object.

  Attributes

  `latitude_deg` | latitude in degrees.
  `latlon` | (latitude, longitude, z) tuple, angles are in radian.
  `latlon_deg` | (latitude_deg, longitude_deg, z) tuple, angles are in degree.
  `longitude_deg` | longitude in degrees.