Географические каналы¶
GeoDjango имеет собственный подкласс Feed, который может встраивать информацию о местоположении в каналы RSS/Atom, отформатированные в соответствии со стандартами Simple GeoRSS или W3C Geo. Поскольку API синдикации GeoDjango является расширенным набором API Django, обратитесь к документации по синдикации Django для получения подробной информации об общем использовании.
Пример¶
Справочник API¶
Подкласс Feed¶
- class Feed¶
В дополнение к методам, предоставляемым базовым классом
django.contrib.syndiction.views.Feed, классFeedGeoDjango предоставляет следующие переопределения. Обратите внимание, что эти переопределения можно выполнить несколькими способами:from django.contrib.gis.feeds import Feed class MyFeed(Feed): # First, as a class attribute. geometry = ... item_geometry = ... # Also a function with no arguments def geometry(self): ... def item_geometry(self): ... # And as a function with a single argument def geometry(self, obj): ... def item_geometry(self, item): ...
- geometry(obj)¶
Берет объект, возвращенный функцией get_object(), и возвращает геометрию фида. Обычно это экземпляр
GEOSGeometryили может быть кортежем, представляющим точку или прямоугольник. Например:class ZipcodeFeed(Feed): def geometry(self, obj): # Can also return: `obj.poly`, and `obj.poly.centroid`. return obj.poly.extent # tuple like: (X0, Y0, X1, Y1).
- item_geometry(item)¶
Установите это значение, чтобы вернуть геометрию для каждого элемента в ленте. Это может быть экземпляр
GEOSGeometryили кортеж, представляющий координату точки или ограничивающую рамку. Например:class ZipcodeFeed(Feed): def item_geometry(self, obj): # Returns the polygon. return obj.poly