首页 文章

GeoServer访问数据文件远程驻留

提问于
浏览
0

我在我的Web服务器上安装了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 " " http://107.167.186.125:8080/geoedge/rest/workspaces/geoedge/coveragestores/st_tif_layer_8/file.geotiff”');

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

1 回答

  • 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手册页:

    如果使用字母@开始数据,则其余部分应该是用于读取数据的文件名,或者 - 如果您希望curl从stdin读取数据 . 也可以指定多个文件 . 因此,可以使用--data @foobar从名为'foobar'的文件中发布数据 . 当--data被告知从这样的文件中读取时,回车符和换行符将被删除 .

相关问题