trying to get the attention of the geoalchemy guy here, maybe try their list: https://groups.google.com/forum/?fromgroups#!forum/geoalchemy
On Nov 26, 2012, at 9:19 AM, Gery . wrote: > Hi all, newbie question here, I'm getting this error message: > > *********** > $ python model.py > /usr/lib64/python2.6/site-packages/sqlalchemy/engine/reflection.py:47: > SAWarning: Did not recognize type 'geometry' of column 'geom' > ret = fn(self, con, *args, **kw) > DB Columns ['forearc_basins_polygon_wgs84.name', > 'forearc_basins_polygon_wgs84.perim_km', > 'forearc_basins_polygon_wgs84.area_km2', > 'forearc_basins_polygon_wgs84.hectare_ha', > 'forearc_basins_polygon_wgs84.source', > 'forearc_basins_polygon_wgs84.comments', 'forearc_basins_polygon_wgs84.geom', > 'forearc_basins_polygon_wgs84.id', 'forearc_basins_polygon_wgs84.fid'] > GeoColumn Type ST_Polygon > Traceback (most recent call last): > File "model.py", line 66, in <module> > lon = session.scalar(center.x) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line > 915, in scalar > return self.execute(clause, params=params, mapper=mapper, bind=bind, > **kw).scalar() > File "/usr/lib64/python2.6/site-packages/sqlalchemy/orm/session.py", line > 910, in execute > clause, params or {}) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line > 1449, in execute > params) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line > 1493, in _execute_function > multiparams, params) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line > 1584, in _execute_clauseelement > compiled_sql, distilled_params > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line > 1698, in _execute_context > context) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/base.py", line > 1691, in _execute_context > context) > File "/usr/lib64/python2.6/site-packages/sqlalchemy/engine/default.py", > line 331, in do_execute > cursor.execute(statement, parameters) > sqlalchemy.exc.ProgrammingError: (ProgrammingError) can't adapt type > 'centroid' 'SELECT ST_X((%(param_1)s)) AS x_1' {'param_1': > <geoalchemy.functions.centroid at 0x1cb45cd0; centroid>} > *********** > > using this script: > > *********** > import sys > from sqlalchemy import * > from sqlalchemy.orm import * > from geoalchemy import * > from sqlalchemy.sql import func > > db = "postgresql://postgres:jeniusj@localhost:5432/mop" > engine = create_engine(db, echo=False) > metadata = MetaData() > > source = Table('forearc_basins_polygon_wgs84', > metadata, > GeometryExtensionColumn('geom', Geometry(3)), > autoload=True, > autoload_with=engine > ) > > Session = sessionmaker(bind=engine) > session = Session() > > q = session.query(source) > row = q.order_by(desc("st_area(geom)")).first() # largest polygon > > print "DB Columns", source.columns > print "GeoColumn Type", session.scalar(functions.geometry_type(row.geom)) > > center = DBSpatialElement(row.geom.centroid()) > lon = session.scalar(center.x) > lat = session.scalar(center.y) > area = session.scalar(DBSpatialElement(row.geom.area())) > print row.name, "centroid is at:", lon, ",", lat, "and this big", area > *********** > > I read that this could be a psycopg2 problem, however I have the latest > version (2.4.5 instead of 2.0.6.3 where the error was found). What could be > wrong? ideas are welcome, thanks. > > PS. my configuration: > RHEL5 (64-bits) > python2.6 (rpm from EPEL) > > # d /usr/lib/python2.6/site-packages/ > total 99k > -rw-r--r-- 1 root root 34 Nov 20 10:09 setuptools.pth > -rw-r--r-- 1 root root 144 Nov 20 10:09 setuptools-0.6c11-py2.6.egg-info > -rw-r--r-- 1 root root 215 Nov 20 10:09 easy-install.pth > drwxr-xr-x 5 root root 4.1k Nov 20 10:09 distribute-0.6.30-py2.6.egg/ > drwxr-xr-x 2 root root 4.1k Nov 20 10:10 pip-1.2.1-py2.6.egg-info/ > drwxr-xr-x 4 root root 4.1k Nov 20 10:10 pip/ > drwxr-xr-x 2 root root 4.1k Nov 20 10:10 simplejson-2.6.2-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 20 10:10 simplejson/ > drwxr-xr-x 2 root root 4.1k Nov 20 10:11 Markdown-2.2.1-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 20 10:11 markdown/ > drwxr-xr-x 4 root root 4.1k Nov 20 10:43 ../ > drwxr-xr-x 2 root root 4.1k Nov 20 11:30 Pygments-1.5-py2.6.egg-info/ > drwxr-xr-x 6 root root 4.1k Nov 20 11:30 pygments/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:10 pyquery-1.2.2-py2.6.egg-info/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:10 pyquery/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:10 cssselect-0.7.1-py2.6.egg-info/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:10 cssselect/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:17 shortuuid-0.2-py2.6.egg-info/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:17 shortuuid/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:50 dxfwrite-1.2.0-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 21 10:50 dxfwrite/ > drwxr-xr-x 2 root root 4.1k Nov 26 13:14 GeoAlchemy-0.7.1-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 26 13:14 geoalchemy/ > drwxr-xr-x 21 root root 4.1k Nov 26 13:14 ./ > > # d /usr/lib64/python2.6/site-packages/ > total 87k > -rw-r--r-- 1 root root 119 Apr 12 2012 README > drwxr-xr-x 23 root root 21k Nov 20 10:10 ../ > drwxr-xr-x 2 root root 4.1k Nov 20 11:11 psycopg2-2.4.5-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 20 11:11 psycopg2/ > drwxr-xr-x 2 root root 4.1k Nov 20 11:31 Cheetah-2.4.4-py2.6.egg-info/ > drwxr-xr-x 7 root root 4.1k Nov 20 11:31 Cheetah/ > drwxr-xr-x 5 root root 4.1k Nov 21 10:10 lxml/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:10 lxml-3.0.1-py2.6.egg-info/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:38 pysqlite-2.6.3-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 21 10:38 pysqlite2/ > drwxr-xr-x 2 root root 4.1k Nov 21 10:51 pyspatialite-3.0.1-py2.6.egg-info/ > drwxr-xr-x 3 root root 4.1k Nov 21 10:51 pyspatialite/ > drwxr-xr-x 2 root root 4.1k Nov 26 13:14 SQLAlchemy-0.7.9-py2.6.egg-info/ > drwxr-xr-x 10 root root 4.1k Nov 26 13:14 sqlalchemy/ > drwxr-xr-x 2 root root 4.1k Nov 26 14:50 numpy-1.6.2-py2.6.egg-info/ > drwxr-xr-x 18 root root 4.1k Nov 26 14:50 numpy/ > drwxr-xr-x 16 root root 4.1k Nov 26 14:50 ./ > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalchemy@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.