【发布时间】:2014-07-20 01:59:47
【问题描述】:
我有一张经纬度的表,我不想存储几何图形。 相反,我存储的是经纬度。
如何使用位置表达式创建基于点的查询?基本上它应该返回点。 应该将其转换为 SQL 表达式,例如“.....ST_Point(home.latitude, home.longitude).....”
geoalchemy 中没有 func.ST_Point 吗?还是我错过了什么? 如果我不写表达式显然我会得到 p>
"sqlalchemy.exc.InternalError: (InternalError) parse error - invalid geometry
HINT: "POINT(Ve" <-- parse error at position 8 within geometry"
代码:
class Home(Base):
__tablename__ = 'vehicle_path'
id = Column(BigInteger, primary_key=True)
latitude = Column(Float)
longitude = Column(Float)
@hybrid_property
def position(self):
return WKTElement(
''.join(['POINT(', str(self.longitude),' ', str(self.latitude), ')']), 4326)
@position.expression
def position(cls):
return <???what to return???>
我正在使用 sqlalchemy、Geoalchmey2 和 postgis、postgres、金字塔。
【问题讨论】:
标签: postgresql sqlalchemy pyramid postgis geoalchemy