问题标签 [geoalchemy]
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 - SQLAlchemy \ GeoAlchemy 支持 PostGIS 几何数据类型
在 ORM 中,我希望能够做到这一点:
相反,我看到访问我的湖点的唯一方法是通过一个相当复杂的代码怪物:
虽然这个循环让我得到了我想要的坐标,但我不知道如何实现一些返回这个实例的海岸的 Lake.get_coast()。
我也放弃了对带有 MULTIPOLYGONs 的 ""Lake""s 实施相同的方法,因为嵌套到要点对于 postgis 来说太多了(至少我是这样阅读错误消息的)
我是 postgis、gis、python 和 sqla 的新手,但在两天的谷歌搜索中,我在 SQL-Alchemy 2 中找不到任何看起来像 ORM 的东西,但只有一些 SQL 辅助函数(postgis)来解析 WKB,但只能在数据库。我需要一些额外的框架吗?我看到了 gdal、ogr、fiona,但我觉得看错了方向。是否有一些使用结构良好的 SQL-Alchemy2 的开源项目?实体、DAO 等等?除了这个极简主义的例子,你如何实际使用这个怪物?
postgresql - 如何在 SQLAlchemy 中使用复合数据类型(例如 geomval)?
我正在尝试使用 SQLAlchemy(0.8)/GeoAlchemy2(0.2.1) 复制嵌套的原始 PostGreSQL/PostGIS 栅格查询,但不知道如何访问geomval数据类型的组件。它是一种返回“geom”和“val”的复合数据类型。
这是有效的原始查询:
我目前正在使用的 SQLAlchemy 查询:
然后我想在子查询中访问它,如下所示:
但是这种语法不起作用,或者我不会发布这个问题;)。有人有想法吗?谢谢!
python - GeoAlchemy2 存储点和查询结果
GeoAlchemy2 上的文档似乎并不完整(与以前的版本相比)。
我有一个模型:
我想存储经纬度数据,我试图将其保存在上述模型中,例如
这给了我错误:
任何人都能够阐明我在这里出错的地方吗?
同样在这个主题上,我将如何进行查询说..
显示最近的 20 个用户:
就像是?
python - GeoAlchemy pg_function.geojson 不能用 json.loads 解码
鉴于此功能:
features
是 SQLAlchemy 对象的列表
template
只是一个字典,表示向用户显示内容的模板
我想返回一个如下所示的 GeoJSON FeatureCollection:
我可以把它打印出来:
但我最终得到的是一个错误,内容如下:
我尝试使用更改类型,str()
但这只会导致:
我用 GeoAlchemy (pg_functions.geojson) 和 GeoAlchemy2 (ST_AsGeoJSON) 都试过了,结果相同。我知道我很接近,但由于某种原因,我没有正确传递标量或其他东西。
任何人都知道我做错了什么?
python - 如何在 SqlAlchemy 和 GeoAlchemy2 中创建 viewonly 字段?
我正在尝试使用 SqlAlchemy 0.8.4 和 GeoAlchemy2 0.2.2 动态填充字段。目标是在从数据库中读取设施时根据设施的位置将区域分配给设施。代码如下所示:
但这给了我以下错误:
ArgumentError:在关系 Facility.district 上找不到主连接条件“ST_Contains(districts.geog, facility.geog)”的任何相关外键列。确保引用列与 ForeignKey 或 ForeignKeyConstraint 相关联,或者在连接条件中使用 foreign() 注释进行注释
我真的很想避免这些类之间的外键关系,因为地区在不断变化,但想获得一个具有地区集的设施,而无需再次查询数据库。
我应该如何解决这个问题?
python - Geoalchemy2 query all users within X meteres
I have an app that takes an address string, sends it to Google Maps API and gets lat/long co-ordinates, I then want to show the all users within X meteres of this point (there lat/long is stored in my database), I then want to filter the result to only show users with certain pets
So first off, I have my Models
I get my lat/long from Google API and store it in my database, so from the address string "London England" I get
this stores in my database like:
Now that all works fine, now reading the Geoalchemy2 docs I cant seem to find an exmaple query to resolve my problem.
What I want to pass is another set of lat/long co-ordinates to Geoalchemy2 and then return the nearest say 10 users. Whilst querying this I will also filter only users that have certain pets (this isn't essential for my query to work, but I wanted to show what the query will actually do in its entirety).
I don't really like to answer a question without providing a sample query, but I really don't know what functions I should be using to achieve my required result.
I am guessing I will need to use "ST_DWithin" or "ST_DFullyWithin" but I cannot find a full example of either function. Thank's.
So I know have a working query
Which generates the following SQL
Now this always returns all my users, regardless of the distance variable, so I am guessing something is not quite, right, but I cannot work out why.
python - GeoAlchemy2:找到一组不与单独集合相交的几何项目
我有一个名为 postgis 的数据库表,它使用 geoalchemy2/sqlalchemytasks
映射到一个 python 类- 每个条目都有一个 MultiPolygon和一个整数。总的来说,我的数据库中的条目涵盖了一个地理区域。我想选择一个 state=0 的随机条目,它在地理上与 state=1 的任何条目都不相邻。Task
geometry
state
这是选择 state=0 的随机条目的代码:
到目前为止,一切都很好。但是现在,如何确保它们不与另一组条目相邻呢?
Geoalchemy 有一个功能ST_Union可以统一几何,ST_Disjoint可以检测它们是否相交。所以看来我应该能够选择 state=1 的项目,将它们合并成一个几何图形,然后过滤掉我的原始查询(上图),只保留与其不相交的项目。但我找不到在地球炼金术中表达这一点的方法。这是我尝试的一种方法:
它会产生如下错误:
postgresql - 如何从 IPython Notebook 中查询存储的 PostGIS Raster 数据
测试数据
- 1 个 TIF 文件(159KB)
目标三重:
raster2pgsql
使用QGIS将栅格加载到 PostGIS 中并在其中进行可视化- 在我的 IPython Notebook 中连接到 PostGIS 并将栅格加载到 NumPy 数组中
- 在我的 IPyhton Notebook 中,使用 Pandas 加载一个像素的时间序列,其中存储在 PostGIS 中的不同时间步长
到目前为止,我已经设法使用raster2pgsql
命令将一张光栅图像放入 PostGIS Raster 中,并使用 DB Manager 在 QGIS 中将其可视化:
但是如何从 IPython Notebook 中访问/查询这个栅格呢?
我找到了这个关于 SQLALchemy 和 GeoAlchemy2 的演示文稿。并且提到它也支持 PostGIS Raster。这似乎很有趣!但是使用文档我看不到如何将其应用于栅格数据
我想我可以使用以下代码 where 和 连接到我的postgres=user
PostGISpassword=admin
数据库database=rastertest
:
但是然后..任何建议都非常感谢。
python - 几何场 (LON/LAT) 的 AdminModelConvertor
我想为 Flask-Admin 创建一个视图以在几何字段中输入坐标。如何创建两个文本字段并将它们转换为几何对象?
这是我迄今为止尝试过的(除了不可数的其他事情)
POI 对象如下所示:
非常感谢你的帮助!
postgresql - 如何为点几何创建地球炼金术表达式?
我有一张经纬度的表,我不想存储几何图形。相反,我存储纬度和经度。
如何使用位置表达式创建基于点的查询?基本上它应该返回点。应该将其转换为 SQL 表达式,如“.....ST_Point(home.latitude, home.longitude).....”
geoalchemy 中没有 func.ST_Point 吗?还是我错过了什么?如果我不写表达式显然我得到
代码:
我正在使用 sqlalchemy、Geoalchmey2 和 postgis、postgres、金字塔。