
    Dh                     b    S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  SSK
JrJr  S r   S
S jrg	)z0Coordinate and geometry warping and reprojection    )warn)
_transform_transform_geom)
DICT_TYPES)FionaDeprecationWarning)decode_objectGeometryc                     [        XX#5      $ )a&  Transform coordinates from one reference system to another.

Parameters
----------
src_crs: str or dict
    A string like 'EPSG:4326' or a dict of proj4 parameters like
    {'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0}
    representing the coordinate reference system on the "source"
    or "from" side of the transformation.
dst_crs: str or dict
    A string or dict representing the coordinate reference system
    on the "destination" or "to" side of the transformation.
xs: sequence of float
    A list or tuple of x coordinate values. Must have the same
    length as the ``ys`` parameter.
ys: sequence of float
    A list or tuple of y coordinate values. Must have the same
    length as the ``xs`` parameter.

Returns
-------
xp, yp: list of float
    A pair of transformed coordinate sequences. The elements of
    ``xp`` and ``yp`` correspond exactly to the elements of the
    ``xs`` and ``ys`` input parameters.

Examples
--------

>>> transform('EPSG:4326', 'EPSG:26953', [-105.0], [40.0])
([957097.0952383667], [378940.8419189212])

)r   )src_crsdst_crsxsyss       bC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\fiona/transform.py	transformr      s    F g//    c                     US:  a  [        S[        5        [        U[        4[        -   5      (       a  [        U U[        U5      UUU5      $ [        U US U 5       UUU5      $ )aG  Transform a geometry obj from one reference system to another.

Parameters
----------
src_crs: str or dict
    A string like 'EPSG:4326' or a dict of proj4 parameters like
    {'proj': 'lcc', 'lat_0': 18.0, 'lat_1': 18.0, 'lon_0': -77.0}
    representing the coordinate reference system on the "source"
    or "from" side of the transformation.
dst_crs: str or dict
    A string or dict representing the coordinate reference system
    on the "destination" or "to" side of the transformation.
geom: obj
    A GeoJSON-like geometry object with 'type' and 'coordinates'
    members or an iterable of GeoJSON-like geometry objects.
antimeridian_cutting: bool, optional
    ``True`` to cut output geometries in two at the antimeridian,
    the default is ``False`.
antimeridian_offset: float, optional
    A distance in decimal degrees from the antimeridian, outside of
    which geometries will not be cut.
precision: int, optional
    Round geometry coordinates to this number of decimal places.
    This parameter is deprecated and will be removed in 2.0.

Returns
-------
obj
    A new GeoJSON-like geometry (or a list of GeoJSON-like geometries
    if an iterable was given as input) with transformed coordinates. Note
    that if the output is at the antimeridian, it may be cut and
    of a different geometry ``type`` than the input, e.g., a
    polygon input may result in multi-polygon output.

Examples
--------

>>> transform_geom(
...     'EPSG:4326', 'EPSG:26953',
...     {'type': 'Point', 'coordinates': [-105.0, 40.0]})
{'type': 'Point', 'coordinates': (957097.0952383667, 378940.8419189212)}

r   zGThe precision keyword argument is deprecated and will be removed in 2.0c              3   8   #    U  H  n[        U5      v   M     g 7f)N)r   ).0gs     r   	<genexpr>!transform_geom.<locals>.<genexpr>x   s     ,t!]1ts   )r   r   
isinstancer	   r   r   r   )r   r   geomantimeridian_cuttingantimeridian_offset	precisions         r   transform_geomr   1   sz    f A~U#	
 $j011$ 
 	
 ,t, 
 	
r   N)Fg      $@)__doc__warningsr   fiona._transformr   r   fiona.compatr   fiona.errorsr   fiona.modelr   r	   r   r    r   r   <module>r&      s.    6  8 # 0 /#0T K
r   