o
    úÑÐb†  ã                   @   s&   d dl Z d dlmZ G dd„ dƒZdS )é    N)Úmodelsc                   @   sð   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d„ ƒZedd„ ƒZedd„ ƒZed	d
„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZ edd„ ƒZ!edd„ ƒZ"edd„ ƒZ#edd„ ƒZ$dd„ Z%dS )ÚBaseSpatialFeaturesTFc                 C   ó   d| j jjv S )NZ
bbcontains©Ú
connectionÚopsZgis_operators©Úself© r
   úk/var/www/secure340b-portal/env/lib/python3.10/site-packages/django/contrib/gis/db/backends/base/features.pyÚsupports_bbcontains_lookup=   ó   z.BaseSpatialFeatures.supports_bbcontains_lookupc                 C   r   )NÚ	containedr   r   r
   r
   r   Úsupports_contained_lookupA   r   z-BaseSpatialFeatures.supports_contained_lookupc                 C   r   )NZcrossesr   r   r
   r
   r   Úsupports_crosses_lookupE   r   z+BaseSpatialFeatures.supports_crosses_lookupc                 C   ó   | j S ©N)Zhas_Distance_functionr   r
   r
   r   Úsupports_distances_lookupsI   ó   z.BaseSpatialFeatures.supports_distances_lookupsc                 C   r   )NZdwithinr   r   r
   r
   r   Úsupports_dwithin_lookupM   r   z+BaseSpatialFeatures.supports_dwithin_lookupc                 C   r   )NZrelater   r   r
   r
   r   Úsupports_relate_lookupQ   r   z*BaseSpatialFeatures.supports_relate_lookupc                 C   r   r   )Zhas_IsValid_functionr   r
   r
   r   Úsupports_isvalid_lookupU   r   z+BaseSpatialFeatures.supports_isvalid_lookupc                 C   ó   t j| jjjvS r   )r   ZCollectr   r   Údisallowed_aggregatesr   r
   r
   r   Úsupports_collect_aggrZ   ó   z)BaseSpatialFeatures.supports_collect_aggrc                 C   r   r   )r   ZExtentr   r   r   r   r
   r
   r   Úsupports_extent_aggr^   r   z(BaseSpatialFeatures.supports_extent_aggrc                 C   r   r   )r   ZMakeLiner   r   r   r   r
   r
   r   Úsupports_make_line_aggrb   r   z+BaseSpatialFeatures.supports_make_line_aggrc                 C   r   r   )r   ÚUnionr   r   r   r   r
   r
   r   Úsupports_union_aggrf   r   z'BaseSpatialFeatures.supports_union_aggrc                 C   s*   t  d|¡}|r|d }|| jjjvS t‚)Nzhas_(\w*)_function$é   )ÚreÚmatchr   r   Zunsupported_functionsÚAttributeError)r	   ÚnameÚmÚ	func_namer
   r
   r   Ú__getattr__j   s
   zBaseSpatialFeatures.__getattr__N)&Ú__name__Ú
__module__Ú__qualname__Zgis_enabledZhas_spatialrefsys_tableZsupports_add_srs_entryZ%supports_geometry_field_introspectionZsupports_geographyZsupports_3d_storageZsupports_3d_functionsZsupports_transformZsupports_null_geometriesZsupports_empty_geometriesZsupports_distance_geodeticZsupports_length_geodeticZsupports_perimeter_geodeticZsupports_area_geodeticZsupports_num_points_polyZsupports_dwithin_distance_exprZsupports_rasterZ$supports_geometry_field_unique_indexZcan_alter_geometry_fieldZsupports_tolerance_parameterZunsupported_geojson_optionsZempty_intersection_returns_noneÚpropertyr   r   r   r   r   r   r   r   r   r   r   r'   r
   r
   r
   r   r      s\    










r   )r!   Zdjango.contrib.gis.dbr   r   r
   r
   r
   r   Ú<module>   s    