Ë
    xìqjb  ã                   ój   — d Z ddlmZ ddlmZmZmZ  G d„ de«      Z G d„ de«      Z G d„ d	e«      Z	y
)zD
This module is for building datums to be used when
building a CRS.
é    )ÚAny)ÚDatumÚ	EllipsoidÚPrimeMeridianc                   ó,   — e Zd ZdZ	 	 	 ddededefd„Zy)ÚCustomDatumzg
    .. versionadded:: 2.5.0

    Class to build a datum based on an ellipsoid and prime meridian.
    ÚnameÚ	ellipsoidÚprime_meridianc                 ó¸   — dd|t        j                  |«      j                  «       t        j                  |«      j                  «       dœ}| j	                  |«      S )a¬  
        Parameters
        ----------
        name: str, default="undefined"
            Name of the datum.
        ellipsoid: Any, default="WGS 84"
            Anything accepted by :meth:`pyproj.crs.Ellipsoid.from_user_input`
            or a :class:`pyproj.crs.datum.CustomEllipsoid`.
        prime_meridian: Any, default="Greenwich"
            Anything accepted by :meth:`pyproj.crs.PrimeMeridian.from_user_input`.
        ú2https://proj.org/schemas/v0.2/projjson.schema.jsonÚGeodeticReferenceFrame)ú$schemaÚtyper	   r
   r   )r   Úfrom_user_inputÚto_json_dictr   Úfrom_json_dict)Úclsr	   r
   r   Ú
datum_jsons        úL/var/www/html/truck-me/venv/lib/python3.12/site-packages/pyproj/crs/datum.pyÚ__new__zCustomDatum.__new__   sW   € ð$ LØ,ØÜ"×2Ñ2°9Ó=×JÑJÓLÜ+×;Ñ;Øóç‰l‹nñ
ˆ
ð ×!Ñ! *Ó-Ð-ó    N)Ú	undefinedzWGS 84Ú	Greenwich)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ústrr   r   © r   r   r   r      s3   „ ñð  Ø!Ø)ñ	.àð.ð ð.ð ô	.r   r   c                   óP   — e Zd ZdZ	 	 	 	 	 d	dededz  dedz  dedz  dedz  f
d„Zy)
ÚCustomEllipsoidzI
    .. versionadded:: 2.5.0

    Class to build a custom ellipsoid.
    Nr	   Úsemi_major_axisÚinverse_flatteningÚsemi_minor_axisÚradiusc                 óh   — dd|dœ}|�||d<   |�||d<   |�||d<   |�||d<   | j                  |«      S )aŸ  
        Parameters
        ----------
        name: str, default="undefined"
            Name of the ellipsoid.
        semi_major_axis: float, optional
            The semi major axis in meters. Required if missing radius.
        inverse_flattening: float, optional
            The inverse flattening in meters.
            Required if missing semi_minor_axis and radius.
        semi_minor_axis: float, optional
            The semi minor axis in meters.
            Required if missing inverse_flattening and radius.
        radius: float, optional
            The radius in meters. Can only be used alone.
            Cannot be mixed with other parameters.
        r   r   )r   r   r	   r#   r$   r%   r&   ©r   )r   r	   r#   r$   r%   r&   Úellipsoid_jsons          r   r   zCustomEllipsoid.__new__6   sk   € ð4 LØØñ2
ˆð
 Ð&Ø0?ˆNÐ,Ñ-ØÐ)Ø3EˆNÐ/Ñ0ØÐ&Ø0?ˆNÐ,Ñ-ØÐØ'-ˆN˜8Ñ$Ø×!Ñ! .Ó1Ð1r   )r   NNNN)r   r   r   r   r   Úfloatr   r    r   r   r"   r"   /   s]   „ ñð  Ø(,Ø+/Ø(,Ø#ñ&2àð&2ð  ™ð&2ð " D™Lð	&2ð
  ™ð&2ð ˜‘ô&2r   r"   c                   ó"   — e Zd ZdZddedefd„Zy)ÚCustomPrimeMeridianz\
    .. versionadded:: 2.5.0

    Class to build a prime meridian based on a longitude.
    Ú	longituder	   c                 ó2   — dd||dœ}| j                  |«      S )zµ
        Parameters
        ----------
        longitude: float
            Longitude of prime meridian.
        name: str, optional
            Name of the prime meridian.
        r   r   )r   r   r	   r-   r(   )r   r-   r	   r   s       r   r   zCustomPrimeMeridian.__new__f   s+   € ð LØ#ØØ"ñ	
ˆ
ð ×!Ñ! *Ó-Ð-r   N)r   )r   r   r   r   r*   r   r   r    r   r   r,   r,   _   s   „ ññ. ð .¨Sô .r   r,   N)
r   Útypingr   Úpyproj._crsr   r   r   r   r"   r,   r    r   r   ú<module>r1      s;   ðñõ
 ç 7Ñ 7ô!.�%ô !.ôH-2�iô -2ô`.˜-õ .r   