Ada*_*tan 5 postgresql orm postgis sqlalchemy
SQLAlchemy将DB列映射到Python中的对象成员.例如:
class User(Base):
__tablename__ = 'users'
id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
name = Column(String(50))
fullname = Column(String(50))
password = Column(String(12))
Run Code Online (Sandbox Code Playgroud)
应该使用哪种类型将PostGIS geom列映射到类成员?
据我所知,使用SQLAlchemy没有内置的方法.但是,GeoAlchemy2是SQLAlchemy的扩展,它增加了对地理空间字段(点,线,多边形等)的支持:
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import Column, Integer, String, Sequence
from geoalchemy2 import Geometry
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, Sequence('user_id_seq'), primary_key=True)
name = Column(String(50))
fullname = Column(String(50))
password = Column(String(12))
geom = Column(Geometry('POINT'))
Run Code Online (Sandbox Code Playgroud)
GeoAlchemy2还提供空间查询功能.来自文档:
query = session.query(Lake).filter(Lake.geom.ST_Contains('POINT(4 1)'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2668 次 |
| 最近记录: |