Flux géographiques¶
GeoDjango possède sa propre sous-classe Feed qui peut contenir des informations d’emplacement dans les flux RSS/Atom mis en forme selon les standards Simple GeoRSS ou W3C Geo. Comme l’API du système de syndication de GeoDjango est un sur-ensemble de celle de Django, référez-vous à la documentation du système de syndication de Django pour plus de détails sur son utilisation générale.
Exemple¶
Référence de l’API¶
Sous-classe Feed¶
-
class
Feed¶ En plus de méthodes fournies par la classe de base
django.contrib.syndication.views.Feed, la classeFeedde GeoDjango ajoute les éléments ci-dessous qui peuvent être surchargés. Cette surcharge peut se faire de plusieurs manières :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)¶
Accepte l’objet renvoyé par
get_object()et renvoie la géométrie du flux. Il s’agit typiquement d’une instanceGEOSGeometryou d’un tuple représentant un point un ou rectangle. Par exemple :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)¶
Définissez ceci pour renvoyer la géométrie de chaque élément du flux. Il peut s’agir d’une instance
GEOSGeometryou d’un tuple représentant les coordonnées d’un point ou d’un rectangle englobant. Par exemple :class ZipcodeFeed(Feed): def item_geometry(self, obj): # Returns the polygon. return obj.poly
-
Sous-classes de SyndicationFeed¶
Les sous-classes suivantes de django.utils.feedgenerator.SyndicationFeed sont disponibles :
-
class
GeoRSSFeed¶
-
class
GeoAtom1Feed¶
-
class
W3CGeoFeed¶
Note
Les flux mis en forme selon W3C Geo ne prennent en charge que les géométries de type PointField.