
    Ui
                     8    d dl Z d dlmZ ddlmZ  G d d      Zy)    N)models   )BaseSpatialOperationsc                      e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZdZdZdZi ZdZed        Zed        Zed        Zed        Zed        Zed        Zed	        Z ed
        Z!ed        Z"ed        Z#ed        Z$d Z%y)BaseSpatialFeaturesTFc                 F    d| j                   j                  j                  v S )N
bbcontains
connectionopsgis_operatorsselfs    _/var/www/opsc/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/base/features.pysupports_bbcontains_lookupz.BaseSpatialFeatures.supports_bbcontains_lookupA   s    t22@@@@    c                 F    d| j                   j                  j                  v S )N	containedr
   r   s    r   supports_contained_lookupz-BaseSpatialFeatures.supports_contained_lookupE   s    doo11????r   c                 F    d| j                   j                  j                  v S )Ncrossesr
   r   s    r   supports_crosses_lookupz+BaseSpatialFeatures.supports_crosses_lookupI       DOO//====r   c                     | j                   S N)has_Distance_functionr   s    r   supports_distances_lookupsz.BaseSpatialFeatures.supports_distances_lookupsM   s    )))r   c                 F    d| j                   j                  j                  v S )Ndwithinr
   r   s    r   supports_dwithin_lookupz+BaseSpatialFeatures.supports_dwithin_lookupQ   r   r   c                 F    d| j                   j                  j                  v S )Nrelater
   r   s    r   supports_relate_lookupz*BaseSpatialFeatures.supports_relate_lookupU   s    4??..<<<<r   c                     | j                   S r   )has_IsValid_functionr   s    r   supports_isvalid_lookupz+BaseSpatialFeatures.supports_isvalid_lookupY   s    (((r   c                 b    t         j                  | j                  j                  j                  vS r   )r   Collectr   r   disallowed_aggregatesr   s    r   supports_collect_aggrz)BaseSpatialFeatures.supports_collect_aggr^   s!    ~~T__%8%8%N%NNNr   c                 b    t         j                  | j                  j                  j                  vS r   )r   Extentr   r   r)   r   s    r   supports_extent_aggrz(BaseSpatialFeatures.supports_extent_aggrb   s!    }}DOO$7$7$M$MMMr   c                 b    t         j                  | j                  j                  j                  vS r   )r   MakeLiner   r   r)   r   s    r   supports_make_line_aggrz+BaseSpatialFeatures.supports_make_line_aggrf   s!    doo&9&9&O&OOOr   c                 b    t         j                  | j                  j                  j                  vS r   )r   Unionr   r   r)   r   s    r   supports_union_aggrz'BaseSpatialFeatures.supports_union_aggrj   s!    ||4??#6#6#L#LLLr   c                     t        j                  d|      }|rK|d   }|t        j                  vrt	        d| d| d      || j
                  j                  j                  vS t        )Nzhas_(\w*)_function$r   zDatabaseFeatures.has_z_function isn't valid. Is "z;" missing from BaseSpatialOperations.unsupported_functions?)rematchr   unsupported_functions
ValueErrorr   r   AttributeError)r   namem	func_names       r   __getattr__zBaseSpatialFeatures.__getattr__n   s{    HH+T2!I 5 K KK +I; 7$+ &CC 
 DOO$7$7$M$MMMr   N)&__name__
__module____qualname__gis_enabledhas_spatialrefsys_tablesupports_add_srs_entry%supports_geometry_field_introspectionsupports_geographysupports_3d_storagesupports_3d_functionssupports_transformsupports_null_geometriessupports_empty_geometriessupports_distance_geodeticsupports_length_geodeticsupports_perimeter_geodeticsupports_area_geodeticsupports_num_points_polysupports_dwithin_distance_exprsupports_raster$supports_geometry_field_unique_indexcan_alter_geometry_fieldsupports_tolerance_parameterunsupported_geojson_optionsempty_intersection_returns_nonepropertyr   r   r   r   r    r#   r&   r*   r-   r0   r3   r=    r   r   r   r      s   K # ",0)  "# %!%#"'!# &*" O ,0(  $ $)  #% '+#A A @ @ > > * * > > = = ) ) O O N N P P M Mr   r   )r5   django.contrib.gis.dbr   
operationsr   r   rX   r   r   <module>r[      s    	 ( -q qr   