"""A collection of utility routines and classes used by the spatialbackends."""classSpatialOperator:""" Class encapsulating the behavior specific to a GIS operation (used by lookups). """sql_template=Nonedef__init__(self,op=None,func=None):self.op=opself.func=func@propertydefdefault_template(self):ifself.func:return"%(func)s(%(lhs)s, %(rhs)s)"else:return"%(lhs)s %(op)s %(rhs)s"defas_sql(self,connection,lookup,template_params,sql_params):sql_template=self.sql_templateorlookup.sql_templateorself.default_templatetemplate_params.update({"op":self.op,"func":self.func})returnsql_template%template_params,sql_params