昨天有人告訴我,如果我想使用Sqlalchemy,Geoalchemy是支持空間擴展的好選擇。它確實很好。非常感謝他。有沒有一種方便的方式來創建與Sqlalchemy或Geoalchemy空間索引?
但我還沒有找到一種方便的方式來創建Geoalchemy的空間索引。我必須直接運行這個SQL嗎?
CREATE SPATIAL INDEX sp_index ON my_class (
geom_col
);
有沒有一種方便的方式來做到這一點,而無需直接編寫SQL?
謝謝!
昨天有人告訴我,如果我想使用Sqlalchemy,Geoalchemy是支持空間擴展的好選擇。它確實很好。非常感謝他。有沒有一種方便的方式來創建與Sqlalchemy或Geoalchemy空間索引?
但我還沒有找到一種方便的方式來創建Geoalchemy的空間索引。我必須直接運行這個SQL嗎?
CREATE SPATIAL INDEX sp_index ON my_class (
geom_col
);
有沒有一種方便的方式來做到這一點,而無需直接編寫SQL?
謝謝!
當與table.create()
創建表格時,GeoAlchemy將自動爲幾何列創建索引。
此外,SQLAlchemy Index
實例有一個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__)
看起來索引沒有自動創建。你能舉一個詳細的例子嗎? – flypen
@flypen:同樣在這裏,我添加了索引「手動」。 –