I have been pursuing this further on my own and one of the issues I have run into is how to cleanly add a geometry column to a database. The posting referenced in the first e-mail [2] talks about doing this directly with psycopg2 cursor because the poster could not get it working with SA. I gave it another try to see if I could get it working and I think I have narrowed down the problem. That said, I still don't fully understand how to fix it with SA only.
Here is my code example: ---------------------------- db = sa.create_engine(dsn_str) # Option 1: Try using a function on the database (doesn't work) print "Run with func" db.func.AddGeometryColumn('','gis_entity','fpos',-1,'LINESTRING',2).execute() # Option 2: Try directly with database statement execution (doesn't work) print "Run on db" r = db.execute("select AddGeometryColumn('','gis_entity','cpos',-1,'LINESTRING',2)") r.close() # Option 3: use psycopg to execute directly without autocomit? (works) print "Run with psycopg isolation level" con = db.connect() con.connection.connection.set_isolation_level(psycopg2.extensions.ISOLATION_LEVEL_AUTOCOMMIT) con.execute("select AddGeometryColumn('','gis_entity','p_pos',-1,'LINESTRING',2)") con.close() ------------------------ So option 3 works, but I don't fully understand why it works and why I can't use one of the other options. Option 1 is definitely my preferred way to do this because it will make the calls look like normal SA calls to a DB function. Can anyone tell my whey option 3 is working and if there is a way to do this directly with SA only? Thanks, Allen On 2/23/07, Allen <[EMAIL PROTECTED]> wrote: > > I would like to use SqlAlchemy with PostGIS to create, read, update, > and query spatial data. I have search around a bit and found a few > ideas of doing this [1][2] but I haven't seen a definitive best > practice by any means. It looks like all the solutions I can find > have a least some limitations. > > Is anyone here using SqlAlchemy with spatial databases and if so how > are you doing it right now? > > Specifically: > - How do you handle table specification with geometry types? > [1] tries to do this but it is incomplete > > - Do you use custom types and if so how are you doing this? > [2] has some custom type code but it seems to be tied to binary > formats and I don't see how to create/retrieve the geometry in text > format. > > - How are you handling the object mapping? > For example is there a way to map a "POINT" geometry to a python Point > class or tuple? > > - Do you have any general recommendations for how to use spatial data > successfully with SqlAlchemy? > > > Thanks, > Allen > > [1] > http://www.mail-archive.com/sqlalchemy-users@lists.sourceforge.net/msg03371.html > [2] http://bycycle.org/2007/01/29/using-postgis-with-sqlalchemy/ > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---