我在我的网络服务器上安装了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地址访问我的文件。
答案 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被告知从文件中读取时 那个,回车和新线将被剥离。