Spec-Zone.ru › Django 1.10

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

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

Пример

Справочник API

Feed Подкласс

class Feed [source]

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

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/1.10/ref/contrib/gis/feeds/

Spec-Zone.ru

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