在sqlalchemy文档中有一个很好的例子,说明如何在sqlalchemy中定义和使用Geometry
列:
http://docs.sqlalchemy.org/en/rel_0_9/core/types.html#applying-sql-level-bind-result-processing
但是,文档中的任何地方都没有提到空间索引。
那么,我如何用sqlalchemy定义SPATIAL INDEX
?
P.S。 关于这个问题已经有了一个古老的问题:Is there a convenient way to create spatial index with Sqlalchemy or Geoalchemy?,但我拒绝使用两年前“在发展的早期阶段”被遗弃的GeoAlchemy,所以这是一个不同的问题,我猜。
答案 0 :(得分:1)
只为它执行DDL:
engine.execute("CREATE SPATIAL INDEX sp_index ON geom (g)")
如果您想将此命令与某个表关联,请使用DDL:
from sqlalchemy import event, DDL
event.listen(some_table, 'after_create', DDL("CREATE SPATIAL INDEX sp_index ON geom (g)"))