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[source]¶
En plus de méthodes fournies par la classe de base
django.contrib.syndication.views.Feed
, la classeFeed
de 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 instanceGEOSGeometry
ou 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
GEOSGeometry
ou 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