Ë
    ¦2Úié  ã                   ó´   — d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d e
j                  «       iZ e j                  d«      Z G d	„ d
e«      Zy)é    N)ÚGDALException)ÚGEOSExceptionÚGEOSGeometry)ÚTextarea)Útranslation)ÚRemovedInDjango50WarningÚLANGUAGE_BIDIzdjango.contrib.gisc                   ó.   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zˆ xZS )ÚOpenLayersWidgetzA
    Render an OpenLayers map using the WKT of the geometry.
    c                 ó\   •— t        j                  dt        d¬«       t        ‰| �  |i |¤Ž y )Nz8django.contrib.gis.admin.OpenLayersWidget is deprecated.é   )Ú
stacklevel)ÚwarningsÚwarnr   ÚsuperÚ__init__)ÚselfÚargsÚkwargsÚ	__class__s      €úW/var/www/html/acx/venv/lib/python3.12/site-packages/django/contrib/gis/admin/widgets.pyr   zOpenLayersWidget.__init__   s,   ø€ Ü�‰ØFÜ$Øõ	
ô
 	‰Ñ˜$Ð) &Ó)ó    c                 ó  — |r8| j                   j                  |«       | j                   d   | j                   d<   nd| j                   d<   d| j                   d<   |rt        |t        «      r	 t	        |«      }|r8|j                  j                  «       | j                  k7  r| j                  dk7  rd }| j                  «       | j                   d<   || j                   d	<   | j                   d	   j                  d
d«      }d|z  | j                   d<   |rd| j                   d   }|j                  |k7  r+	 |j                  }|j                  |«       |j                   }n|j                   }|| j                   d<   | j                   j                  t$        «       | j                   S # t
        t        f$ r$}t        j                  d||«       d }Y d }~�ŒVd }~ww xY w# t"        $ r.}t        j                  d|j                  ||«       d}Y d }~Œ¢d }~ww xY w)NÚ
modifiableÚeditableTÚ Úwktz,Error creating geometry from value '%s' (%s)ÚGEOMETRYÚmap_optionsÚnameú-Ú_zgeodjango_%sÚmoduleÚsridz<Error transforming geometry from srid '%s' to srid '%s' (%s))ÚparamsÚupdateÚ
isinstanceÚstrr   r   Ú
ValueErrorÚloggerÚerrorÚ	geom_typeÚupperr   Úreplacer$   ÚogrÚ	transformr   r   Úgeo_context)	r   r    ÚvalueÚattrsÚerrÚjs_safe_namer$   r/   r   s	            r   Úget_contextzOpenLayersWidget.get_context   sÎ  € áØ�K‰K×Ñ˜uÔ%Ø&*§k¡k°,Ñ&?ˆD�K‰K˜
Ò#à&*ˆD�K‰K˜
Ñ#ð
  ˆ�‰�EÑñ ”Z ¤sÔ+ðÜ$ UÓ+�ñ Ø—‘×%Ñ%Ó'¨4¯>©>Ò9Ø—‘ *Ò,àˆEð &*×%5Ñ%5Ó%7ˆ�‰�MÑ"ð
 #ˆ�‰�FÑð —{‘{ 6Ñ*×2Ñ2°3¸Ó<ˆØ .°Ñ =ˆ�‰�HÑáð —;‘;˜vÑ&ˆDØ�z‰z˜TÒ!ðØŸ)™)�CØ—M‘M $Ô'ØŸ'™'‘Cð —i‘i�ð "%ˆD�K‰K˜Ñà�‰×Ñœ;Ô'Ø�{‰{Ðøôa "¤:Ð.ò Ü—‘ÐKÈUÐTWÔXØ–ûðûô@ %ò Ü—L‘LØVØŸ
™
ØØô	ð •Cûðús0   Á,F Ä/)G ÆGÆ.GÇGÇ	HÇ$HÈHc           
      ó¶  — d„ }d„ }ddddt         fddt        fdd	d
t        fddt        fddt        fg}i }|D ]ž  \  }}}| j                  j	                  |d«      sŒ$|dk(  r || j                  |   «      }n[|dk(  r || j                  |   «      }n@|t        t        fv r| j                  |   }n"|t         fv rd| j                  |   z  }nt
        ‚|||<   Œ  |S )z7Build the map options hash for the OpenLayers template.c                 ó   — d| z  S )Nznew OpenLayers.Bounds(%s)© )Úextents    r   Ú	ol_boundsz/OpenLayersWidget.map_options.<locals>.ol_boundsf   s   € Ø.°Ñ7Ð7r   c                 ó   — d| z  S )Nz$new OpenLayers.Projection("EPSG:%s")r9   )r$   s    r   Úol_projectionz3OpenLayersWidget.map_options.<locals>.ol_projectioni   s   € Ø9¸DÑ@Ð@r   )r$   Ú
projectionr$   )Údisplay_sridÚdisplayProjectionr$   ÚunitsÚmax_resolutionÚmaxResolution)Ú
max_extentÚ	maxExtentÚboundsÚnum_zoomÚnumZoomLevelsÚmax_zoomÚmaxZoomLevelsÚmin_zoomÚminZoomLevelFr$   rF   z"%s")r(   ÚfloatÚintr%   ÚgetÚ	TypeError)	r   r;   r=   Ú	map_typesr   Ú
param_nameÚjs_nameÚoption_typer2   s	            r   r   zOpenLayersWidget.map_optionsb   s  € ò	8ò	Að +Ø9Ø�gœsÐ#Ø˜´Ð6Ø1Ø˜¬#Ð.Ø˜¬#Ð.Ø˜¬Ð-ð	
ˆ	ð ˆØ09ò 	-Ñ,ˆJ˜ Ø�{‰{�‰˜z¨5Õ1Ø &Ò(Ù)¨$¯+©+°jÑ*AÓB‘EØ  HÒ,Ù% d§k¡k°*Ñ&=Ó>‘EØ ¤U¬C LÑ0Ø ŸK™K¨
Ñ3‘EØ ¤S FÑ*Ø" T§[¡[°Ñ%<Ñ<‘Eä#�OØ',�˜GÒ$ð	-ð Ðr   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r6   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ñô*òBöH&r   r   )Úloggingr   Údjango.contrib.gis.gdalr   Údjango.contrib.gis.geosr   r   Údjango.forms.widgetsr   Údjango.utilsr   Údjango.utils.deprecationr   Úget_language_bidir1   Ú	getLoggerr*   r   r9   r   r   ú<module>rb      sS   ðã Û å 1ß ?Ý )Ý $Ý =ð Ð = × =Ñ =Ó ?Ð@€Ø	ˆ×	Ñ	Ð/Ó	0€ôw�xõ wr   