
vÅÏ^K  ã               @   s3   d  d l  Z  d  d l m Z Gd d „  d ƒ Z d S)é    N)Ú
aggregatesc               @   sN  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   úN/tmp/pip-build-8lau8j11/django/django/contrib/gis/db/backends/base/features.pyÚsupports_bbcontains_lookup1   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_lookup5   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_lookup9   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_lookupA   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_lookupE   s    z*BaseSpatialFeatures.supports_relate_lookupc             C   s   |  j  S)N)Zhas_IsValid_function)r   r   r   r	   Úsupports_isvalid_lookupI   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_aggrN   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_aggrR   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_aggrV   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_aggrZ   s    z'BaseSpatialFeatures.supports_union_aggrc             C   sD   t  j d | ƒ } | r: | j d ƒ } | |  j j j k St ‚ 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_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_dwithin_distance_exprZ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   