def __init__(self, lat, lon, height=0, datum=None, reframe=None, epoch=None, name=''): '''Create an ellipsoidal C{LatLon} point frome the given lat-, longitude and height on the given datum and with the given reference frame and epoch. @param lat: Latitude (C{degrees} or DMS C{[N|S]}). @param lon: Longitude (C{degrees} or DMS C{str[E|W]}). @keyword height: Optional elevation (C{meter}, the same units as the datum's half-axes). @keyword datum: Optional, ellipsoidal datum to use (L{Datum}). @keyword reframe: Optional reference frame (L{RefFrame}). @keyword epoch: Optional epoch to observe for B{C{reframe}} (C{scalar}), a non-zero, fractional calendar year. @keyword name: Optional name (string). @raise TypeError: B{C{datum}} is not a L{datum}, B{C{reframe}} is not a L{RefFrame} or B{C{epoch}} is not C{scalar} non-zero. @example: >>> p = LatLon(51.4778, -0.0016) # height=0, datum=Datums.WGS84 ''' LatLonBase.__init__(self, lat, lon, height=height, name=name) if datum: self.datum = datum if reframe: self.reframe = reframe self.epoch = epoch
def __init__(self, lat, lon, height=0, datum=None, reframe=None, epoch=None, name=NN): '''Create an ellipsoidal C{LatLon} point frome the given lat-, longitude and height on the given datum and with the given reference frame and epoch. @arg lat: Latitude (C{degrees} or DMS C{[N|S]}). @arg lon: Longitude (C{degrees} or DMS C{str[E|W]}). @kwarg height: Optional elevation (C{meter}, the same units as the datum's half-axes). @kwarg datum: Optional, ellipsoidal datum to use (L{Datum}, L{Ellipsoid}, L{Ellipsoid2} or L{a_f2Tuple}). @kwarg reframe: Optional reference frame (L{RefFrame}). @kwarg epoch: Optional epoch to observe for B{C{reframe}} (C{scalar}), a non-zero, fractional calendar year. @kwarg name: Optional name (string). @raise RangeError: Value of B{C{lat}} or B{C{lon}} outside the valid range and C{rangerrors} set to C{True}. @raise TypeError: B{C{datum}} is not a L{datum}, B{C{reframe}} is not a L{RefFrame} or B{C{epoch}} is not C{scalar} non-zero. @raise UnitError: Invalid B{C{lat}}, B{C{lon}} or B{C{height}}. @example: >>> p = LatLon(51.4778, -0.0016) # height=0, datum=Datums.WGS84 ''' LatLonBase.__init__(self, lat, lon, height=height, name=name) if datum not in (None, self._datum): self.datum = _ellipsoidal_datum(datum, name=name) if reframe: self.reframe = reframe self.epoch = epoch
def __init__(self, lat, lon, height=0, datum=None, name=''): '''Create a spherical C{LatLon} point frome the given lat-, longitude and height on the given datum. @param lat: Latitude (C{degrees} or DMS C{[N|S]}). @param lon: Longitude (C{degrees} or DMS C{str[E|W]}). @keyword height: Optional elevation (C{meter}, the same units as the datum's half-axes). @keyword datum: Optional, shperical datum to use (L{Datum}). @keyword name: Optional name (string). @raise TypeError: B{C{datum}} is not a L{datum} or not spherical. @example: >>> p = LatLon(51.4778, -0.0016) # height=0, datum=Datums.WGS84 ''' LatLonBase.__init__(self, lat, lon, height=height, name=name) if datum: self.datum = datum
def __init__(self, lat, lon, height=0, datum=None, name=NN): '''Create a spherical C{LatLon} point frome the given lat-, longitude and height on the given datum. @arg lat: Latitude (C{degrees} or DMS C{[N|S]}). @arg lon: Longitude (C{degrees} or DMS C{str[E|W]}). @kwarg height: Optional elevation (C{meter}, the same units as the datum's half-axes). @kwarg datum: Optional, spherical datum to use (L{Datum}, L{Ellipsoid}, L{Ellipsoid2}, L{a_f2Tuple}) or C{scalar} earth radius). @kwarg name: Optional name (string). @raise TypeError: If B{C{datum}} invalid or not not spherical. @example: >>> p = LatLon(51.4778, -0.0016) # height=0, datum=Datums.WGS84 ''' LatLonBase.__init__(self, lat, lon, height=height, name=name) if datum not in (None, self.datum): self._datum = _spherical_datum(datum, name=self.name, raiser=True)