昨天有人告诉我,如果我想使用Sqlalchemy,Geoalchemy是支持空间扩展的不错选择。它真的很棒。非常感谢他。
但我还没有找到一种方便的方法来使用Geoalchemy创建空间索引。我必须直接运行这个SQL吗?
CREATE SPATIAL INDEX sp_index ON my_class (
geom_col
);
有没有直接编写SQL的方便方法?
谢谢!
答案 0 :(得分:2)
使用table.create()
创建表格时,GeoAlchemy会自动为几何列创建索引。
此外,SQLAlchemy Index
实例具有create
方法。请参阅http://docs.sqlalchemy.org/en/rel_0_7/core/schema.html#metadata-constraints中的“索引”部分。我不确定你是否能够在MySQL中创建空间索引,但值得一试。
答案 1 :(得分:0)
使用GeoAlchemy,您需要采取两个步骤来创建几何列
上的空间索引示例:
# note that spatial_index will set the column to not null
class Building(Base):
geom = GeometryColumn(Point(2, spatial_index=True))
GeometryDDL(Building.__table__)