我在Linux上。我正在使用postgresql-geoserver-openlayers。我想用GeoServer显示shapefile。我将其存储在Postgresql中,并在Geoserver上导入表。 shapefile的大小为2.2GB。当我想用Openlayers查看器(在Geoserver上)显示shapefile时,我有一个白色的屏幕,并且此错误是日志:
错误[geoserver.ows] org.geoserver.platform.ServiceException:呈现过程失败...。由以下原因引起:java.lang.RuntimeException:org.postgresql.util.PSQLException:错误:无法写入tuplestore临时文件:设备上没有剩余空间,其中:SQL函数“ st_force_2d”语句2
我在这里看到:https://docs.geoserver.org/stable/en/user/services/wfs/outputformats.html,这是shapefile的限制大小为2GB,但是我们可以通过更改系统变量GS_SHP_MAX_SIZE来修改此限制。我怎样才能做到这一点 ?我检查了Internet,但找不到解决方法。
在您提到的链接中说:
可以通过将GS_SHP_MAX_SIZE和GS_DBF_MAX_SIZE系统变量设置为其他值来修改这些限制。
所以我认为它类似于GEOSERVER_DATA_DIR
配置。
对于二进制文件安装:您应该更改OS系统变量。我不确定,但是命令是这样的:
$ export GS_SHP_MAX_SIZE=Limit of .shp size in bytes
$ export GS_SHP_MAX_SIZE=3000000000
如果不起作用,请在Linux发行版中搜索更改系统变量。>
用于Web存档安装
:您应该更改Web服务器或GeoServer的配置。有2种方法:web.xml
文件夹中查找和编辑WEB-INF
。然后在根元素(<web-app>
标签)处添加此上下文参数<context-param>
<param-name>GS_SHP_MAX_SIZE</param-name>
<param-value>Limit of .shp size in bytes</param-value>
</context-param>
CATALINA_OPTS="-GS_SHP_MAX_SIZE=Limit of .shp size in bytes"
`enter code here`CATALINA_OPTS="-GS_SHP_MAX_SIZE=3000000000"