from xml.etree.ElementTree import Element, SubElement, tostring
from sqlalchemy.engine import create_engine
+from osgeo import ogr
import logging
border_wkb = row['border_wkb'] # border as WKB
where += ' and contains(geomfromwkb(%s), point(position_longitude, position_latitude))'
params += [border_wkb]
+ # the following variables are needed for the additional filtering below
+ border = ogr.CreateGeometryFromWkb(border_wkb)
+ point = ogr.Geometry(ogr.wkbPoint)
else:
# user wants to have all reports
pass
last_updated = None
for row in result:
page_id, page_title, report_id, date_report, date_entry, condition, description, author_name, author_userid, author_username, lon, lat = row
+
+ if not region_name is None:
+ # mysql 5.5 doesn't have specification conform geospacial functions.
+ # http://dev.mysql.com/doc/refman/5.5/en/functions-for-testing-spatial-relations-between-geometric-objects.html
+ # therefore we have to do further filtering here.
+ point.SetPoint(0, lon, lat)
+ if not point.Within(border):
+ continue
+
page_title_url = page_title.replace(u' ', u'_')
entry = SubElement(feed, "entry")
entry_title = SubElement(entry, "title")