You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下用geoserver-restconfig创建Coverage Store报错500,求解决

问题:使用geoserver-restconfig创建Coverage Store失败

环境信息

  • 操作系统:Ubuntu 22.04.2 LTS
  • Python版本:3.10.6
  • 使用工具包:geoserver-restconfig

代码示例

from geoserver.catalog import Catalog
cat = Catalog(service_url='http://localhost:8080/geoserver/rest',
              username='FAKE_USERNAME',
              password='FAKE_PASSWORD')

# 创建工作区
cat.create_workspace(name='demo', uri='http://demo')

# 创建Coverage Store
path = 'indicators/coolingdd/rcp_2_6/ensemble/coolingdd_rcp26_multi-model-mean_-_-_20210101-20301230.tiff'
cat.create_coveragestore(name='NAME',
                         workspace='demo',
                         path=path,
                         type='GeoTIFF',
                         create_layer=True,
                         layer_name='TITLE',
                         upload_data=False)

说明:indicators目录与Python脚本在同一运行目录下

报错信息

Traceback (most recent call last):
  File "/home/iliamous/PycharmProjects/winbank-esg-risk-gis-platform/scratch_work.py", line 767, in <module>
    cat.create_coveragestore(name='NAME',
  File "/home/iliamous/.local/lib/python3.10/site-packages/geoserver/catalog.py", line 617, in create_coveragestore
    raise FailedRequestError('Failed to create coverage/layer {} for : {}, {}'.format(layer_name, name,
geoserver.catalog.FailedRequestError: Failed to create coverage/layer TITLE for : NAME, 500

排查过程

更新1

已将GeoServer全局设置中的日志级别改为developer,但仍出现相同错误。

更新2

查看GeoServer日志文件,发现核心错误:

06 Mar 11:25:48 WARN   [gce.geotiff] - File /var/lib/tomcat9/webapps/geoserver/data/indicators/coolingdd/rcp_2_6/ensemble/coolingdd_rcp26_multi-model-mean_-_-_20210101-20301230.tiff does not exist.
org.geotools.data.DataSourceException: File /var/lib/tomcat9/webapps/geoserver/data/indicators/coolingdd/rcp_2_6/ensemble/coolingdd_rcp26_multi-model-mean_-_-_20210101-20301230.tiff does not exist.

结论

原本误以为create_coveragestore函数会自动将本地TIFF文件上传至GeoServer,但从日志可以看出,该函数会直接到GeoServer的数据目录(/var/lib/tomcat9/webapps/geoserver/data/)查找指定路径的文件。因此正确流程是:先将TIFF文件上传到GeoServer数据目录的对应路径下,再调用create_coveragestore并填写数据目录下的相对路径。

内容的提问来源于stack exchange,提问作者CoolMathematician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 22:35:08