2.4. 数据功能区配置与使用¶
现在我们进入地理服务器的核心:数据。
在此区域中,可以配置数据访问。 通过存储,GeoServer 可以知道您的数据在哪里以及它是什么。 分层与如何发布数据有关。 进入并首先查看图层预览。 建造自己的图层时,我们将多次访问“图层预览”部分。

图 2.7 image46¶
2.4.1. 层预览¶
图层预览包括GeoServer 已知的每个图层。 您会发现已经列出了几个示例图层。 在这里,您可以打开 OpenLayers 示例应用程序,以查看数据的外观。 还有其他几种预览格式。 一种流行的格式是KML格式。

图 2.8 image48¶
OpenLayers 预览¶
让我们试试 OpenLayers 预览。 OpenLayers 是一个强大的JavaScript库, 对于构建web地图应用程序非常有用。GeoServer 包含一个简单的模板应用程序, 可以让您查看表示一个图层的地图。
1.在“图层预览”页面上,单击 OpenLayers 链接以查看预览。
2.这个 OpenLayers 预览打开,显示 顶部:州 形状文件。

图 2.9 image50¶
刚刚发生了什么?
你喜欢网络地图的第一次体验吗? OpenLayers 与Google地图有些相似; 它允许您将地图嵌入到站点中。
KML 预览¶
让我们尝试另一种预览格式,KML。这一次,当您选择要预览的图层时, GeoServer 不会打开应用程序。事实上,KML是一种数据格式,KML(Keyhole Markup Language,Keyhole 标记语言)最初是由Google 旗下的Keyhole 公司开发和维护的一种基于XML 的标记语言,利用XML 语法格式描述地理空间数据(如点、线、面、多边形和模型等),适合网络环境下的地理信息协作与共享。2008 年4月,KML的最新版本2.2 被OGC 宣布为开放地理信息编码标准,并改由 OGC 维护和发展。
您需要另一个软件来在地图上显示它。由KML文件是种多功能的地理数据格式,在Google发展下,它可以将(link)网页、图片、模型..等各种媒体档案在Google Earth作完整的呈现。
1.如果你还没有安装Google Earth,你可以从 http://www.google.com/earth/index.html .
2.接受许可协议并保存安装文件。
3.在“图层预览”页面上,滚动到topp:states图层,然后单击KML链接。
4.系统将提示您保存或打开 KMZ 输出文件。保存在文件系统中。
5.在Google Earth中打开kmz文件。

图 2.10 image51¶
好吧,那很酷。我们让GeoServer 在Google Earth中显示图层。 放下书和谷歌地球一起玩。放大和缩小,注意它是如何从GeoServer 流式传输数据的。 使用下拉框,还可以预览其他几种格式的图层。 SVG 例如,非常适合导入Adobe illustrator。 那么也介绍一下SVG,可能很多人并没有使用过,可缩放矢量图形(Scalable Vector Graphics,SVG)是W3C推出的基于XML的二维矢量图形标准。SVG可以提供高质量的矢量图形渲染,同时由于支持JavaScript和文档对象模型,SVG图形通常具有强大的交互能力。另一方面,SVG作为W3C所推荐的基于XML的开放标准,能够与其他网络技术进行无缝集成。

图 2.11 image52¶
2.4.2. 工作区¶
将工作区视为您自己的个人名称空间。工作空间对于组织图层非常有用。 可以将多个图层关联到一个工作空间。 允许具有多个同名图层,只要它们位于不同的工作空间中。
您可以看到工作空间和层相互引用,并用冒号分隔。 例如,当查看图层预览中的图层列表时,您将看到许多图层名, 如 nurc:Img_Sample. 工作区名称为 nurc 和 Img_Sample 是层名称。
当您刚开始使用GeoServer 时,可能不会考虑使用 工作区. 当您开始添加一些自己的图层时, 您很快就会发现组织这些图层是必要的,例如,考虑对图层预览列表进行排序是多么容易。

图 2.12 image53¶
创建工作区¶
GeoServer 已经配置了一组数据,并且有几个工作区来组织它们。 我们现在将为您在本书中添加的数据创建一个新的工作区。
1.选择“工作区”列表页。
2.点击 Add new workspace.
3.在表单中,您必须为新工作区输入一个“名称”(在以下屏幕截图中,它 NaturalEarth ), 和http://www.naturalearthdata.com 作为 名称空间URI 。选中默认工作区以将其分配为默认值:

图 2.13 image54¶
4.点击 提交 以保存新工作区。
您为数据创建了一个逻辑类别。当您开始创建多个数据存储和层并需要将它们添加到同一工作空间时, 默认选项非常有用,因为默认值是选中的。在后面的章节中,当您开始使用REST接口创建层时, 您将很快发现工作空间也非常有用。
2.4.3. 存储¶
存储将GeoServer 连接到数据所在的存储库。每个存储必须在一个工作区中, 因此值得在开始时设置一个,而不是将存储粘贴到默认值中。配置了一组存储, 用于示例数据的命名空间。

图 2.14 image55¶
创建新的数据存储时,可以使用几种格式。

图 2.15 image56¶
GeoServer 支持多种不同的数据格式,但它们分为两种类型:
矢量 和 栅格. 可用的矢量数据格式如下:
shapefile :既可以作为单个项目,也可以作为包含多个形状文件的文件夹。
Shapefile是GIS中非常常见的格式,我们将在本书中经常使用它。
PostGIS: 著名的开源空间数据库。您可以将其配置为Java命名和目录接口(JNDI)资源或使用默认连接。 在第一种情况下,必须在GeoServer 的容器中配置jndi名称, 例如Tomcat,带有数据库连接的参数。
属性 :这是一个用于可存储在文本文件中的简单小数据集的连接器。 请记住,使用此格式不会优化性能;请仅将其用于测试或非常小的数据集。
WFS :您可以访问和发布其他服务器发布的功能。 此外,在这种情况下,您不能期望最佳性能,但它可能在级联数据时很有用。
还有一组栅格格式。最常用和最著名的是 GeoTIFF 以及 WorldImage . GeoTIFF是 tiff 格式; 文件头包含地理参考信息,以便地图服务器可以将栅格正确放置在地图上。
WorldImage与此类似,但地理参考信息保存在外部文本文件中。
如果您对GeoTIFF格式的详细描述感兴趣,可以从以下两个方面入手:
GeoServer 在安装了可选扩展之后,支持其他几种数据格式。
2.4.4. 层¶
GeoServer 中的图层保存有关要素类型的元数据信息。每次向GeoServer 发送数据时, 都会为您创建一个新图层。通过单击链接,可以看到已配置层的列表。
该列表在“类型”列中显示图层的类型, 使用不同的矢量和栅格图层图标 根据几何形状。 显示了每一层的“工作空间”和“存储”值。 然后是“图层名称”值 可能与存储数据的文件或表名不同; 勾选标记显示是否已启用,最后一列显示 Native SRS 值。 在此部分中,可以查看和编辑现有图层、添加(注册)新图层或删除(注销)图层。

图 2.16 image57¶
通过单击图层名称,可以打开“编辑图层”部分。 您将在面板中看到四个选项卡。 数据 包含要素类型的属性, 例如属性列表,并由GeoServer 在添加新图层时进行编译。 您必须检查值并插入有关特征类型的一些描述性信息。
这个 发布 选项卡用于配置层的表示方式。从这里,您可以选择一个或多个样式在地图上绘制要素。
我们将添加层,并查看 第五章 , 添加自己的数据存储 .

图 2.17 image58¶
2.4.5. 层组¶
当您构建复杂的层时,您很快就会发现需要将层组合成组。 图层组允许您对图层进行排序,以便最好地显示数据。 例如,如果您正在创建北美地图,您可能希望在北美海岸线上显示美国各州的图层。 然后在美国各州之上,你可能想显示这些州的县的边界。所有这些层都可以组合成一个层组。
2.4.6. 样式¶
在这里您可以访问GeoServer 中配置的样式。 样式是包含如何在地图上绘制要素类型的详细描述的XML文件。

图 2.18 image59¶
从这里您可以访问样式编辑器,这是一个用于编辑样式的简单、用户友好的界面。 正如您可能已经猜到的,构建一个漂亮的地图与样式严格相关; 我们将在第六章,设计您的图层样式 .

图 2.19 image60¶