gis.feeds.Feed

class Feed [source]

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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:

1
2
3
4
5
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:

1
2
3
4
5
class ZipcodeFeed(Feed):
 
    def item_geometry(self, obj):
        # Returns the polygon.
        return obj.poly
doc_Django
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.