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