GeoDjango has its own Feed
subclass that may embed location information
in RSS/Atom feeds formatted according to either the Simple GeoRSS or
W3C Geo standards. Because GeoDjango's syndication API is a superset of
Django's, please consult Django's syndication documentation for details on general usage.
Feed
Subclass¶Feed
[源代码]¶In addition to methods provided by the
django.contrib.syndication.views.Feed
base class, GeoDjango's
Feed
class provides the following overrides. Note that these overrides
may be done in multiple ways:
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)¶Takes the object returned by get_object()
and returns the feed's
geometry. Typically this is a GEOSGeometry
instance, or can be a tuple
to represent a point or a box. For example:
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)¶Set this to return the geometry for each item in the feed. This can be a
GEOSGeometry
instance, or a tuple that represents a point coordinate or
bounding box. For example:
class ZipcodeFeed(Feed):
def item_geometry(self, obj):
# Returns the polygon.
return obj.poly
SyndicationFeed
Subclasses¶The following django.utils.feedgenerator.SyndicationFeed
subclasses
are available:
注解
W3C Geo formatted feeds only support
PointField
geometries.
1月 11, 2019