关于GeoAlchemy2的文档似乎功能不全(与透透版本相比)。
我有个模特:
class AddressCode(Base):
__tablename__ = 'address_codes'
id = Column(Integer, primary_key=True)
code = Column(Unicode(34))
geometry = Column(Geometry('POINT'))我想存储lat/long数据,我尝试将这些数据保存在上面的模型中,例如
"51.42553,-0.666085"这给了我一个错误:
"Parse error at position 9 within Geometry (the "," char")有人能弄清楚我哪里出了问题吗?
同样在这个问题上,我应该如何提出一个问题来说..。
显示最近的20个用户:
class AddressCode(Base):
__tablename__ = 'address_codes'
id = Column(Integer, primary_key=True)
name = Column(Unicode(34))
geometry = Column(Geometry('POINT'))有点像?
geom_var = "51.42553,-0.666085"
Session.query(User).filter(func.ST_DWithin, 20, geom_var).all()发布于 2013-11-11 16:19:52
在GeoAlchemy和GeoAlchemy2中,您都需要以名为WKT或著名文本的著名文本格式或众所周知的二进制格式指定几何图形。有一点,语法是'POINT(X Y)',因此'POINT(-0.666085 51.42553)'注意到经度首先出现,然后是纬度。
修长模块包含处理关系数据库外部几何学的有用函数,以及在Python几何学类和WKT、WKB格式之间的轻松转换。
发布于 2014-01-28 21:03:29
你是怎么做到的:
此区域表定义为:
regionTable = Table('region', metadata,
Column('region_id', Integer, Sequence('region_region_id_seq'), primary_key=True),
Column('type_cd', String(30)),
Column('region_nm', String(255)),
Column('geo_loc', Geography )
)如何查询:
(告诉我目前位置50英里内的所有区域.)
sqlstring = select([regionTable],
func.ST_DWithin(
regionTable.c.geo_loc,
'POINT(-74.78886216922375 40.32829276931833)',
1609*50 ) )
result = connection.execute(sqlstring)
for row in result:
print "region name:", row['region_nm']https://stackoverflow.com/questions/19894692
复制相似问题