Skip to content

工作区与数据存储

概览

数据与图层管理主要包括如下内容:

  1. 工作区管理;
  2. 数据存储管理;

一、之间的关系

工作区、数据源、图层、图层组以及样式之间的关系如下图所示,可得知:

  • 工作区用于组织、管理和发布地图数据和地图服务。通过合理地使用工作区,可以更好地管理不同类型的地图数据和业务逻辑,提高地图服务的可用性和可维护性。

  • 数据源是地图数据在地理信息系统中的来源,可以是文件、数据库、网络等。数据源可以包含多个图层,每个图层可以代表一个地理要素或空间数据集。数据源必须属于某个工作区

  • 图层是将数据源发布成地图服务,因此图层也必须属于某个工作区

  • 图层组是将多个图层或图层组组合在一起,形成一个逻辑上的图层。由于图层或图层组属于不同的工作区,所以图层组可不属于工作区。

  • 样式是图层的样式定义,用于控制图层的显示效果,如颜色、透明度、线型、填充样式等,同一个样式可以被不同的图层引用,所以样式也可不属于工作区。

二、登录后界面

数据与图层的管理需要登录后菜单才可见。成功登录后的界面如下图所示:

  • 左侧为功能菜单区域
  • 中间为主操作区域
  • 右侧在欢迎页展示了Geoserver支持的服务能力。

三、工作区管理

1. 工作区列表

点击左侧功能菜单数据——>工作区进入工作区管理界面,如下图所示。界面中,展示了已经创建的工作区的列表和工作的操作(添加和删除工作区)。工作区列表展示了工作区名称、是否默认、是否隔离三列信息。

2. 创建工作区

点击添加新的工作区链接,切换到创建工作区界面,如下图所示。工作区的属性包括:

  • 名称:工作区的名称,必填项。
  • 命名空间URI:命名空间URI与这个工作区关联;
  • 是否默认:是否将这个工作区设置为默认工作区,默认工作区只能有一个。
  • 是否隔离:是否将这个工作区设置为隔离工作区,隔离工作区不能被其他工作区访问。

3. 编辑工作区

点击工作区名称列链接,切换到编辑工作区界面,如下图所示。跟创建工作区有区别的是在编辑界面多了“是否启用”和“服务”两个选项。

  • 是否启用:是否启用这个工作区,默认启用。
  • 服务:这个工作区可发布的地图类型,如不选则表示所有,如选择部分,则表示只生效选中的类型。

4. 删除工作区

在工作区列表中选中工作区,点击删除选定的工作区链接,弹出确认框,确认删除即可。

四、数据存储管理

1. 数据存储列表

点击左侧功能菜单数据——>数据存储进入“数据存储”管理界面,如下图所示。界面中,展示了已经添加的数据存储的列表和工作的操作(添加和删除数据存储)。“数据存储”列表展示了数据类型、工作区、名称、类型、是否启用几列信息。数据类型和类型的区别是,数据类型是指数据是栅格数据还是矢量数据,类型是指数据存储的类型,如文件、数据库等。

2. 添加/编辑数据数据存储

数据存储和编辑的界面是一样的。点击添加新的数据存储链接,切换到添加数据存储界面,如下图所示。在该界面中可以看到Geoserver支持的数据类型有哪些,在界面中列出的数据类型列表中,有些是默认支持的,如 Directory of spatial files (shapefiles) GeoTIFF,有些是扩展支持的,如GeoPackageMogonDB。如下是对这些数据类型的说明:

  • 矢量数据源
    • Directory of spatial files (shapefiles): 将含shp文件的文件夹作为数据源

    • GeoPackage: 将Geopackage文件作为数据源

    • PostGIS: 将PG数据库作为数据源

    • PostGIS(JNDI): 将PG数据库(JNDI)作为数据源,JDNI数据源连接池会保持多个数据库连接,当GeoServer需要访问数据库的数据时,直接从连接池获取空闲数据库连接,访问完毕,则会把数据库连接放回至连接池供下次使用。与直接使用JDBC去访问数据库相比,会节省大量的时间和资源,这对于GeoServer性能会有很好的提升

    • Properties: 直接使用Properties文件作为数据源

    • Shapefile: 将shp文件作为数据源

    • Web Feature Server (NG): 将WFS服务作为数据源

  • 栅格数据源
    • ArcGrid: 将ARCGRID作为数据源

    • GeoPackage (mosaic): 将Geopackage文件作为数据源

    • GeoTIFF: 将GeoTIFF文件作为数据源

    • ImageMosaic: 将一个目录下包含多个tif文件的文件夹作为数据源,当作为镶嵌栅格数据源时,会根据该目录下所有tif文件生成一个索引shp文件,在调用时拼接成一个图像。

    • WorldImage: 将WorldImage作为数据源

  • 其他数据源
    • WMS: 代理WMS服务
    • WMTS: 代理WMTS服务

新建完数据存储后,会自动跳转到新建图层页面,图层的新建可参考后面的章节。下面对各种数据存储的添加分别做以说明。

1)Directory of spatial files (shapefiles)

通过shp文件目录创建数据存储的配置项如下图所示,包括:

  • 基本信息
    • 工作区
    • 数据源名称
    • 说明
    • 是否启用
  • 连接参数
    • shp的文件目录,为file://${目录路径},目录路径可为相对路径,也可为绝对路径
    • dbf文件的字符集,因为大多是shp文件是Arcmap生成的,稍低版本的Arcmap的dbf字符集为GBK,因此在使用的时候需要针对数据的字符集进行设置
    • 如果缺少空间索引或者空间索引过时,重新建立空间索引
    • 是否使用内存映射的缓冲区,内存映射的缓冲区可以提高读取效率,但会占用更多的内存,如果内存不足,可以考虑关闭该选项
    • 是否开启高速缓存和重用内存映射
    • 是否跳过可选的shp扩展

2)Shapefile

通过shp文件创建数据存储的配置项如下图所示,包括:

  • 存储库的基本信息
    • 工作区
    • 数据源名称
    • 说明
    • 是否启用
  • 连接参数
    • shp文件的位置,为file://${文件路径}.shp,文件路径可为相对路径,也可为绝对路径
    • dbf文件的字符集,因为大多是shp文件是Arcmap生成的,稍低版本的Arcmap的dbf字符集为GBK,因此在使用的时候需要针对数据的字符集进行设置
    • 如果缺少空间索引或者空间索引过时,重新建立空间索引
    • 是否使用内存映射的缓冲区,内存映射的缓冲区可以提高读取效率,但会占用更多的内存,如果内存不足,可以考虑关闭该选项
    • 是否开启高速缓存和重用内存映射

3)PostGIS

通过PostGIS数据库创建数据存储的配置项如下图所示,包括:

  • 存储库的基本信息
    • 工作区
    • 数据源名称
    • 说明
    • 是否启用
  • 连接参数,如下为常用的参数及说明
    • host
    • port,默认为5432
    • database
    • user
    • password
    • scheme,模式,一般为public
    • max connections,默认为10
    • min connections,默认为1
    • Connection timeout,默认为20

4) PostGIS(JNDI)

使用PostGIS(JNDI)作为数据源,需要先将PostgreSQL驱动程序jar包放到Tomcat的lib目录下面,再编写JDNI资源配置内容,编辑Tomcat的conf目录下context.xml文件,在Context元素下添加一个Resource元素,具体内容如下:

xml
<Resource name="jndi/sampledb"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="org.postgresql.Driver"
    url="jdbc:postgresql://localhost:5432/lzugis"
    username="postgres" password="xxxx"
    maxActive="20"
    initialSize="0"
    minIdle="0"
    maxIdle="8"
    maxWait="10000"
    timeBetweenEvictionRunsMillis="30000"
    minEvictableIdleTimeMillis="60000"
    testWhileIdle="true"
    validationQuery="SELECT version();"
    maxAge="600000"
    rollbackOnReturn="true"
/>

在Geoserver中添加PostGIS(JNDI)数据存储的配置项如下图所示,配置项说明如下:

  • 存储库的基本信息
    • 工作区
    • 数据源名称
    • 说明
    • 是否启用
  • 连接参数,如下为常用的参数及说明
    • dbtype,默认为postgis
    • jndiReferenceName,这里填入java:comp/env/XXXXXX是上面编辑context.xml文件,为Resource元素设置的name属性,在上面的例子中即jndi/sampledb
    • scheme,模式,一般为public

5) Properties

properties文件是一个后缀为properties的文件,其内容格式示例如下,空间字段的定义是{字段名}:Geometry:srid={投影},值为wkt

txt
_=id:Integer,name:String,country:String,geom:Geometry:srid=4326
places.1=1|Rome|Italy|POINT(12.492 41.890)
places.2=2|Grand Canyon|Usa|POINT(-112.122 36.055)

properties文件创建数据存储的界面如下,配置参数除了存储库的基本信息之外,连接参数为文件的目录。

6) Tiff

tif文件创建数据存储的界面如下,配置参数除了存储库的基本信息之外,连接参数为文件的路径。

7) ImageMosaic

创建ImageMosaic数据存储的界面如下,配置参数除了存储库的基本信息之外,连接参数为文件夹的路径,创建完数据存储后会自动创建一个shp文件,当有新的tif文件添加到文件夹时,会自动更新shp文件。

3. 删除数据数据存储

在“数据存储”列表中选中“数据存储”,点击删除选定的数据存储链接,弹出确认框,确认删除即可。