§
    ¤”j¸  ã                   ól   — 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	dS )	é    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                 óv  •— t          ¦   «                              ¦   «          | j                             dd ¦  «        | _        | j                             dd ¦  «        | _        | j                             dd¦  «        | _        | j        �,| j        �'| j        | j        vrg | j        ¢| j        ‘| _        d S d S d S d S )NÚgeometry_fieldÚid_fieldÚsridiæ  )ÚsuperÚ_init_optionsÚjson_kwargsÚpopr
   r   r   Úselected_fields)ÚselfÚ	__class__s    €úu/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/django/contrib/gis/serializers/geojson.pyr   zSerializer._init_options   s¾   ø€ Ý‰Œ×ÒÑÔÐØ"Ô.×2Ò2Ð3CÀTÑJÔJˆÔØÔ(×,Ò,¨Z¸Ñ>Ô>ˆŒØÔ$×(Ò(¨°Ñ6Ô6ˆŒ	àÔ Ð,ØÔ#Ð/ØÔ#¨4Ô+?Ð?Ð?à#O TÔ%9Ð#O¸4Ô;NÐ#OˆDÔ Ð Ð ð	 -Ð,Ø/Ð/Ø?Ð?ó    c                 ó€   — |                       ¦   «          i | _        | j                             d| j        z  ¦  «         d S )Nzg{"type": "FeatureCollection", "crs": {"type": "name", "properties": {"name": "EPSG:%d"}}, "features": [)r   Ú_ctsÚstreamÚwriter   ©r   s    r   Ústart_serializationzSerializer.start_serialization   sN   € Ø×ÒÑÔÐØˆŒ	ØŒ×Òðà#œyñ)ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó:   — | j                              d¦  «         d S )Nz]})r   r   r   s    r   Úend_serializationzSerializer.end_serialization"   s   € ØŒ×Ò˜$ÑÔÐÐÐr   c                 óÆ   •— t          ¦   «                              |¦  «         d | _        | j        €.|j        j        D ]#}t          |d¦  «        r|j        | _         d S Œ"d S d S )NÚ	geom_type)r   Ústart_objectÚ	_geometryr
   Ú_metaÚfieldsÚhasattrÚname©r   ÚobjÚfieldr   s      €r   r    zSerializer.start_object%   sy   ø€ Ý‰Œ×Ò˜SÑ!Ô!Ð!ØˆŒØÔÐ&àœÔ)ð ð �Ý˜5 +Ñ.Ô.ð Ø*/¬*�DÔ'Ø�E�Eðð 'Ð&ðð r   c                 ól  — d| j         €|j        nt          || j         ¦  «        | j        dœ}| j        �	d| j        v r2d|d         vr(|j        j                             |¦  «        |d         d<   | j        r¹| j        j        | j        k    r‚| j        j        | j	        vr@t          | j        ¦  «        }t          | j        j        |¦  «        | j	        | j        j        <   | j                             | j	        | j        j                 ¦  «         t          j        | j        j        ¦  «        |d<   n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/   s.  € àØ œMÐ1�#”&�&µw¸sÀDÄMÑ7RÔ7RØœ-ð
ð 
ˆð Ô Ð(¨D°DÔ4HÐ,HÐ,HØ˜$˜|Ô,Ð,Ð,Ø'*¤y¤|×'CÒ'CÀCÑ'HÔ'HˆD�Ô˜tÑ$ØŒ>ð 	$ØŒ~Ô" d¤iÒ/Ð/ð ”>Ô&¨d¬iÐ7Ð7Ý*¨4¬9Ñ5Ô5�CÝ5CØœÔ*¨Cñ6ô 6�D”I˜dœnÔ1Ñ2ð ”×(Ò(¨¬°4´>Ô3FÔ)GÑHÔHÐHÝ#œz¨$¬.Ô*@ÑAÔAˆD�ÑÐà#ˆD�ÑØˆr   c                 ó¤   •— |j         | j        k    r|                     |¦  «        | _        d S t	          ¦   «                              ||¦  «         d S )N)r%   r
   Úvalue_from_objectr!   r   Úhandle_fieldr&   s      €r   r<   zSerializer.handle_fieldH   sL   ø€ ØŒ:˜Ô,Ò,Ð,Ø"×4Ò4°SÑ9Ô9ˆDŒNˆNˆNå‰GŒG× Ò   eÑ,Ô,Ð,Ð,Ð,r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r    r9   r<   Ú__classcell__)r   s   @r   r   r      s¦   ø€ € € € € ðð ð
Pð 
Pð 
Pð 
Pð 
Pð
ð 
ð 
ð ð  ð  ðð ð ð ð ðð ð ð2-ð -ð -ð -ð -ð -ð -ð -ð -r   r   c                   ó   — e Zd Zd„ ZdS )ÚDeserializerc                 ó    — t          d¦  «        ‚)Nz*geojson is a serialization-only serializerr   )r   ÚargsÚkwargss      r   Ú__init__zDeserializer.__init__P   s   € Ý$Ð%QÑRÔRÐRr   N)r=   r>   r?   rG   © r   r   rC   rC   O   s(   € € € € € ðSð Sð Sð 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Ð DÐ DÐ DÐ DÐ DÐ DÐ DØ ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø EÐ EÐ EÐ EÐ EÐ EðD-ð D-ð D-ð D-ð D-�ñ D-ô D-ð D-ðNSð Sð Sð Sð Sñ Sô Sð Sð Sð Sr   