Географические каналы
GeoDjango имеет собственный Feed подкласс, который может встраивать информацию о местоположении в каналы RSS/Atom, отформатированные в соответствии со стандартами Simple GeoRSS или W3C Geo. Поскольку API для синдикации GeoDjango является надмножеством API Django, для получения подробной информации об общем использовании см. документацию по синдикации Django.
Пример
Справочник API
Feed Подкласс
-
class Feed[source] -
В дополнение к методам, предоставляемым базовым классом
django.contrib.syndication.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 -
SyndicationFeed Подклассы
-
class GeoRSSFeed[source]
-
class GeoAtom1Feed[source]
-
class W3CGeoFeed[source]
Примечание
W3C Geo отформатированные каналы поддерживают только геометрии PointField.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/1.10/ref/contrib/gis/feeds/