Geografiska flöden¶
GeoDjango har sin egen Feed
-underklass som kan bädda in platsinformation i RSS/Atom-flöden formaterade enligt antingen Simple GeoRSS eller W3C Geo-standarderna. Eftersom GeoDjangos syndikerings-API är en superset av Djangos, konsultera Djangos syndikeringsdokumentation för detaljer om allmän användning.
Exempel¶
API-referens¶
underklass Feed
¶
- class Feed[source]¶
Förutom de metoder som tillhandahålls av basklassen
django.contrib.syndication.views.Feed
, tillhandahåller GeoDjangosFeed
-klass följande åsidosättningar. Observera att dessa överstyrningar kan göras på flera sätt: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)¶
Tar det objekt som returneras av
get_object()
och returnerar feedens geometri. Vanligtvis är detta enGEOSGeometry
-instans, eller kan vara en tupel för att representera en punkt eller en box. Till exempel: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)¶
Ställ in detta för att returnera geometrin för varje artikel i flödet. Detta kan vara en
GEOSGeometry
-instans eller en tupel som representerar en punktkoordinat eller avgränsningsbox. Till exempel:class ZipcodeFeed(Feed): def item_geometry(self, obj): # Returns the polygon. return obj.poly