GeoServer访问数据文件远程驻留

时间:2015-11-29 08:02:51

标签: curl server geoserver geotiff

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

以下是我的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& #34;" http://107.167.186.125:8080/geoedge/rest/workspaces/geoedge/coveragestores/st_tif_layer_8/file.geotiff"  &#39);

它会创建覆盖范围,但不会在那里创建图层,如果它与安装的geoserver位于同一服务器中,则无法使用IP地址访问我的文件。

1 个答案:

答案 0 :(得分:0)

您尝试做的是可能的,但我认为您的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手册页:

  

如果你用字母@开始数据,其余的应该是a                 用于读取数据的文件名,或者 - 如果要读取curl                 来自stdin的数据。也可以指定多个文件。后                 因此,将完成来自名为“foobar”的文件中的数据                 --data @foobar。当--data被告知从文件中读取时                 那个,回车和新线将被剥离。