地理的フィード
GeoDjangoには独自の Feed サブクラスがあり、 Simple GeoRSS または W3C Geo 標準のいずれかに従ってフォーマットされたRSS / Atomフィードに位置情報を埋め込むことができます。 GeoDjangoのシンジケーションAPIはDjangoのスーパーセットであるため、一般的な使用法の詳細については、 Djangoのシンジケーションドキュメントを参照してください。
例
APIリファレンス
Feedサブクラス
- class Feed
django.contrib.syndication.views.Feed 基本クラスによって提供されるメソッドに加えて、GeoDjangoの
Feed
クラスは次のオーバーライドを提供します。 これらのオーバーライドは、複数の方法で実行できることに注意してください。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)
get_object()
によって返されたオブジェクトを取得し、フィードのジオメトリを返します。 通常、これはGEOSGeometry
インスタンスであるか、ポイントまたはボックスを表すタプルにすることができます。 例えば: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)
これを設定して、フィード内の各アイテムのジオメトリを返します。 これは、
GEOSGeometry
インスタンス、またはポイント座標またはバウンディングボックスを表すタプルにすることができます。 例えば:class ZipcodeFeed(Feed): def item_geometry(self, obj): # Returns the polygon. return obj.poly