Umpan Geografis

GeoDjango mempunyai subkelasnya Feed sendiri yang mungkin menanamkan informasi tempat dalam berbentuk umpan RSS/Atom menurut salah satu standar Simple GeoRSS atau W3C Geo. Karena API perkongsian GeoDjango adalah superset dari Django, harap obrolkan Django's syndication documentation untuk rincian paada penggunaan umum.

Contoh

Acuan API

Subkelas Feed

class Feed

Sebagai tambahan pada metode disediakan oleh kelas dasar django.contrib.syndication.views.Feed, kelas Feed GeoDjango menyediakan penimpaan berikut. Catat bahwa penimpaan ini mungkin dilakukan dalam banyak cara:

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)

Ambil obyek dikembalikan oleh get_object() dan mengembalikan geometri feed. Khususnya ini adalah instance GEOSGeometry, atau dapat berupa sebuah tuple untuk mewakili titik atau sebuah kotak. Sebagai contoh:

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)

Setel ini untuk mengembalikan geometri untuk setiap item dalam umpan. Ini dapat berupa instance GEOSGeometry, atau tuple yang mewakili titik kordinat atau kotak batasan. Sebagai contoh:

class ZipcodeFeed(Feed):
    def item_geometry(self, obj):
        # Returns the polygon.
        return obj.poly

Subkelas SyndicationFeed

Subkelas django.utils.feedgenerator.SyndicationFeed berikut tersedia:

class GeoRSSFeed
class GeoAtom1Feed
class W3CGeoFeed

Catatan

Umpan berbentuk W3C Geo  hanya mendukung geometri PointField.