GeoAlchemy2:获取某个点的经纬度

2024-04-09

考虑以下SQLAalchemy http://www.sqlalchemy.org/ / GeoAlchemy2 http://geoalchemy-2.readthedocs.org/en/0.2.6/index.html具有几何字段的 ORM:

from geoalchemy2 import Geometry, WKTElement

class Item(Base):

    __tablename__ = 'item'

    id = Column(Integer, primary_key=True)
    ...
    geom = Column(Geometry(geometry_type='POINTZ', srid=4326))

当我更新 PostgreSQL shell 中的项目时:

UPDATE item SET geom = st_geomFromText('POINT(2 3 0)', 4326) WHERE id = 5;

获取字段:

items = session.query(Item).\
    filter(Item.id == 3)

for item in items:
    print item.geom

Gives:

01e9030000000000000000004000000000000008400000000000000000

这不是一个正确的 WKB - 至少,它不解析身材匀称的loads https://pypi.python.org/pypi/Shapely.

我如何获得lat/lon of the geom field?


正在获取lat, lon via ST_X http://postgis.net/docs/ST_X.html and ST_Y http://postgis.org/docs/ST_Y.html可能不是最优雅的方法,但它有效:

from sqlalchemy import func

items = session.query(
            Item, 
            func.st_y(Item.geom), 
            func.st_x(Item.geom)
        ).filter(Item.id == 3)

for item in items:
    print(item.geom)

Gives:

(<Item 3>, 3.0, 2.0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GeoAlchemy2:获取某个点的经纬度 的相关文章

  • python 中的测地线缓冲

    给定土地多边形作为Shapely https pypi python org pypi Shapely MultiPolygon 我想找到代表例如的 多 多边形海岸线周围12海里缓冲区 使用匀称buffer方法不起作用 因为它使用欧几里德计
  • 每行创建多边形并保留列

    早上好 下午好或晚上好 我已将一些位置数据分组到 1 小时的分组中 对于每个我都提取了最小的纬度和经度 它看起来像这样 df lt ID time bin count lat lon maxlat minlat maxlon minlon
  • 创建扩展 postgis 失败,

    I am on Ubuntu 18 04与psql PostgreSQL 12 2 Ubuntu 12 2 2 pgdg18 04 1 Running temba create extension postgis 失败并出现以下错误 ERR
  • 在 Geodjango + Postgres 中存储圆

    希望在 geodjango 字段中存储一个圆 以便我可以使用 geodjango 查询 contains 来查找圆中是否有一个点 类似于使用 PolygonField 可以完成的操作 目前将其存储为十进制半径和 GeoDjango 点字段
  • 如何在postgis中找到多边形内的所有点?

    我将位置存储在 location table point location 几何 中 现在我在谷歌地图上绘制一个多边形并将该多边形 几何 传递到后端 我想找到该多边形内的所有位置 SELECT POINT LOCATION FROM LOC
  • 支持大圆距离和多边形的快速Python GIS库

    我正在寻找 python 的地理图书馆 我需要能够执行以下操作 使用以下命令获取两点之间的距离 以米为单位 大圆距离 http en wikipedia org wiki Great circle distance 不是线性距离计算 检查点
  • 将多边形转换为网格

    我有很多多边形 理想情况下 所有多边形不得相互重叠 但它们可以彼此相邻 但实际上 我必须考虑到slight多边形重叠 由一定的公差定义 因为所有这些多边形都是从用户手绘输入获得的 这并不像我希望的那样机器精确 我的问题是 是否有任何软件库组
  • 如何将 PostGIS 添加到 PostgreSQL pgAdmin?

    我已经安装了 PostgreSQL 和 pgAdmin 但我想添加一个 PostGIS 服务器 以便我可以处理地理信息系统项目 我正在跟进本教程 http workshops boundlessgeo com postgis intro c
  • postgis如何处理使用不同SRID发送的坐标

    我正在运行 django 应用程序 并且我正在为我的数据库使用 PostGis 扩展 我试图更好地了解发送坐标时幕后发生的情况 特别是因为我正在使用转换为不同 SRID 的不同坐标系 我的问题有三个 在数据库中创建点或多边形时 django
  • 在 SQLAlchemy 中使用 Postgres/PostGIS 视图

    两个问题 我想在我的 PostGIS DB 中生成一个视图 如何将此视图添加到我的 Geometry columns 表中 我必须做什么 才能将视图与 SQLAlchemy 一起使用 SQLAlchemy 的表和视图之间有区别吗 或者我可以
  • 如何使用 Homebrew 将 Postgis 安装到 [email protected] 的 Keg 安装中?

    我已经安装了 电子邮件受保护 cdn cgi l email protection使用 Homebrew 1 2 到我的 OSX El Capitan 机器 不幸的是 在安装 Postgis 并执行 CREATE EXTENSION pos
  • 如何查询5米范围内的所有数据?

    我正在使用 GeoDjango 和 PostGIS 然后我遇到了如何查询我的 postgres db 表以获取 5 米距离内的所有数据的麻烦 UPDATES1我正在使用 GeoDjango 1 2 7 我从这个网址找到了一些东西https
  • 有 F#(或 C#)中的 R 树实现吗? [复制]

    这个问题在这里已经有答案了 可能的重复 是否有任何记录在案的 NET 的免费 R Tree 实现 https stackoverflow com questions 2041834 is there any documented free
  • Leaflet R 大地图的性能问题

    我想知道是否有其他人在使用 R 中的传单包绘制大量标记和多边形时遇到类似的问题 这通常应该是这样的 但是 当我放大 缩小地图时 多边形和标记显然不合适 或者您可以说底图没有正确调整 下面包含一个示例 当我绘制较小的区域或几个标记时 我不会遇
  • Pandas DataFrame:使用 Lambda 函数将 WKT 转换为新列中的 GeoJSON

    我有一些这种格式的数据 Dep Dest geom EDDF KIAD LINESTRING 3 961389 43 583333 3 968056 43 580 其中包含飞行轨迹 geom 列包含 WKT 格式的坐标 可以通过库转换它们g
  • 如何使用共享数据库在 Heroku 上进行 GIS 查询?

    我有一张带有纬度和经度的地理编码位置表 我希望我的数据库查询返回它们的过滤列表 按距固定点的距离排序 我探索过以下几个选项 Postgresql 的 Earthdistance 贡献 http www postgresql org docs
  • PostgreSQL 中列名包含冒号的问题

    我从 OSM 下载了形状数据 我已将数据从 Shapefile 导入到 PostgreSQL 没有任何问题 但在执行 select 语句时出现错误 Select addr city From location Error syntax er
  • SVG中的地理识别位置(GeoLocation/GeoTag)

    我想知道如何对 SVG 地图进行地理标记 我的搜索结果 地理标签以元数据格式提供 例如Exif http www awaresystems be imaging tiff tifftags privateifd gps html XMP h
  • R 从 .CSV 创建 NetCDF

    我正在尝试从 csv 文件创建 NetCDF 我在这里和其他地方读过一些教程 但仍然有一些疑问 我有一个这样的表 lat long time rh temp 41 109 6 1 1 40 107 18 2 2 39 105 6 3 3 4
  • 通过非 sf 列内连接两个 sf 对象

    我尝试使用内连接或左连接连接两个 sf 数据帧 这些数据框内部都有几何列 我不断收到错误 check join x y 中的错误 y 应该是一个数据框 对于空间连接 请使用 st joinFALSE 下面的可重现示例 df1 lt data

随机推荐