B
    ¥0H[N  ã               @   s&   d dl Z d dlmZ G dd„ dƒZdS )é    N)Ú
aggregatesc               @   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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   s   d| j jjkS )NZ
bbcontains)Ú
connectionÚopsÚgis_operators)Úself© r   úpC:\Users\HIRONO~1\AppData\Local\Temp\pip-install-6bm3nxem\django\django\contrib\gis\db\backends\base\features.pyÚsupports_bbcontains_lookup0   s    z.BaseSpatialFeatures.supports_bbcontains_lookupc             C   s   d| j jjkS )NZ	contained)r   r   r   )r   r   r   r	   Úsupports_contained_lookup4   s    z-BaseSpatialFeatures.supports_contained_lookupc             C   s   d| j jjkS )NZcrosses)r   r   r   )r   r   r   r	   Úsupports_crosses_lookup8   s    z+BaseSpatialFeatures.supports_crosses_lookupc             C   s   | j S )N)Zhas_Distance_function)r   r   r   r	   Úsupports_distances_lookups<   s    z.BaseSpatialFeatures.supports_distances_lookupsc             C   s   d| j jjkS )NZdwithin)r   r   r   )r   r   r   r	   Úsupports_dwithin_lookup@   s    z+BaseSpatialFeatures.supports_dwithin_lookupc             C   s   d| j jjkS )NZrelate)r   r   r   )r   r   r   r	   Úsupports_relate_lookupD   s    z*BaseSpatialFeatures.supports_relate_lookupc             C   s   | j S )N)Zhas_IsValid_function)r   r   r   r	   Úsupports_isvalid_lookupH   s    z+BaseSpatialFeatures.supports_isvalid_lookupc             C   s   t j| jjjkS )N)r   ZCollectr   r   Údisallowed_aggregates)r   r   r   r	   Úsupports_collect_aggrM   s    z)BaseSpatialFeatures.supports_collect_aggrc             C   s   t j| jjjkS )N)r   ZExtentr   r   r   )r   r   r   r	   Úsupports_extent_aggrQ   s    z(BaseSpatialFeatures.supports_extent_aggrc             C   s   t j| jjjkS )N)r   ZMakeLiner   r   r   )r   r   r   r	   Úsupports_make_line_aggrU   s    z+BaseSpatialFeatures.supports_make_line_aggrc             C   s   t j| jjjkS )N)r   ÚUnionr   r   r   )r   r   r   r	   Úsupports_union_aggrY   s    z'BaseSpatialFeatures.supports_union_aggrc             C   s0   t  d|¡}|r(| d¡}|| jjjkS t‚d S )Nzhas_(\w*)_function$é   )ÚreÚmatchÚgroupr   r   Zunsupported_functionsÚAttributeError)r   ÚnameÚmÚ	func_namer   r   r	   Ú__getattr__]   s
    
zBaseSpatialFeatures.__getattr__N)"Ú__name__Ú
__module__Ú__qualname__Zgis_enabledZhas_spatialrefsys_tableZsupports_add_srs_entryZ%supports_geometry_field_introspectionZsupports_3d_storageZsupports_3d_functionsZsupports_transformZsupports_real_shape_operationsZsupports_null_geometriesZsupports_empty_geometriesZsupports_distance_geodeticZsupports_length_geodeticZsupports_perimeter_geodeticZsupports_area_geodeticZsupports_num_points_polyZsupports_left_right_lookupsZsupports_rasterZ$supports_geometry_field_unique_indexÚpropertyr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	   r      s<   r   )r   Zdjango.contrib.gis.db.modelsr   r   r   r   r   r	   Ú<module>   s   