'''Return the lat- and longitudinal size of this L{Geohash} cell. @arg geohash: Cell for which size are required (L{Geohash} or C{str}). @return: A L{LatLon2Tuple}C{(lat, lon)} with the latitudinal height and longitudinal width in (C{meter}). @raise TypeError: The B{C{geohash}} is not a L{Geohash}, C{LatLon} or C{str}. ''' return _2Geohash(geohash).sizes __all__ += _ALL_OTHER(bounds, # functions decode, decode_error, distance1, distance2, distance3, encode, neighbors, precision, resolution2, sizes) + _ALL_DOCS(Neighbors8Dict) # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software.
@see: Function L{wgrs.encode} for more C{precision} details. ''' p = Int(prec=prec, Error=WGRSError) if p > 1: r = _1_0 / (_60_0 * pow(_Base, min(p, _MaxPrec) - 1)) elif p < 1: r = _float_Tile else: r = _1_0 return r __all__ += _ALL_OTHER( decode3, decode5, # functions encode, precision, resolution) # **) MIT License # # Copyright (C) 2016-2021 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included
a2, b2 = points[i].philam db, b2 = unrollPI(b1, b2, wrap=wrap) yield vincentys_(a2, a1, db) a1, b1 = a2, b2 r = fsum(_rads(n, points, closed)) return r * Radius(radius) __all__ += _ALL_OTHER( Cartesian, LatLon, # classes areaOf, # functions intersection, intersections2, ispolar, isPoleEnclosedBy, # DEPRECATED, use ispolar meanOf, nearestOn2, nearestOn3, perimeterOf, sumOf) # == vector3d.sumOf # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense,
raise EPSGError(zone=zone, hemipole=hemipole, band=band, txt=str(x)) if _UTM_ZONE_MIN <= z <= _UTM_ZONE_MAX: e = z - _UTM_ZONE_MIN + (_EPSG_N_01 if hp == _N_ else _EPSG_S_01) elif z == _UPS_ZONE: e = _EPSG_N if hp == _N_ else _EPSG_S else: raise EPSGError(zone=zone) e = Epsg(e) e._band = B # e._hemisphere = hp return e __all__ += _ALL_OTHER(decode2, encode) # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. #
d = Distance(distance) sb, cb, se, ce = sincos2d(Bearing(bearing), Height(elevation=elevation)) n = cb * d * ce e = sb * d * ce d *= se r = Ned3Tuple(n, e, -d) if Ned is None else \ Ned(n, e, -d) return _xnamed(r, name) __all__ += _ALL_OTHER( Cartesian, LatLon, Ned, Nvector, # classes meanOf, sumOf, toNed) # **) MIT License # # Copyright (C) 2016-2021 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: #
closed=False, datum=Datums.WGS84, wrap=True): # PYCHOK no cover '''DEPRECATED, use function C{ellipsoidalKarney.perimeterOf}. @raise ImportError: Package U{geographiclib <https://PyPI.org/project/geographiclib>} not installed or not found. ''' from pygeodesy.ellipsoidalKarney import perimeterOf return perimeterOf(points, closed=closed, datum=datum, wrap=wrap) __all__ += _ALL_OTHER( Cartesian, LatLon, intersections2, ispolar, # from .points nearestOn) + _ALL_DOCS(perimeterOf) # **) MIT License # # Copyright (C) 2016-2021 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included
@raise ValueError: Invalid C{B{wrap}=False}, unwrapped, unrolled longitudes not supported. @note: This function requires the U{geographiclib <https://PyPI.org/project/geographiclib>} package. @see: L{pygeodesy.perimeterOf} and L{sphericalTrigonometry.perimeterOf}. ''' return _geodesic(datum, points, closed, True, wrap) __all__ += _ALL_OTHER( Cartesian, LatLon, # classes areaOf, intersections2, isclockwise, ispolar, # functions nearestOn, perimeterOf) # **) MIT License # # Copyright (C) 2016-2021 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions:
@raise ValueError: Some B{C{points}} coincide or invalid B{C{distance1}}, B{C{distance2}}, B{C{distance3}} or B{C{radius}}. @see: U{Trilateration<https://WikiPedia.org/wiki/Trilateration>}. ''' return _trilaterate(_Nvll.others(points1=point1), distance1, _Nvll.others(points2=point2), distance2, _Nvll.others(points3=point3), distance3, radius=radius, height=height, useZ=useZ, LatLon=LatLon, **LatLon_kwds) __all__ += _ALL_OTHER(Cartesian, LatLon, Nvector, # classes areaOf, # functions intersection, ispolar, meanOf, nearestOn2, perimeterOf, sumOf, triangulate, trilaterate) # **) MIT License # # Copyright (C) 2016-2021 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: #
''' from pygeodesy.ellipsoidalKarney import areaOf return areaOf(points, datum=datum, wrap=wrap) def perimeterOf(points, closed=False, datum=Datums.WGS84, wrap=True): # PYCHOK no cover '''DEPRECATED, use function C{ellipsoidalKarney.perimeterOf}. ''' from pygeodesy.ellipsoidalKarney import perimeterOf return perimeterOf(points, closed=closed, datum=datum, wrap=wrap) __all__ += _ALL_OTHER(Cartesian, LatLon, ispolar) # from .points # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. #
intersections. ''' from pygeodesy.azimuthal import Equidistant E = Equidistant if equidistant is None else equidistant return _intersections2(center1, radius1, center2, radius2, height=height, wrap=wrap, equidistant=E, tol=tol, LatLon=LatLon, **LatLon_kwds) def perimeterOf(points, closed=False, datum=Datums.WGS84, wrap=True): # PYCHOK no cover '''DEPRECATED, use function C{ellipsoidalKarney.perimeterOf}. ''' from pygeodesy.ellipsoidalKarney import perimeterOf return perimeterOf(points, closed=closed, datum=datum, wrap=wrap) __all__ += _ALL_OTHER(Cartesian, LatLon, intersections2, ispolar) # from .points # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. #
@return: Vectorial sum (B{C{Vector}}). @raise VectorError: No B{C{vectors}}. ''' n, vectors = len2(vectors) if n < 1: raise VectorError(vectors=n, txt=_Missing) r = Vector3Tuple(fsum(v.x for v in vectors), fsum(v.y for v in vectors), fsum(v.z for v in vectors)) if Vector is not None: r = Vector(r.x, r.y, r.z, **Vector_kwds) # PYCHOK x, y, z return r __all__ += _ALL_OTHER(sumOf) # **) MIT License # # Copyright (C) 2016-2020 -- mrJean1 at Gmail -- All Rights Reserved. # # Permission is hereby granted, free of charge, to any person obtaining a # copy of this software and associated documentation files (the "Software"), # to deal in the Software without restriction, including without limitation # the rights to use, copy, modify, merge, publish, distribute, sublicense, # and/or sell copies of the Software, and to permit persons to whom the # Software is furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included # in all copies or substantial portions of the Software. #