首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GeoAlchemy2存储点和查询结果

GeoAlchemy2存储点和查询结果
EN

Stack Overflow用户
提问于 2013-11-10 20:21:38
回答 2查看 4.3K关注 0票数 3

关于GeoAlchemy2的文档似乎功能不全(与透透版本相比)。

我有个模特:

代码语言:javascript
复制
class AddressCode(Base):
    __tablename__ = 'address_codes'
    id = Column(Integer, primary_key=True)
    code = Column(Unicode(34))
    geometry = Column(Geometry('POINT'))

我想存储lat/long数据,我尝试将这些数据保存在上面的模型中,例如

代码语言:javascript
复制
"51.42553,-0.666085"

这给了我一个错误:

代码语言:javascript
复制
"Parse error at position 9 within Geometry (the "," char")

有人能弄清楚我哪里出了问题吗?

同样在这个问题上,我应该如何提出一个问题来说..。

显示最近的20个用户:

代码语言:javascript
复制
class AddressCode(Base):
    __tablename__ = 'address_codes'
    id = Column(Integer, primary_key=True)
    name = Column(Unicode(34))
    geometry = Column(Geometry('POINT'))

有点像?

代码语言:javascript
复制
geom_var = "51.42553,-0.666085"
Session.query(User).filter(func.ST_DWithin, 20, geom_var).all()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-11 16:19:52

在GeoAlchemy和GeoAlchemy2中,您都需要以名为WKT或著名文本的著名文本格式或众所周知的二进制格式指定几何图形。有一点,语法是'POINT(X Y)',因此'POINT(-0.666085 51.42553)'注意到经度首先出现,然后是纬度。

修长模块包含处理关系数据库外部几何学的有用函数,以及在Python几何学类和WKT、WKB格式之间的轻松转换。

票数 8
EN

Stack Overflow用户

发布于 2014-01-28 21:03:29

你是怎么做到的:

此区域表定义为:

代码语言:javascript
复制
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英里内的所有区域.)

代码语言:javascript
复制
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']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19894692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档