Географические каналы
GeoDjango имеет собственный Feed подкласс, который может встраивать информацию о местоположении в каналы RSS/Atom, отформатированные в соответствии со стандартами Simple GeoRSS или W3C Geo. Поскольку API для рассылки GeoDjango является надмножеством API Django, обратитесь к документации Django по рассылке для получения подробной информации о общем использовании.
Пример
Справочник API
Feed Подкласс
-
class Feed[source] -
В дополнение к методам, предоставленным базовым классом
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 Подклассы
-
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/2.2/ref/contrib/gis/feeds/