mirror of
				https://github.com/django/django.git
				synced 2025-10-26 07:06:08 +00:00 
			
		
		
		
	Thanks, Ramiro Morales. git-svn-id: http://code.djangoproject.com/svn/django/trunk@13608 bcc190cf-cafb-0310-a4f2-bffc1f526a37
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ================
 | |
| Geographic Feeds
 | |
| ================
 | |
| 
 | |
| .. module:: django.contrib.gis.feeds
 | |
|    :synopsis: GeoDjango's framework for generating spatial feeds.
 | |
| 
 | |
| GeoDjango has its own :class:`Feed` subclass that may embed location information
 | |
| in RSS/Atom feeds formatted according to either the `Simple GeoRSS`__ or
 | |
| `W3C Geo`_ standards.  Because GeoDjango's syndication API is a superset of
 | |
| Django's, please consult :doc:`Django's syndication documentation
 | |
| </ref/contrib/syndication>` for details on general usage.
 | |
| 
 | |
| .. _W3C Geo: http://www.w3.org/2003/01/geo/
 | |
| 
 | |
| __ http://georss.org/1.0#simple
 | |
| 
 | |
| Example
 | |
| =======
 | |
| 
 | |
| API Reference
 | |
| =============
 | |
| 
 | |
| ``Feed`` Subclass
 | |
| -----------------
 | |
| 
 | |
| .. class:: Feed
 | |
| 
 | |
|    In addition to methods provided by
 | |
|    the :class:`django.contrib.syndication.feeds.Feed`
 | |
|    base class, GeoDjango's ``Feed`` class provides
 | |
|    the following overrides.  Note that these overrides may be done in multiple ways::
 | |
| 
 | |
|        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):
 | |
|                 ...
 | |
| 
 | |
|    .. method:: geometry(obj)
 | |
| 
 | |
|    Takes the object returned by ``get_object()`` and returns the *feed's*
 | |
|    geometry.  Typically this is a ``GEOSGeometry`` instance, or can be a
 | |
|    tuple to represent a point or a box.  For example::
 | |
| 
 | |
|        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).
 | |
| 
 | |
|    .. method:: item_geometry(item)
 | |
| 
 | |
|    Set this to return the geometry for each *item* in the feed.  This
 | |
|    can be a ``GEOSGeometry`` instance, or a tuple that represents a
 | |
|    point coordinate or bounding box.  For example::
 | |
| 
 | |
|        class ZipcodeFeed(Feed):
 | |
| 
 | |
|            def item_geometry(self, obj):
 | |
| 	       # Returns the polygon.
 | |
|                return obj.poly
 | |
| 
 | |
| ``SyndicationFeed`` Subclasses
 | |
| ------------------------------
 | |
| 
 | |
| The following :class:`django.utils.feedgenerator.SyndicationFeed` subclasses
 | |
| are available:
 | |
| 
 | |
| .. class:: GeoRSSFeed
 | |
| 
 | |
| .. class:: GeoAtom1Feed
 | |
| 
 | |
| .. class:: W3CGeoFeed
 | |
| 
 | |
| .. note::
 | |
| 
 | |
|     `W3C Geo`_ formatted feeds only support
 | |
|     :class:`~django.contrib.gis.db.models.PointField` geometries.
 |