Here it is, the first 1.0 beta release of the ultimate content geo-annotation plugin for Plone 2.5: PleiadesGeocoder-1.0b1.
It's deployed on the Pleiades site (see links on the project wiki), and also at telascience.org: append 'georss' or 'kml' to any of the channel URLs to get an alternative representation of those aggregated feeds. Earlier versions of this software were inspired by the simple profile of GeoRSS, but 1.0 is aligned with GeoJSON. You can see it in the primary interface:
class IGeoItemSimple(Interface): """A simple georeferenced object, analogous to a GeoRSS entry, a KML placemark, or a GeoJSON feature. The spatial reference system is implicitly lat/long WGS84. """ geom_type = Attribute( """Name of geometry type: 'Point', 'LineString', or 'Polygon'""" ) coords = Attribute( """GeoJSON-style coordinates tuple(s) with long, lat ordering.""" ) __geo_interface__ = Attribute( """A mapping that provides Python geo interface. See http://trac.gispython.org/projects/PCL/wiki/PythonGeoInterface. """ ) def setGeoInterface(geom_type, coords): """Set type and coordinates, following the geo interface spec.""" def isGeoreferenced(): """Returns True if the item is "on the map", meaning that the item has a geometry type and coordinates."""
PleiadesGeocoder allows annotation of content types derived from Archetypes right out of the box. Plone developers who know their way with Zope and Five should find it easy to adapt non-AT content.