Sql server 如何将光栅数据加载到运行postgis的postgres服务器中?使用sql函数或QGIS有哪些选择?

Sql server 如何将光栅数据加载到运行postgis的postgres服务器中?使用sql函数或QGIS有哪些选择?,sql-server,postgresql,postgis,raster,Sql Server,Postgresql,Postgis,Raster,我正在为我的大学农业项目设置一个服务器,以管理来自全州许多实验站的数据。这项工作的一部分是加载和制作生长季节的光栅数据(multispectral.tif文件),供所有教授和研究人员使用。 我不熟悉SQL Server和postgis扩展,但我已经学会了如何创建角色、创建服务器、添加扩展,以及所有这些好东西。 我无法发现的是如何将光栅数据上传到服务器。目前我正在本地主机上测试,但最终需要能够加载到运行Ubuntu的服务器上 我曾尝试使用SQL命令raster2pgsql,但无法执行它。在所有po

我正在为我的大学农业项目设置一个服务器,以管理来自全州许多实验站的数据。这项工作的一部分是加载和制作生长季节的光栅数据(multispectral.tif文件),供所有教授和研究人员使用。 我不熟悉SQL Server和postgis扩展,但我已经学会了如何创建角色、创建服务器、添加扩展,以及所有这些好东西。 我无法发现的是如何将光栅数据上传到服务器。目前我正在本地主机上测试,但最终需要能够加载到运行Ubuntu的服务器上

我曾尝试使用SQL命令raster2pgsql,但无法执行它。在所有postgis发行版中是否都有此功能标准?或者我需要从其他源(自制)重新安装扩展吗

我还尝试通过QGIS插件“全部加载”加载光栅,该插件似乎也无法将光栅(或矢量)数据加载到本地服务器。这是将批量数据加载到服务器的最简单方法,还是不必要


我确信我可能在整个过程中遗漏了一些简单的步骤,因为我对它很陌生,但我感谢您的帮助。

raster2pgsql
几乎就是将光栅文件导入PostGIS的方法

您可以使用它来上传文件目录,尽管有时我更喜欢先使用QGIS的光栅->杂项->合并方法将相关的磁贴缝合在一起,然后将合并的磁贴作为单个
geotif
上传

当您说您无法执行
raster2pgsql
时,我假设您的意思是您在这些方面遇到了错误

bash:raster2pgsql:未找到命令

如果是这样,可能存在两个问题:

1) PostGIS是否安装在本地

2)
raster2pgsql
是否在您的路径上

听起来您已经通过自制在本地安装了PostGIS
raster2pgsql
是标准的(至少在我的经验中是这样),因此问题很可能是bash环境无法解析
raster2pgsql
可执行路径

您可以尝试使用以下内容找到postgres的路径:

brew信息postgres

请注意,我不使用home brew,因此您可能需要稍微修改一下,然后研究结果路径以找到postgres bin目录,该目录可能位于以下位置:

/path/to/homebrew/postgres/Versions/9.6/bin/raster2pgsql

或者,您可以尝试:

sudo find~/-name raster2pgsql

如果您仍然找不到它,请尝试下载并安装mac版postgres应用程序,在这种情况下,您可以在以下位置找到
raster2pgsql

/Applications/Postgres.app/Contents/Versions/9.6/bin/raster2pgsql

如果你使用postgres应用程序,你不必通过该应用程序安装和运行第二个或替代postgres数据库,这只是一种方便的方法,让你掌握
raster2pgsql
可执行文件

找到完整路径后,只需使用完整路径调用
raster2pgsql
命令即可,例如

/Applications/Postgres.app/Contents/Versions/9.6/bin/raster2pgsql…等..


或者将postgres bin目录添加到您的环境
PATH
变量。

为什么要提到Sql Server?raster2pgsql仅适用于postgres。