工作区与数据存储
概览
数据与图层管理主要包括如下内容:
- 工作区管理;
- 数据存储管理;
一、之间的关系
工作区、数据源、图层、图层组以及样式之间的关系如下图所示,可得知:
工作区用于组织、管理和发布地图数据和地图服务。通过合理地使用工作区,可以更好地管理不同类型的地图数据和业务逻辑,提高地图服务的可用性和可维护性。
数据源是地图数据在地理信息系统中的来源,可以是文件、数据库、网络等。数据源可以包含多个图层,每个图层可以代表一个地理要素或空间数据集。数据源必须属于某个工作区。
图层是将数据源发布成地图服务,因此图层也必须属于某个工作区。
图层组是将多个图层或图层组组合在一起,形成一个逻辑上的图层。由于图层或图层组属于不同的工作区,所以图层组可不属于工作区。
样式是图层的样式定义,用于控制图层的显示效果,如颜色、透明度、线型、填充样式等,同一个样式可以被不同的图层引用,所以样式也可不属于工作区。
二、登录后界面
数据与图层的管理需要登录后菜单才可见。成功登录后的界面如下图所示:
- 左侧为功能菜单区域
- 中间为主操作区域
- 右侧在欢迎页展示了Geoserver支持的服务能力。
三、工作区管理
1. 工作区列表
点击左侧功能菜单数据——>工作区
进入工作区管理界面,如下图所示。界面中,展示了已经创建的工作区的列表和工作的操作(添加和删除工作区)。工作区列表展示了工作区名称、是否默认、是否隔离三列信息。
2. 创建工作区
点击添加新的工作区
链接,切换到创建工作区界面,如下图所示。工作区的属性包括:
- 名称:工作区的名称,必填项。
- 命名空间URI:命名空间URI与这个工作区关联;
- 是否默认:是否将这个工作区设置为默认工作区,默认工作区只能有一个。
- 是否隔离:是否将这个工作区设置为隔离工作区,隔离工作区不能被其他工作区访问。
3. 编辑工作区
点击工作区名称列
链接,切换到编辑工作区界面,如下图所示。跟创建工作区有区别的是在编辑界面多了“是否启用”和“服务”两个选项。
- 是否启用:是否启用这个工作区,默认启用。
- 服务:这个工作区可发布的地图类型,如不选则表示所有,如选择部分,则表示只生效选中的类型。
4. 删除工作区
在工作区列表中选中工作区,点击删除选定的工作区
链接,弹出确认框,确认删除即可。
四、数据存储管理
1. 数据存储列表
点击左侧功能菜单数据——>数据存储
进入“数据存储”管理界面,如下图所示。界面中,展示了已经添加的数据存储的列表和工作的操作(添加和删除数据存储)。“数据存储”列表展示了数据类型、工作区、名称、类型、是否启用几列信息。数据类型和类型的区别是,数据类型是指数据是栅格数据还是矢量数据,类型是指数据存储的类型,如文件、数据库等。
2. 添加/编辑数据数据存储
数据存储和编辑的界面是一样的。点击添加新的数据存储
链接,切换到添加数据存储界面,如下图所示。在该界面中可以看到Geoserver支持的数据类型有哪些,在界面中列出的数据类型列表中,有些是默认支持的,如 Directory of spatial files (shapefiles)
、 GeoTIFF
,有些是扩展支持的,如GeoPackage
、MogonDB
。如下是对这些数据类型的说明:
- 矢量数据源
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扩展
- shp的文件目录,为
2)Shapefile
通过shp文件创建数据存储的配置项如下图所示,包括:
- 存储库的基本信息
- 工作区
- 数据源名称
- 说明
- 是否启用
- 连接参数
- shp文件的位置,为
file://${文件路径}.shp
,文件路径可为相对路径,也可为绝对路径 - dbf文件的字符集,因为大多是shp文件是Arcmap生成的,稍低版本的Arcmap的dbf字符集为
GBK
,因此在使用的时候需要针对数据的字符集进行设置 - 如果缺少空间索引或者空间索引过时,重新建立空间索引
- 是否使用内存映射的缓冲区,内存映射的缓冲区可以提高读取效率,但会占用更多的内存,如果内存不足,可以考虑关闭该选项
- 是否开启高速缓存和重用内存映射
- shp文件的位置,为
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元素,具体内容如下:
<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/XXX
,XXX
是上面编辑context.xml文件,为Resource元素设置的name属性,在上面的例子中即jndi/sampledb
。 - scheme,模式,一般为public
5) Properties
properties文件
是一个后缀为properties
的文件,其内容格式示例如下,空间字段的定义是{字段名}:Geometry:srid={投影}
,值为wkt
。
_=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. 删除数据数据存储
在“数据存储”列表中选中“数据存储”,点击删除选定的数据存储
链接,弹出确认框,确认删除即可。