问题标签 [geoalchemy2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1661 浏览

python - 如何在 Flask Web 应用程序中使用现有的 PostGIS 数据库

我正在使用 Flask 和我已经创建的 PostGIS 数据库构建一个 Web 应用程序。我正在努力让 Flask-SQLAlchemy 接受我现有数据库的 geom 列。我db在一个init .py 文件中声明:

我的 models.py 文件的代码如下所示:

我得到的错误是:AttributeError: 'SQLAlchemy' object has no attribute 'GeometryColumn'

如果我尝试db.从 geom 行中删除,我会收到此错误:NameError: name 'GeometryColumn' is not defined

因为 Flask-SQLAlchemy 希望您使用 声明一个列db.Column,所以它似乎覆盖了 geoalchemy2。有没有人找到解决方案?

0 投票
0 回答
610 浏览

flask - 烧瓶将shapefile上传到postgis

我正在尝试将 shapefile 上传到 PostGIS。我正在使用 Flask 并从用户那里获取文件(.shp、.shx、.dbf 和 .prj),并在使用 PYSHP python 库访问形状集合之前将它们保存到临时文件中。

我想要做的是组合形状集合中的多边形并将它们与其他一些数据一起作为一条记录添加到数据库中。基本上将多边形合并成一个多多边形。PostGIS 表的相关列定义为:

我不知道如何合并多边形并将它们转换为可以使用 SQLAlchemy 和 GeoAlchemy2 写入 PostGIS 数据库的格式。我们将不胜感激地收到有关如何进行的建议。

我看过 geopandas 和 shapely 但似乎可以找到相关信息

我在用

  • 烧瓶 1.0.2
  • PostgreSQL 9.6
  • SQLAlchmey 1.2.7
  • 地球炼金术2 0.4.2

更新 1。

找到了一个似乎可行的解决方案,但似乎相当混乱。

在使用 shapely 库的 cascaded_union 之前,我遍历 shapefile.Reader 的 shape() 并将每个多边形保存到一个数组中。然后使用 pygeoif 库转换信息保存到 postgis 数据库中。

0 投票
0 回答
1858 浏览

python - (psycopg2.ProgrammingError) 无法适应类型“WKBElement”

我正在尝试将数据从一个数据库表发送到一个单独的数据库和表。为此,我正在使用 sqlalchemy 和 geoalchemy2。这是代码片段。

它返回的错误是:

ProgrammingError:(psycopg2.ProgrammingError)无法适应类型“WKBElement”。

列类型为:几何(srid=4326)

0 投票
1 回答
226 浏览

python - 使用 ORM 在烧瓶 + geoalchemy 中查找 x 英里外的所有用户

我创建了以下 SQL 查询来查找一英里内的所有用户,它似乎工作正常:

但是我想将其转换为烧瓶/sqlalchemy/geoalchemy 查询?

0 投票
2 回答
837 浏览

python - Python中geoalchemy2的spatialite后端

我正在尝试使用geoalchemy2. 根据那个链接似乎是可能的。

我认为我的问题来自自定义引擎。

到目前为止我所拥有的:

当我启动脚本时,我收到以下消息:

知道我该如何解决吗?

0 投票
1 回答
205 浏览

python - 使用 Geoalchemy2 在 PostGis 中存储 WKBElement 会导致经度不正确

我正在开发一个需要能够在 PostGis 数据库中存储一个点的应用程序。我正在使用 GeoAlchemy,它似乎存储了不正确的经度。

我有这段代码来处理添加带有点位置数据的事件的请求。

我使用的模型

当我使用这个测试数据时:

然后str(geom)将等于010100000039622d3e05d4474061a6ed5f595b5dc0,如果我使用这个转换器,我得到POINT(47.65641 -117.42733),这是正确的位置。

但是,当我在数据库中查找该行时,我看到它0101000020E610000039622D3E05D447403EB324404D494FC0存储在位置列中,即POINT(47.65641 -62.57267):一个非常不同的经度。

据我所知,我向 GeoAlchemy2 提供了正确的数据和格式,如果有人能暗示我在这里做错了什么,我将不胜感激。

0 投票
1 回答
257 浏览

python - 如何使用 SQLAlchemy 从 ST_Dump 获取“geom”部分?

我想使用 SQLAlchemy 将以下 SQL 查询转换为 Python 代码。

我取得了部分成功

问题是ST_Dump返回集合而不是单个值,Python 中的这个查询返回带有 apath和的字符串,geometry而我只需要geometry部分。geoalchemy2中的文档ST_Dump根本没有帮助。

0 投票
1 回答
231 浏览

sqlalchemy - geoalchemy 将线串和多线串与 Z 的混合插入到 postgis

我想将 API 中的记录插入我的数据库 postGIS。api 几何以线串和多线串与 Z 值的混合响应。

如何将两种类型混合到同一个几何列中?

一旦我击中一条线串的记录,我就会得到一个数据类型错误。如果我使用几何类型几何然后我几何有 Z 维度但列没有。

这是我的表定义。如何定义一个可以将简单/多行字符串与 Z 值混合的表?

0 投票
1 回答
65 浏览

python - geoalchemy2.shape 是如何定义和导入的?

我的机器上有 geoalchemy2。如果我导入 geoalchemy2 并运行geoalchemy2.shape,我得到:AttributeError: module 'geoalchemy2' has no attribute 'shape'。但是如果我运行geoalchemy2.shape.to_shape(),它可以找到方法......我对 geoalchemy2.shape 的两种用法之间的差异感到困惑。为什么会出现差异?

0 投票
1 回答
1023 浏览

python - 如何将地理列转换为纬度和经度?

我正在使用PostgreSQL,SQLAlchemyGeoAlchemy2库在数据库中存储一些地理空间坐标。

我使用 Python 将数据库中的数据库列定义如下:

我可以通过如下转换来添加地理坐标:

这会将其编码为字符串,例如:0100002076ED....

我的问题是:如何在 python 中将此字符串转换回纬度和经度?