如何更改 Geoserver 中的系统变量
How to change the system variable in Geoserver
我正在 Linux.I 使用 postgresql - geoserver - openlayers。
我想用 GeoServer 显示一个 shapefile。我将它存储在 Postgresql 中并在 Geoserver 上导入 table。 shapefile 的大小为 2.2GB。
当我想用 Openlayers 查看器(在 Geoserver 上)显示我的 shapefile 时,我有一个白屏,这个错误是日志:
错误 [geoserver.ows] org.geoserver.platform.ServiceException:渲染过程失败....
原因:java.lang.RuntimeException:org.postgresql.util.PSQLException:错误:无法写入 tuplestore 临时文件:设备上没有留下 space,其中:SQL 函数 "st_force_2d" 语句 2
我在这里看到:https://docs.geoserver.org/stable/en/user/services/wfs/outputformats.html,shapefile 的大小限制为 2GB,但我们可以通过更改系统变量 GS_SHP_MAX_SIZE 来修改此限制。
我怎样才能做到这一点 ?我在网上查过,但找不到解决办法。
在你提到的 link 中说:
it’s possible to modify those limits by setting the GS_SHP_MAX_SIZE and GS_DBF_MAX_SIZE system variables to a different value.
所以我认为它类似于 GEOSERVER_DATA_DIR
配置。
对于二进制文件安装:您应该更改OS 系统变量。我不确定,但是命令是这样的:
$ export GS_SHP_MAX_SIZE=Limit of .shp size in bytes
$ export GS_SHP_MAX_SIZE=3000000000
如果它不起作用,请在您的 Linux 分区中搜索更改系统变量。
对于网络存档安装:您应该更改网络服务器或地理服务器配置。有两种方法:
- 上下文参数:在
WEB-INF
文件夹中查找并编辑 web.xml
。然后在根元素(<web-app>
标记) 处添加此上下文参数
<context-param>
<param-name>GS_SHP_MAX_SIZE</param-name>
<param-value>Limit of .shp size in bytes</param-value>
</context-param>
- Java system 属性: 除了你应该为网络服务器添加系统变量外,它与二进制文件安装非常相似。如果您使用 tomcat,请将其添加到您的系统变量中。
$ export CATALINA_OPTS="-GS_SHP_MAX_SIZE=Limit of .shp size in bytes"
$ export CATALINA_OPTS="-GS_SHP_MAX_SIZE=3000000000"
换java系统要小心属性!它会影响整个 Apache tomcat,并可能导致安装的其他 Web 应用出现问题。
我正在 Linux.I 使用 postgresql - geoserver - openlayers。 我想用 GeoServer 显示一个 shapefile。我将它存储在 Postgresql 中并在 Geoserver 上导入 table。 shapefile 的大小为 2.2GB。 当我想用 Openlayers 查看器(在 Geoserver 上)显示我的 shapefile 时,我有一个白屏,这个错误是日志:
错误 [geoserver.ows] org.geoserver.platform.ServiceException:渲染过程失败.... 原因:java.lang.RuntimeException:org.postgresql.util.PSQLException:错误:无法写入 tuplestore 临时文件:设备上没有留下 space,其中:SQL 函数 "st_force_2d" 语句 2
我在这里看到:https://docs.geoserver.org/stable/en/user/services/wfs/outputformats.html,shapefile 的大小限制为 2GB,但我们可以通过更改系统变量 GS_SHP_MAX_SIZE 来修改此限制。 我怎样才能做到这一点 ?我在网上查过,但找不到解决办法。
在你提到的 link 中说:
it’s possible to modify those limits by setting the GS_SHP_MAX_SIZE and GS_DBF_MAX_SIZE system variables to a different value.
所以我认为它类似于 GEOSERVER_DATA_DIR
配置。
对于二进制文件安装:您应该更改OS 系统变量。我不确定,但是命令是这样的:
$ export GS_SHP_MAX_SIZE=Limit of .shp size in bytes
$ export GS_SHP_MAX_SIZE=3000000000
如果它不起作用,请在您的 Linux 分区中搜索更改系统变量。
对于网络存档安装:您应该更改网络服务器或地理服务器配置。有两种方法:
- 上下文参数:在
WEB-INF
文件夹中查找并编辑web.xml
。然后在根元素(<web-app>
标记) 处添加此上下文参数
<context-param>
<param-name>GS_SHP_MAX_SIZE</param-name>
<param-value>Limit of .shp size in bytes</param-value>
</context-param>
- Java system 属性: 除了你应该为网络服务器添加系统变量外,它与二进制文件安装非常相似。如果您使用 tomcat,请将其添加到您的系统变量中。
$ export CATALINA_OPTS="-GS_SHP_MAX_SIZE=Limit of .shp size in bytes"
$ export CATALINA_OPTS="-GS_SHP_MAX_SIZE=3000000000"
换java系统要小心属性!它会影响整个 Apache tomcat,并可能导致安装的其他 Web 应用出现问题。