
    \i{                     ~    S r SSKrSSKrSSKJr  SSKJr  S/r " S S\5      r	\	\R                  R                  S'   g)zPoints and related utilities.    N)DimensionError)BaseGeometryPointc                       \ rS rSrSr/ rS r\S 5       r\S 5       r	\S 5       r
\S 5       r\S 5       rSS
 jr\S 5       rSrg	)r      aA  A geometry type that represents a single coordinate.

Each coordinate has x, y and possibly z and/or m values.

A point is a zero-dimensional feature and has zero length and zero area.

Parameters
----------
args : float, or sequence of floats
    The coordinates can either be passed as a single parameter, or as
    individual float values using multiple parameters:

    1) 1 parameter: a sequence or array-like of with 2 or 3 values.
    2) 2 or 3 parameters (float): x, y, and possibly z.

Attributes
----------
x, y, z, m : float
    Coordinate values

Examples
--------
Constructing the Point using separate parameters for x and y:

>>> from shapely import Point
>>> p = Point(1.0, -1.0)

Constructing the Point using a list of x, y coordinates:

>>> p = Point([1.0, -1.0])
>>> print(p)
POINT (1 -1)
>>> p.y
-1.0
>>> p.x
1.0

c                    [        U5      S:X  a  [        R                  " S5      $ [        U5      S:  a  [        S[        U5       S35      e[        U5      S:X  a]  US   n[	        U[
        5      (       a  U$ [        US5      (       d  [        U5      n[        R                  " U5      R                  5       nO$[        R                  " U5      R                  5       nUR                  S:  a  [        SU 35      e[        R                  " UR                  [        R                   5      (       d  U Vs/ s H  n[#        U5      PM     nn[        R$                  " U5      n[	        U[
        5      (       d  [        S	5      eU$ s  snf )
zCreate a new Point geometry.r   zPOINT EMPTY   z#Point() takes at most 3 arguments (z given)   __getitem__z:Point() takes only scalar or 1-size vector arguments, got z*Invalid values passed to Point constructor)lenshapelyfrom_wkt	TypeError
isinstancer   hasattrlistnpasarraysqueezearrayndim
ValueError
issubdtypedtypenumberfloatpoints)selfargscoordscgeoms        Y/var/www/html/kml_chatgpt/mouzaenv/lib/python3.13/site-packages/shapely/geometry/point.py__new__Point.__new__6   s7   t9> ##M22Y]A#d)GTUUY!^!WF&%(( 6=11fZZ'//1F XXd^++-F;;?LTFS  }}V\\29955(./1eAhF/~~f%$&&IJJ	 0s   3Fc                 @    [        [        R                  " U 5      5      $ )zReturn x coordinate.)r   r   get_xr   s    r#   xPoint.xX        W]]4())    c                 @    [        [        R                  " U 5      5      $ )zReturn y coordinate.)r   r   get_yr(   s    r#   yPoint.y]   r+   r,   c                     [         R                  " U 5      n[        R                  " U5      (       a&  [         R                  " U 5      (       d  [        S5      e[        U5      $ )zReturn z coordinate.zThis point has no z coordinate.)r   get_zr   isnanhas_zr   r   )r   zs     r#   r5   Point.zb   sB     MM$88A;;w}}T22 !BCCQxr,   c                     [         R                  " U 5      (       d  [        S5      e[        [         R                  " U 5      5      $ )zUReturn m coordinate.

.. versionadded:: 2.1.0
   Also requires GEOS 3.12.0 or later.
zThis point has no m coordinate.)r   has_mr   r   get_mr(   s    r#   mPoint.mj   s3     }}T"" !BCCW]]4())r,   c                 P    U R                   nS[        U5      S:  a  US   S.$ SS.$ )z4Return a GeoJSON-like mapping of the Point geometry.r   r    )typecoordinates)r    r   )r   r    s     r#   __geo_interface__Point.__geo_interface__u   s/     S[1_q	UURTUUr,   Nc                     U R                   (       a  gUc  U R                  (       a  SOSnUc  SnSU R                   SU R                   SSU-   S	S
U-   SU SU S3$ )a  Return SVG circle element for the Point geometry.

Parameters
----------
scale_factor : float
    Multiplication factor for the SVG circle diameter.  Default is 1.
fill_color : str, optional
    Hex string for fill color. Default is to use "#66cc99" if
    geometry is valid, and "#ff3333" if invalid.
opacity : float
    Float number between 0 and 1 for color opacity. Default value is 0.6

z<g />z#66cc99z#ff3333g333333?z<circle cx="z" cy="z" r="g      @z!" stroke="#555555" stroke-width="      ?z" fill="z" opacity="z" />)is_emptyis_validr)   r/   )r   scale_factor
fill_coloropacitys       r#   svg	Point.svg{   sz     ==&*mmJ?G466(&cL6H5I J..1L.@-A* Vy&	
r,   c                 .    U R                   R                  $ )zSeparate arrays of X and Y coordinate values.

Examples
--------
>>> from shapely import Point
>>> x, y = Point(0, 0).xy
>>> list(x)
[0.0]
>>> list(y)
[0.0]

)r    xyr(   s    r#   rL   Point.xy   s     {{~~r,   r=   )rC   NN)__name__
__module____qualname____firstlineno____doc__	__slots__r$   propertyr)   r/   r5   r:   r@   rI   rL   __static_attributes__r=   r,   r#   r   r      s    %N ID * * * *   * * V V

4  r,   )rR   numpyr   r   shapely.errorsr   shapely.geometry.baser   __all__r   libregistryr=   r,   r#   <module>r\      s@    #   ) .)WL Wt    Q r,   