测试数据
三重目标:
raster2pgsql
将光栅加载到PostGIS并在QGIS中可视化到目前为止,我已经使用< code>raster2pgsql命令将一幅光栅图像导入到PostGIS光栅中,并使用数据库管理器在QGIS中将其可视化:
raster2pgsql -s 4326 -d -I -C -M -R -l 4 D:\Downloads\raster//modis.tif -F -t 100x100 public.ndvi | psql -U postgres -d rastertest -h localhost -p 5432
但是如何从IPython笔记本中访问/查询此光栅?
我找到了这个演示文稿,它是关于SQLALchemy和GeoAlchemy2的。并且提到它也支持PostGIS栅格。好像很有意思!但是使用文档,我看不出如何将其应用于栅格数据
我想我可以使用以下代码连接到我的PostGIS数据库,其中postgres=user
、密码=admin
和数据库=rastertest
:
from sqlalchemy import create_engine
engine = create_engine('postgresql://postgres:admin@localhost/rastertest', echo=True)
但是…任何建议都非常感谢。
您应该使用psycopg模块从python连接到postgres db。一些代码示例:
import psycopg2
def connect_db():
try:
conn = psycopg2.connect("dbname='rastertest' user='admin' host='localhost' password='password'")
conn.set_session(autocommit=True) #if you want your updates to take effect without being in a transaction and requiring a commit, for a beginner, I would set this to True
return conn
except:
print "I am unable to connect to the database"
return None
def get_raster(raster_id,conn):
query= "SELECT ST_AsText(geom) from raster_table where id={}".format(raster_id)
conn.cursor().execute(query)
res = cur.fetchall()
return res[0][0]
也许您可以使用栅格的文本表示。或者,看看这里的http://postgis.net/docs/RT_reference.html,看看是否有任何函数返回您想要的numpy数组,并相应地替换get_raster中的查询。(可能是这个http://postgis.net/docs/RT_ST_DumpValues.html)
我正在尝试查询一组多边形(在运行时传入)中的任何一个是否与存储在数据库中“enclosing_polygons”字段中的一组多边形相交,这是一个 MultiPolygonField。 下面是查询的示例: 这个查询可以很好地处理硬编码的值,但是当我试图参数化它时,Postgres似乎不能识别?当我试图填充多边形点时,将它们作为参数。 当我设置前两个参数(针对field1和field2)时,这些JDB
我一直在玩R中的数据库查询,这些查询是在带有PostGIS扩展的Postgres数据库上执行的。这意味着我使用了一些没有R等价物的PostGIS函数。如果不是因为这个,我可能只是在本地测试数据帧上执行相同的函数,而不是在数据库连接上执行相同的函数,但是由于PostGIS函数,这是不可能的。 是否有一种简单的方法可以在测试数据库中创建测试数据并对其运行查询并评估结果?我有一个R不直接支持的WKB列,
我试图将一个几何体对象存储到我的postgist数据库中,该数据库有一个带有几何体列的表。我从另一个带有几何列的表格中得到了几何值,我打印了我之前得到的值,结果没问题。要存储几何体值,我使用下一个函数: 但我总是得到这个错误: 组织。postgresql。util。PSQLException:无法推断用于org实例的SQL类型。波斯吉斯。指向使用带有显式类型值的setObject()指定要使用的类
在我的AppMapper.xml中,我有一个查询,如: 假设它将返回姓名,地址,年龄,职业,这些都是字符串。我用这个对吗? *我正在询问是使用resultType=String还是使用resultMap“PersonProfileObj” 我的理解正确吗?
我有几个目录,里面都是每日的气候数据。我需要将每日栅格合并为每周栅格,一些是通过值的总和,一些是通过值的平均值。到目前为止,我已经在目录(其中包含每日光栅文件)中创建了一个文件名向量,并为编写了一个
本文向大家介绍如何在临时MongoDB数据库中存储查询输出?,包括了如何在临时MongoDB数据库中存储查询输出?的使用技巧和注意事项,需要的朋友参考一下 为此,在单个查询中,只需使用forEach()并将输出存储在temp db中。首先让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是将查询输出存储在temp db中的查询- 在find(