GeoRSS Patch for Universal Feedparser

2007-09-08T19:54:27Z in python

See http://code.google.com/p/feedparser/issues/detail?id=62. In a nutshell, given feeds like:

<feed
  xmlns="http://www.w3.org/2005/Atom"
  xmlns:georss="http://www.georss.org/georss"
  >
  <entry>
    <georss:point>36.9382 31.1732</georss:point>
  </entry>
</feed>

or:

<feed
  xmlns="http://www.w3.org/2005/Atom"
  xmlns:georss="http://www.georss.org/georss"
  xmlns:gml="http://www.opengis.net/gml"
  >
  <entry>
    <georss:where>
      <gml:Point>
        <gml:pos>36.9382 31.1732</gml:pos>
      </gml:Point>
    </georss:where>
  </entry>
</feed>

the entry location, or "where" is parsed out like:

>>> import feedparser
>>> feed = feedparser.parse(file)
>>> entry = feed.entries[0]
>>> entry['where']['type']
'Point'
>>> entry['where']['coordinates']
(31.1732, 36.9382)

Recognize that? It's GeoJSON. Simple points, lines, polygons, boxes, and GML points, linestrings, and polygons can be parsed. Since entry["where"] also provides the Python Geo Interface, you can use it immediately with Shapely:

>>> from shapely.geometry import asShape
>>> shape = asShape(entry["where"])
>>> shape
<shapely.geometry.point.Point object at ...>
>>> shape.x
31.1732
>>> shape.y
36.9382

Comments are closed after 13 days.

about archive feed find

Some rights reserved by Sean Gillies.