Spec-Zone.ru › Django 2.2

Географические каналы

GeoDjango имеет собственный Feed подкласс, который может встраивать информацию о местоположении в каналы RSS/Atom, отформатированные в соответствии со стандартами Simple GeoRSS или W3C Geo. Поскольку API для рассылки GeoDjango является надмножеством API Django, обратитесь к документации Django по рассылке для получения подробной информации о общем использовании.

Пример

Справочник API

Feed Подкласс

class Feed [source]

В дополнение к методам, предоставленным базовым классом django.contrib.syndication.views.Feed, класс GeoDjango Feed предоставляет следующие переопределения. Обратите внимание, что эти переопределения можно выполнить несколькими способами:

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 [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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API