示例#1
0
        '''(INTERNAL) Compute r(t).
        '''
        return self._aF * pow(t, self._n)

    def _tdef(self, lat):
        '''(INTERNAL) Compute t(lat).
        '''
        return max(0, tanPI_2_2(-lat) / self._pdef(lat))

    def _xdef(self, t_x):
        '''(INTERNAL) Compute x(t_x).
        '''
        return PI_2 - 2 * atan(t_x)  # XXX + self._phi0


Conics = _NamedEnum('Conics', Conic)  #: Registered conics.
Conics._assert(  # <https://SpatialReference.org/ref/sr-org/...>
    #   AsLb   = Conic(_LLEB(-14.2666667, 170, datum=Datums.NAD27), 0, 0, E0=500000, N0=0, name='AsLb', auth='EPSG:2155'),  # American Samoa ... SP=1 !
    Be08Lb=Conic(_LLEB(50.7978150, 4.359215833, datum=Datums.GRS80),
                 49.833333,
                 51.166667,
                 E0=649328.0,
                 N0=665262.0,
                 name='Be08Lb',
                 auth='EPSG:9802'),  # Belgium
    Be72Lb=Conic(_LLEB(90, 4.3674867, datum=Datums.NAD83),
                 49.8333339,
                 51.1666672,
                 E0=150000.013,
                 N0=5400088.438,
                 name='Be72Lb',
示例#2
0
文件: lcc.py 项目: rbpdqdat/PyGeodesy
        return self._aF * pow(t, self._n)

    def _tdef(self, a):
        '''(INTERNAL) Compute t(lat).
        '''
        return max(_0_0, tanPI_2_2(-a) / self._pdef(a))

    def _xdef(self, t_x):
        '''(INTERNAL) Compute x(t_x).
        '''
        return PI_2 - 2 * atan(t_x)  # XXX + self._phi0


Conic._name = Conic.__name__

Conics = _NamedEnum(Conic)  # registered Conics
Conics._assert(  # <https://SpatialReference.org/ref/sr-org/...>
    #   AsLb   = Conic(_LLEB(-14.2666667, 170, datum=Datums.NAD27), _0_0, _0_0,
    #                        E0=_F(500000), N0=_0_0, name='AsLb', auth='EPSG:2155'),  # American Samoa ... SP=1 !
    Be08Lb=Conic(_LLEB(50.7978150, 4.359215833, datum=Datums.GRS80),
                 _F(49.833333),
                 _F(51.166667),
                 E0=_F(649328.0),
                 N0=_F(665262.0),
                 name='Be08Lb',
                 auth='EPSG:9802'),  # Belgium
    Be72Lb=Conic(_LLEB(90, 4.3674867, datum=Datums.NAD83),
                 _F(49.8333339),
                 _F(51.1666672),
                 E0=_F(150000.013),
                 N0=_F(5400088.438),
示例#3
0
        if inverse:
            _xyz = -1, -x, -y, -z
            _s1 = self.s1 - 2  # == -(1 - s * 1e-6)) == -(1 - (s1 - 1))
        else:
            _xyz = 1, x, y, z
            _s1 = self.s1
        # x', y', z' = (.tx + x * .s1 - y * .rz + z * .ry,
        #               .ty + x * .rz + y * .s1 - z * .rx,
        #               .tz - x * .ry + y * .rx + z * .s1)
        r = Vector3Tuple(fdot(_xyz, self.tx, _s1, -self.rz, self.ry),
                         fdot(_xyz, self.ty, self.rz, _s1, -self.rx),
                         fdot(_xyz, self.tz, -self.ry, self.rx, _s1))
        return self._xnamed(r)


Transforms = _NamedEnum('Transforms', Transform)  #: Registered transforms.
# <https://WikiPedia.org/wiki/Helmert_transformation> from WGS84
Transforms._assert(
    BD72=Transform(
        'BD72',
        tx=106.868628,
        ty=-52.297783,
        tz=103.723893,
        # <https://www.NGI.BE/FR/FR4-4.shtm> ETRS89 == WG84
        # <https://GeoRepository.com/transformation_15929/BD72-to-WGS-84-3.html>
        sx=-0.33657,
        sy=-0.456955,
        sz=-1.84218,
        s=1.2727),
    Bessel1841=Transform('Bessel1841',
                         tx=-582.0,
示例#4
0
文件: trf.py 项目: mzy2240/PyGeodesy
        '''
        return self._epoch

    def toStr(self):  # PYCHOK expected
        '''Return this reference frame as a text string.

           @return: This L{RefFrame}'s attributes (C{str}).
        '''
        e = self.ellipsoid
        t = ('name=%r'               % (self.name,),
             'epoch=%s'              % (fStrzs('%.3f' % (self.epoch,)),),
             'ellipsoid=%s(name=%r)' % (classname(e), e.name))
        return ', '.join(t)


RefFrames = _NamedEnum('RefFrames', RefFrame)  #: Registered reference frames.
# <https://GitHub.com/chrisveness/geodesy/blob/master/latlon-ellipsoidal-referenceframe.js>
RefFrames._assert(
#   ITRF2014AU = RefFrame(_F(2020.0), Ellipsoids.GRS80, _S('ITRF2014AU')),
    ITRF2014   = RefFrame(_F(2010.0), Ellipsoids.GRS80, _S('ITRF2014')),
    ITRF2008   = RefFrame(_F(2005.0), Ellipsoids.GRS80, _S('ITRF2008')),
    ITRF2005   = RefFrame(_F(2000.0), Ellipsoids.GRS80, _S('ITRF2005')),
    ITRF2000   = RefFrame(_F(1997.0), Ellipsoids.GRS80, _S('ITRF2000')),
    ITRF93     = RefFrame(_F(1988.0), Ellipsoids.GRS80, _S('ITRF93')),
    ITRF91     = RefFrame(_F(1988.0), Ellipsoids.GRS80, _S('ITRF91')),
    WGS84g1762 = RefFrame(_F(2005.0), Ellipsoids.WGS84, _S('WGS84g1762')),
    WGS84g1674 = RefFrame(_F(2005.0), Ellipsoids.WGS84, _S('WGS84g1674')),
    WGS84g1150 = RefFrame(_F(2001.0), Ellipsoids.WGS84, _S('WGS84g1150')),
    ETRF2000   = RefFrame(_F(2005.0), Ellipsoids.GRS80, _S('ETRF2000')),  # ETRF2000(R08)
    NAD83      = RefFrame(_F(1997.0), Ellipsoids.GRS80, _S('NAD83')),  # CORS96
    GDA94      = RefFrame(_F(1994.0), Ellipsoids.GRS80, _S('GDA94')))
示例#5
0
文件: trf.py 项目: rbpdqdat/PyGeodesy
        return self._epoch

    def toStr(self, **unused):  # PYCHOK expected
        '''Return this reference frame as a text string.

           @return: This L{RefFrame}'s attributes (C{str}).
        '''
        e = self.ellipsoid
        t = (Fmt.EQUAL(_name_,
                       repr(self.name)), Fmt.EQUAL(_epoch_, self.epoch),
             Fmt.PAREN(Fmt.EQUAL(_ellipsoid_, classname(e)),
                       Fmt.EQUAL(_name_, repr(e.name))))
        return _COMMASPACE_.join(t)


RefFrames = _NamedEnum(RefFrame)  # registered reference frames
# <https://GitHub.com/chrisveness/geodesy/blob/master/latlon-ellipsoidal-referenceframe.js>
RefFrames._assert(
    #   ITRF2014AU = RefFrame(_F(2020), Ellipsoids.GRS80, _S.ITRF2014AU),
    ITRF2014=RefFrame(_F(2010), Ellipsoids.GRS80, _S.ITRF2014),
    ITRF2008=RefFrame(_F(2005), Ellipsoids.GRS80, _S.ITRF2008),
    ITRF2005=RefFrame(_F(2000), Ellipsoids.GRS80, _S.ITRF2005),
    ITRF2000=RefFrame(_F(1997), Ellipsoids.GRS80, _S.ITRF2000),
    ITRF93=RefFrame(_F(1988), Ellipsoids.GRS80, _S.ITRF93),
    ITRF91=RefFrame(_F(1988), Ellipsoids.GRS80, _S.ITRF91),
    WGS84g1762=RefFrame(_F(2005), Ellipsoids.WGS84, _S.WGS84g1762),
    WGS84g1674=RefFrame(_F(2005), Ellipsoids.WGS84, _S.WGS84g1674),
    WGS84g1150=RefFrame(_F(2001), Ellipsoids.WGS84, _S.WGS84g1150),
    ETRF2000=RefFrame(_F(2005), Ellipsoids.GRS80,
                      _S.ETRF2000),  # ETRF2000(R08)
    NAD83=RefFrame(_F(1997), Ellipsoids.GRS80, _S.NAD83),  # CORS96