Removed dependency on geoalchemy.
[philipp/winterrodeln/wrpylib.git] / wrpylib / wrmwcache.py
index 05f7e75484b1f1a5800fe45317aae03535a0d6b2..4c3940ca0afc14c7ae7f750a7c46576cbb4ecaf7 100644 (file)
@@ -6,7 +6,6 @@
 from sqlalchemy import schema
 from sqlalchemy.sql import select
 from sqlalchemy.sql.expression import func as sqlfunc
-import geoalchemy.functions as geofunc
 from osgeo import ogr
 import formencode
 from wrpylib import mwdb, wrmwdb, mwmarkup, wrmwmarkup
@@ -229,7 +228,7 @@ def update_wrregioncache(connection):
     connection.execute(wrregioncache.delete())
     
     # Query all combinations of sledruns and regions
-    sel = select([wrregion.c.id.label('region_id'), wrregion.c.border.label('border'), wrsledruncache.c.page_id, wrsledruncache.c.position_longitude, wrsledruncache.c.position_latitude], geofunc.gcontains(wrregion.c.border, sqlfunc.point(wrsledruncache.c.position_longitude, wrsledruncache.c.position_latitude))) 
+    sel = select([wrregion.c.id.label('region_id'), sqlfunc.AsWKB(wrregion.c.border).label('border'), wrsledruncache.c.page_id, wrsledruncache.c.position_longitude, wrsledruncache.c.position_latitude], sqlfunc.contains(wrregion.c.border, sqlfunc.point(wrsledruncache.c.position_longitude, wrsledruncache.c.position_latitude)))
     ins = wrregioncache.insert()
 
     # Refill wrregioncache
@@ -237,7 +236,7 @@ def update_wrregioncache(connection):
     result = connection.execute(sel)
     for row in result:
         point.SetPoint(0, row.position_longitude, row.position_latitude)
-        if point.Within(ogr.CreateGeometryFromWkb(row.border.geom_wkb)):
+        if point.Within(ogr.CreateGeometryFromWkb(row.border)):
             connection.execute(ins.values(region_id=row.region_id, page_id=row.page_id))
 
     # commit