'Utility for checking the given lookup with the given model options.
The lookup is a string either specifying the geographic field, e.g.
\'point, \'the_geom\', or a related lookup on a geographic field like
\'address__point\'.
If a GeometryField exists according to the given lookup on the model
options, it will be returned.  Otherwise returns None.'

@classmethod
def _check_geo_field(cls, opts, lookup):

    field_list = lookup.split(LOOKUP_SEP)
    field_list.reverse()
    fld_name = field_list.pop()
    try:
        geo_fld = opts.get_field(fld_name)
        while len(field_list):
            opts = geo_fld.rel.to._meta
            geo_fld = opts.get_field(field_list.pop())
    except (FieldDoesNotExist, AttributeError):
        return False
    if isinstance(geo_fld, GeometryField):
        return geo_fld
    else:
        return False
