地理資訊 Feed

GeoDjango 有自己的 Feed 子類別,可將位置資訊嵌入到 RSS/Atom Feed 中,並根據 Simple GeoRSSW3C Geo 標準格式化。由於 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() 返回的物件,並返回 *feed 的* 幾何圖形。通常這是一個 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)

設定此項以返回 feed 中每個 *item* 的幾何圖形。這可以是 GEOSGeometry 實例,或表示點座標或邊界框的元組。例如

class ZipcodeFeed(Feed):
    def item_geometry(self, obj):
        # Returns the polygon.
        return obj.poly

SyndicationFeed 子類別

以下 django.utils.feedgenerator.SyndicationFeed 子類別可用

class GeoRSSFeed[原始碼]
class GeoAtom1Feed[原始碼]
class W3CGeoFeed[原始碼]

注意

W3C Geo 格式的 Feed 僅支援 PointField 幾何圖形。

返回頂部