【发布时间】:2014-04-15 22:49:52
【问题描述】:
测试数据
- 1 TIF file (159KB)
三重目标:
- 使用
raster2pgsql将栅格加载到 PostGIS 并在 QGIS 中可视化 - 在我的 IPython Notebook 中连接到 PostGIS 并将栅格加载到 NumPy 数组中
- 在我的 IPyhton Notebook 中,使用 Pandas 加载存储在 PostGIS 中的具有不同时间步长的一个像素栅格的时间序列
到目前为止的过程
我已经设法使用raster2pgsql 命令将一张光栅图像放入 PostGIS Raster,并使用 DB Manager 在 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 Notebook 中访问/查询这个栅格呢?
我发现了这个presentation,它是关于 SQLALchemy 和 GeoAlchemy2 的。并且提到它也支持 PostGIS Raster。这似乎很有趣!但是使用documentation 我不知道如何将其应用于栅格数据
我想我可以使用以下代码连接到我的 PostGIS 数据库,其中 postgres=user、password=admin 和 database=rastertest:
from sqlalchemy import create_engine
engine = create_engine('postgresql://postgres:admin@localhost/rastertest', echo=True)
但是.. 非常感谢任何建议。
【问题讨论】:
-
我不熟悉 PostGIS,但如果最终它只是普通的旧 SQL,您可能想尝试
ipython-sql(pypi.python.org/pypi/ipython-sql),它允许您连接到数据库并编写在 IPython notebook 中使用 %sql 和 %%sql 魔法查询,完全避免 ORM 路由。 -
您想在 ipython 笔记本中可视化栅格吗?
标签: postgresql pandas sqlalchemy postgis geoalchemy