目录

上一个主题

4.1. 配置数据

下一个主题

4.3. PostGIS


4.2. 配置矢量数据源

GeoServer有几个内置的矢量数据源。 shapefile和PostGIS是存储空间数据较好格式。

我们简单的介绍一下其他的数据存储:

vactor

图 4.2 vactor

4.2.1. GeoPackage

GeoPackage 一个简便轻量的本地地理数据库是由 OGC 制定的存储地理信息的开放数据格式, 存储形式是独立于平台的 SQLite 数据库文件。 GeoPackage 既可存储矢量要素数据,也可存储遥感影像金字塔、地图瓦片矩阵集等栅格瓦片数据。 它在非编辑、非连接状态时,扩展名是 .gpkg

GeoPackage 具有以下优点:

  • 开源

  • 使用OGC标准

  • 软件支持广泛,有GDAL、QGIS、R、Python、Esri

  • 比传统意义上的地理数据库轻量化

  • 单文件,比shp文件好管理

  • 在工作流上比shp快速

  • 大小上没有限制

4.2.2. Properties

Properties (Java.util.Properties),该类主要用于读取Java的配置文件, 您可以将数据存储在Java属性文件中。这是一个很好的选择, 如果你只需要少数的功能(例如低于25),创建一个真正的数据存储会太过分了。 您还可以在运行时添加功能,而无需重新创建或重新配置数据存储。 属性文件是一个文本文件,它包含每个记录的标题和行,每个记录的键值对。 你还记得第一章,地理信息系统基础 ? 您可以使用以下属性文件在GeoServer中发布它:

_=id:Integer,code:String,name:String,country:Geometry:srid=4326
places.1=1|Rome|Italy|POINT(12.492 41.890)
places.2=2|Grand Canyon|Usa|POINT(-112.122 36.055)
places.3=3|Paris|France|POINT(2.294 48.858)
places.4=4|Iguazu National Park|Argentina|POINT(-54.442 -25.688)
places.5=5|Ayers Rock|Australia|POINT(131.036 -25.345)

4.2.3. Web Feature Service

此数据源允许您将外部WFS服务器添加为数据提供程序。 远程服务器发布的图层可以添加到地理服务器,并以级联样式发布为WFS或WMS。

对于Drupal开发人员,您可以考虑签出WFS Drupal项目。它在少数功能上运行得很好。 对于大数据集,应将GeoServer指向关系地理空间数据库。对于大多数Drupal开发人员来说会是 MySQL . ( http://drupal.org/project/wfs

4.2.4. shapefiles

可以使用两个数据源将shapefile添加到GeoServer。 首先,您可以配置包含一组shapefile的文件夹,还可以在创建数据源后添加新的shapefile。 另一个数据源的工作方式与shapefile目录存储区相同,但仅提供一个shapefile的路径

操作时间-添加shapefile

在Google上搜索shapefile会发现很多结果。 这是交换GIS数据集最常用的格式。让我们下载其中一个并将其作为一个层发布。

1.下载Tiger 2011人口普查数据作为shapefile并将其放在适当的文件夹中:

~/shapes$ wget http://www2.census.gov/geo/tiger/TIGER2011/COUNTY/ tl_2011_us_county.zip

2.解压缩存档:

~/shapes$ unzip tl_2011_us_county.zip

Archive: tl_2011_us_county.zip inflating: tl_2011_us_county.dbf inflating: tl_2011_us_county.prj inflating: tl_2011_us_county.shp inflating: tl_2011_us_county.shp.xml inflating: tl_2011_us_county.shx

实际上,shapefile不是一个文件。根据规范 ( http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf ), 至少需要三个文件 shpdbfshx 分机。虽然不是严格要求, 但也值得拥有prj 文件。它包含shapefile中包含的数据的SRS定义。

3.如果您不确定数据的SRS,请查看 .prj 文件。 人口普查数据采用地理坐标,EPSG=4269:

~/shapes$ cat tl_2011_us_county.prj

GEOGCS["GCS_North_American_1983"],DATUM["D_North_American_1983",]

你对这种语法感到困惑吗?如果你没有通过在第一章的试一试地理信息系统基础部分,这可以查看 http://epsg-registry.org .

  1. 现在打开管理界面, 转到 数据|存储 部分,然后单击添加新存储 | Shapefile。

5. Workspacetiger. Data Source Nametiger_counties. Descriptiontiger counties. 对于 Connection Parameters, 单击“浏览”,然后选择下载并解压shapefile的目录:

image94

图 4.3 image94

6.点击 Save .

7.在下一个屏幕上,单击 发布 要开始创建图层的过程, 请执行以下操作:

image95

图 4.4 image95

8.您必须填写表格中的一些信息。 向下滚动到坐标参考系统 并将“Decared SRS”选项插入为EPSG:4269。 单击“边界框”部分中的“根据数据计算”和“根据本机边界计算”:

image96

图 4.5 image96

9.点击 Save .

  1. 向左导航到Layer Preview | OpenLayers next to tiger:tl_2011_us_county.

web页面内直接添加shapefile

  1. 直接点击shapefile

newshape.png

图 4.6 newshape.png

  1. 添加数据源名称选择好我们数据的所在位置,点击保存

  2. 在图层内新建图层

layers.png

图 4.7 layers.png

  1. 发布图层

publish.png

图 4.8 publish.png

  1. 查看图层

findlayer.png

图 4.9 findlayer.png

刚刚发生了什么?

我们从美国人口普查局下载了county borders, 并将其解压缩到名为 shapefile –本书的工作区名称。 然后,我们按照步骤为shapefile创建一个新的矢量数据存储并发布它。 稍加努力,现在就可以从发出WMS或WFS请求的客户机访问数据。 在GeoServer中发布数据真的很简单,不是吗?