问题标签 [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.
python - Flask Alembic 迁移错误与 geoalchemy2 - 无效的几何类型
我正在尝试实施 Flask-Migrate 来帮助管理迁移,但是在尝试制作迁移脚本时出现错误:“geoalchemy2.exc.ArgumentError: invalid geometry_type 'POINTZ' for dimension 2”。
我有一个 Flask 项目,并且正在使用 geoalchemy2 与 PostGIS 数据库交互。该数据库有一些带有 PolygonZ 和 PointZ 几何形状的表(维度 = 3)。通过命令行使用 Flask-Migrate 的初始迁移工作正常并生成了迁移脚本(然后对其进行了调整以开始工作)。
具有 3D 几何的模型定义如下:
迁移是使用 Flask Migrate 命令在命令行上完成的。
在没有编写脚本的情况下失败并产生此 geoalchemy2 错误
我也尝试过 Flask-Alembic,它最后给了我同样的 geoalchemy2 错误,所以我认为这与 Alembic 如何查看几何列有关。只是不确定是什么。
任何意见,将不胜感激。谢谢
python - 是否有 Microsoft SQL Server 地理/几何类型的示例 SQLAlchemy UserDefinedType?
如何创建允许我插入到 SQL Server 上的 Geography 数据类型的 SQLAlchemy UserDefinedType?
我正在使用 Python 3.6 和Pandas to_sql写入一个 SQL Server 表,该表将具有一个地理数据类型的列。我正在使用SQLAlchemy.create_engine使用 DRIVER={ODBC Driver 13 for SQL Server} 创建与 SQLExpress 的数据库连接。我将多边形存储在 GeoPandas 数据框中。
SQLAlchemy 1.3.10不直接提供对 Geography 或 Geometry 数据类型的支持;而且,GeoAlchemy2不支持 MS SQL Server。我一直在尝试使用 SQLAlchemy 的UserDefinedType来查看是否可以得到以下结果:
到目前为止,我有:
我被这个结果困住了(注意整个事情的引号。:
我知道这会起作用的是SQL:
使用 pandas.DataFrame.to_sql 会导致错误:
我假设错误是由于周围的引号导致字符串,而不是传递给 SQL 的函数。
我曾尝试在 bind_processor 返回字符串上使用 sqlalchemy.sql.expression.text ,但出现此错误:
我看过 sqlalchemy.sql.expression.func; 但是,我不知道如何将它与复杂的GEOGRAPHY::STGeomFromText方法一起使用。
我的假设可能不正确,因为这将在 SQL 中起作用:
并简单地使用:
会导致这个错误,即使参数看起来是正确的。它仍然得到相同的操作数类型冲突错误:
这是一个完整的例子:
我希望看到在 SQLAlchemy 或 GeoAlchemy 中直接支持 MS SQL Server 的地理和几何。
python-3.x - Geoalchemy2 在给定坐标内找到一定距离内的位置
我有一个烧瓶应用程序,它首先从 Google Maps API 获取位置,并试图在我拥有的数据库中找到 1500 米内更接近它的位置。
这是我的场所模型。
我有这个查询来查找在提交地点附近lng
且lat
在 1500 米内的条目。
我得到的是更接近该地点的单点,但它不在 1500 米的限制范围内。我得到与.filter()
删除相同的结果。
sqlalchemy - 多边形包含点 - 使用 GeoAlchemy
我正在尝试使用 GeoAlchemy 查询 PostGIS 表以返回该点所在的行。我有一点,我正在使用来自自然地球的时区 shapefile 。我已经尝试了以下方法,但它只返回查询而不是行项。
它返回以下内容:
看起来这是正确的陈述,我就是无法得到结果!
json - 使用 Flask + GeoAlchemy2 应用程序返回有效的 GeoJSON
几天以来,我想知道如何让我的 Flask 应用程序返回有效的 GeoJSON,这是我目前得到的:
models.py
现在在主文件中,我有以下路由:
app.py
这是我的两个问题:
1) 返回类似于 JSON 的响应,如下所示:
"{\"type\":\"MultiPolygon\",\"coordinates\":[[[[16.8933137,52.471446],...,]]]}"
不是正确的 GeoJSON。jsonify 之前的特征变量看起来是这样的:
[('{"type":"MultiPolygon","coordinates":[[[[16.914159616,52.473822807],...,]]]}',)]
2) 我的 GeoAlchemy 查询应该是什么样子,不仅返回几何字段,还返回其他字段?
任何形式的提示或帮助高度赞赏,在此先感谢!
python - Alembic 为 Geometry 列生成任意类型更改
我正在开发一个使用 SQLite 作为数据库和 Alembic 作为数据库迁移工具的项目。它包括空间数据,因此也包括空间扩展,geoalchemy2
并包含在项目中。我正在使用autogenerate
命令,它检测到几何列中不存在的一些更改。
这是项目的简化结构:
Alembic的env.py
如下:
创建几何表的第一个迁移脚本:
运行此迁移脚本后,表已正确创建:
当我再次运行autogenerate
命令时,它应该没有发现任何变化。但是,它会生成一个具有任意类型更改的迁移脚本:
我知道我可能会设置compare_type
参数,False
但我想自动检测类型更改。有什么方法可以告诉 Alembicgeometry
列的类型是Geometry
并且完全没有变化?
postgresql - 在子查询 sqlalchemy + geoalchemy2 ORM 中从外部查询引用同一个表
我正在尝试将查询转换为 sqlalchemy 和 geoalchemy2 中的相等 orm 语句。我正在努力如何将 p1.geom 的引用获取到 not exists 子句中的子查询中。
我已经尝试了一些,但我得到的最接近的是这样的:
我从中得到了什么:
有什么可以帮助的想法吗?
sqlalchemy - 在 GeoAlchemy 和 PostGIS 中查找最近的位置
我正在尝试做一个简单的查询,在其中找到离用户最近的位置(在我的示例中,我使用的是机场)。数据库记录如下所示:
我的数据库查询如下所示:
不幸的是,我的函数不断返回空列表。我对 GeoAlchemy 不是很熟悉,因为这是我第一次使用它。任何帮助将不胜感激。
谢谢。
postgresql - 使用 PostGIS 将点插入到 Postgress 中的几何(点)类型列中时出错
我需要在Column(Geometry(geometry_type='POINT', srid=4326))
. 我不知道如何实现srid=4326
点数据POINT(58.183594 22.593726)
。我搜索了它。我仍然无法解决这个问题!
错误:
FastAPI 路由:
pydantic (schemas.py):
sqlalchemy,geoalchemy2 (tables.py):
crud.py
python - asyncpg 异常 DataError 查询参数的输入无效
我的模型
我的观点
当被问及我得到错误
我想使用 sqlalchemy 编写查询。但是,我在使用 Geometry 字段时遇到了问题。我尝试使用模块重复此func
查询sqlalchemy
。即使有了它,我也会收到此错误。