Географические каналы¶
GeoDjango имеет собственный подкласс Feed
, который может встраивать информацию о местоположении в RSS/Atom-ленты, отформатированные в соответствии со стандартами Simple GeoRSS или W3C Geo. Поскольку API синдикации GeoDjango является надмножеством API Django, пожалуйста, обратитесь к Django’s syndication documentation за подробностями общего использования.
Пример¶
Справочник по API¶
Feed
Подкласс¶
-
class
Feed
[исходный код]¶ В дополнение к методам, предоставляемым базовым классом
django.contrib.syndication.views.Feed
, класс GeoDjangoFeed
предоставляет следующие переопределения. Обратите внимание, что эти переопределения могут быть сделаны несколькими способами: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
-
SyndicationFeed
Подклассы¶
Имеются следующие подклассы django.utils.feedgenerator.SyndicationFeed
:
-
class
GeoRSSFeed
[исходный код]¶
-
class
GeoAtom1Feed
[исходный код]¶
-
class
W3CGeoFeed
[исходный код]¶
Примечание
W3C Geo форматированные фиды поддерживают только PointField
геометрии.