GeoServer 访问数据文件远程驻留

GeoServer access data file reside remotely

我在我的网络服务器上安装了地理服务器,我想创建一个 GeoTIFF 图层。 我正在通过我的本地机器访问地理服务器,我有 GeoTIFF 文件驻留在我的本地机器上。问题是地理服务器无法识别我指定的文件路径,因此无法为我创建图层。

下面是我的 curl 命令,

exec('curl -u admin:geoserver -v -XPUT -H "Content-type:image/tiff" --data-binary "http://192.168.1.2:82/TrueMarble.32km.1350x675.tif" "http://107.167.186.125:8080/geoedge/rest/workspaces/geoedge/coveragestores/st_tif_layer_8/file.geotiff" ');

它创建覆盖但不在那里创建层,我不能使用 IP 地址访问我的文件,如果它与安装的地理服务器驻留在同一台服务器上。

您的尝试是可行的,但我认为您的 curl 语法有误。我会使用类似的东西:

curl -u admin:geoserver -v -XPUT -H "Content-type:image/tiff" --data-binary @TrueMarble.32km.1350x675.tif "http://107.167.186.125:8080/geoedge/rest/workspaces/geoedge/coveragestores/st_tif_layer_8/file.geotiff"

文件按名称引用(因为它是本地文件),否则 curl 将只发送文件名作为数据。

来自 curl 手册页:

If you start the data with the letter @, the rest should be a file name to read the data from, or - if you want curl to read the data from stdin. Multiple files can also be specified. Post‐ ing data from a file named 'foobar' would thus be done with --data @foobar. When --data is told to read from a file like that, carriage returns and newlines will be stripped out.