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.
我在我的网络服务器上安装了地理服务器,我想创建一个 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.