Ë
    ¹ûàg¸  ã                   ó^   — d dl Z d dlmZmZ d dlmZ d dlmZ  G d„ de«      Z G d„ d«      Z	y)	é    N)ÚCoordTransformÚSpatialReference©ÚSerializerDoesNotExist)Ú
Serializerc                   óH   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zˆ fd„Zd„ Zˆ fd„Z	ˆ xZ
S )r   z<
    Convert a queryset to GeoJSON, http://geojson.org/
    c                 óŒ  •— t         ‰| �  «        | j                  j                  dd «      | _        | j                  j                  dd «      | _        | j                  j                  dd«      | _        | j                  �F| j                  �9| j                  | j                  vr g | j                  ¢| j                  ‘| _        y y y y )NÚgeometry_fieldÚid_fieldÚsridiæ  )ÚsuperÚ_init_optionsÚjson_kwargsÚpopr
   r   r   Úselected_fields)ÚselfÚ	__class__s    €úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/gis/serializers/geojson.pyr   zSerializer._init_options   s¸   ø€ Ü‰ÑÔØ"×.Ñ.×2Ñ2Ð3CÀTÓJˆÔØ×(Ñ(×,Ñ,¨Z¸Ó>ˆŒØ×$Ñ$×(Ñ(¨°Ó6ˆŒ	à× Ñ Ð,Ø×#Ñ#Ð/Ø×#Ñ#¨4×+?Ñ+?Ñ?à#O T×%9Ñ%9Ð#O¸4×;NÑ;NÐ#OˆDÕ ð @ð 0ð -ó    c                 ó‚   — | j                  «        i | _        | j                  j                  d| j                  z  «       y )Nzg{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "EPSG:%d"}}, "features": [)r   Ú_ctsÚstreamÚwriter   ©r   s    r   Ústart_serializationzSerializer.start_serialization   s8   € Ø×ÑÔØˆŒ	Ø�‰×Ñðà#Ÿy™yñ)õ	
r   c                 ó:   — | j                   j                  d«       y )Nz]})r   r   r   s    r   Úend_serializationzSerializer.end_serialization"   s   € Ø�‰×Ñ˜$Õr   c                 óÀ   •— t         ‰| �  |«       d | _        | j                  €;|j                  j
                  D ]!  }t        |d«      sŒ|j                  | _         y  y y )NÚ	geom_type)r   Ústart_objectÚ	_geometryr
   Ú_metaÚfieldsÚhasattrÚname©r   ÚobjÚfieldr   s      €r   r    zSerializer.start_object%   sZ   ø€ Ü‰Ñ˜SÔ!ØˆŒØ×ÑÐ&àŸ™×)Ñ)ò �Ü˜5 +Õ.Ø*/¯*©*�DÔ'Ùñð 'r   c                 óD  — d| j                   €|j                  nt        || j                   «      | j                  dœ}| j                  �d| j                  v r2d|d   vr+|j
                  j                  j                  |«      |d   d<   | j                  �r| j                  j                  | j                  k7  r´| j                  j                  | j                  vrVt        | j                  «      }t        | j                  j                  |«      | j                  | j                  j                  <   | j                  j                  | j                  | j                  j                     «       t        j                  | j                  j                   «      |d<   |S d |d<   |S )NÚFeature)ÚtypeÚidÚ
propertiesÚpkr-   Úgeometry)r   r.   ÚgetattrÚ_currentr   r"   Úvalue_to_stringr!   r   r   r   r   ÚsrsÚ	transformÚjsonÚloadsÚgeojson)r   r'   Údatar3   s       r   Úget_dump_objectzSerializer.get_dump_object/   sE  € àØ ŸM™MÐ1�#—&’&´w¸sÀDÇMÁMÓ7RØŸ-™-ñ
ˆð × Ñ Ð(¨D°D×4HÑ4HÑ,HØ˜$˜|Ñ,Ñ,Ø'*§y¡y§|¡|×'CÑ'CÀCÓ'HˆD�Ñ˜tÑ$Ø�>‹>Ø�~‰~×"Ñ" d§i¡iÒ/ð —>‘>×&Ñ&¨d¯i©iÑ7Ü*¨4¯9©9Ó5�CÜ5CØŸ™×*Ñ*¨Có6�D—I‘I˜dŸn™n×1Ñ1Ñ2ð —‘×(Ñ(¨¯©°4·>±>×3FÑ3FÑ)GÔHÜ#Ÿz™z¨$¯.©.×*@Ñ*@ÓAˆD�Ñð ˆð  $ˆD�ÑØˆr   c                 ó†   •— |j                   | j                  k(  r|j                  |«      | _        y t        ‰| �  ||«       y )N)r%   r
   Úvalue_from_objectr!   r   Úhandle_fieldr&   s      €r   r<   zSerializer.handle_fieldH   s6   ø€ Ø�:‰:˜×,Ñ,Ò,Ø"×4Ñ4°SÓ9ˆD�Nä‰GÑ   eÕ,r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    r9   r<   Ú__classcell__)r   s   @r   r   r      s,   ø„ ñô
Pò
ò ôò÷2-ð -r   r   c                   ó   — e Zd Zd„ Zy)ÚDeserializerc                 ó   — t        d«      ‚)Nz*geojson is a serialization-only serializerr   )r   ÚargsÚkwargss      r   Ú__init__zDeserializer.__init__P   s   € Ü$Ð%QÓRÐRr   N)r=   r>   r?   rG   © r   r   rC   rC   O   s   „ óSr   rC   )
r5   Údjango.contrib.gis.gdalr   r   Údjango.core.serializers.baser   Údjango.core.serializers.jsonr   ÚJSONSerializerrC   rH   r   r   ú<module>rM      s,   ðÛ ç DÝ ?Ý EôD-�ô D-÷NSò Sr   