3.3. 探索Web地图服务输出格式¶
让我们看看从输出请求到GeoServer 的WMS的URL参数。
考虑这个 OpenLayers 演示的输出请求。
格式参数是 application/openlayers .
format
参数是本章的关键,但是我们在这里的时候有必要检查一下其他参数。
第一个参数, service ,向GeoServer 解释要发送的请求类型。
价值是 WMS 因为我们想找回地图。
有几个版本,所以我们使用 version 参数指定我们所说的WMS,1.1.0 在这个例子中。
具体要求是 GetMap ,这个 layers 参数定义必须在地图上表示的数据。
我们可以插入一个冒号分隔的层列表,在这种情况下, 我们使用
topp:states 图层,使样式参数为空。
bbox 是要显示的地图的边界框或区域, 格式为 bbox=minx,miny,maxx,maxy
。
返回区域的大小将为780宽330高。
srs
或投影将是经度和纬度, 也就是说, EPSG:4326
。
最后,输出格式将为 `` OpenLayers `` 。
有关GeoServer 特定参数的文档可以在URL中找到:
http://docs.geoserver.org/latest/en/user/services/wms/vendor.html .
3.3.1. AtomPub¶
Atom Publishing Protocol ( Atom Pub )格式是基于XML的输出。
也称为向量输出类型,它可以与更常见的RSS feed相提并论。
它允许其他人订阅GeoServer 发布的功能。输出格式由 application/atom+xml
指定为格式参数值。
3.3.2. GIF¶
此输出格式是众所周知的。 Graphics Interchange Format (GIF)在网络上已经存在很长时间了。 此格式仅支持256色,因此很少用于高质量图像。 在某些情况下,当生成简单的形状输出时很有用。但是完整性不是最好的, 所以您很可能会更喜欢PNG,TIFF或JPEG来代替他。 输出格式由 image/gif 作为格式参数值。 我不得不说,GIF应该发音为Jif(花生酱)。CompuServe早在20世纪80年代末就提出了这种格式和Jif发音。 地址为:http://www.olsenhome.com/gif .
3.3.3. GeoRSS¶
这种输出格式与RSS提要类似,RSS提要用于联合其他内容。 显著的区别是 georss 标签。 看看 georss 的输出 sf:bugsites 层;您将看到第一个项的位置使用 44.384907731239096 -103.86762869467091 指定站点的位置。 谷歌和其他搜索引擎正在为这些内容编制索引。 谷歌接受这种输出格式作为地理位置图。 输出格式由 application/rss+xml 作为格式参数值。 有关更多资源,请查看以下链接:
<?xml version="1.0" encoding="UTF-8"?><rss xmlns:atom="http:// www.w3.org/2005/Atom" xmlns:georss="http://www.georss.org/georss" version="2.0">
<channel>
<title>sf:bugsites</title>
<description>Feed auto-generated by GeoServer </description>
..
<item>
<title>bugsites.1</title>
<link><![CDATA[http://192.168.1.112:8080/geoserver/wms/reflect?format=application/atom+xml&layers=sf:bugsites&featureid=bugsi tes.1]]></link>
<guid><![CDATA[http://192.168.1.112:8080/geoserver/wms/reflect?format=application/atom+xml&layers=sf:bugsites&featureid=bugsi tes.1]]></guid>
<description>
<![CDATA[<h4>bugsites</h4>
<ul class="textattributes">
<li><strong><span class="atr-name">cat</span>:</strong> <span class="atr-value">1</span></li>
<li><strong><span class="atr-name">str1</span>:</strong> <span class="atr-value">Beetle site</span></li>
</ul>
]]>
</description>
<georss:point>44.384907731239096 -103.86762869467091</georss:point>
</item> ..
</channel></rss>
在文档中查看有关GeoRSS的更多信息,网址为
http://docs.geoserver.org/stable/en/user/tutorials/georss/georss.html
3.3.4. JPEG¶
关于这种输出格式没有什么可说的。由于目前PNG的使用越来越广泛, 因此似乎并不经常从GeoServer 调用此输出。 但是,当需要地图区域的静态图像时,可能需要使用此格式。 你可以用 wget 或 CURL 手动缓存输出。
您可以使用 GeoWebCache 完成此操作,但此方法既快速又简单。
输出格式由 image/jpeg 作为格式参数值。
3.3.5. KML¶
我们谈过一点第三章,探索管理界面。 这个行动时间部分安装了Google Earth并查看了 topp:country 层。 您也可以直接将此格式与谷歌地图一起使用。 您可以直接在Google Map搜索字段中键入URL。 显然,您的地理服务器需要从Internet访问。
谷歌接受这种输出格式作为地理位置图。 Google对KMZ的mime类型和站点地图的KML输出非常敏感。 GeoServer 满足这些要求。
输出格式由 application/vnd.google-earth.kml.xml 作为格式参数值。
3.3.6. KMZ¶
这是一个Keyhole压缩格式的文件。 简而言之,它是KML的一个ZIP文件。 谷歌也接受这种输出格式作为地理位置图。
输出格式由 application/vnd.google-earth.kmz+xml 作为格式参数值。
如果要将请求代理到/从GeoServer ,则需要确保其设置为mime类型。 对于Apache,使用 AddType 在你 httpd.conf.
AddType application/vnd.google-earth.kmz .kmz
3.3.7. PDF¶
此输出格式非常适合共享地图。 例如,您可能希望使用 OpenLayers 显示地图, 并提供链接以将可见地图导出为PDF。
输出格式由 application/pdf 作为格式参数值。
3.3.8. PNG¶
这是您将更经常使用的地图格式,尽管每个图像将是255像素宽和255像素高, 否则称为瓦片。我们再深入一点第八章,性能和缓存。 在通过单击输出下拉列表传递的输出示例中, 它为您提供了数据的整个边界框的单个瓦片。
输出格式由 image/png 作为格式参数值。
3.3.9. SVG¶
此格式可以与 Adobe Illustrator 或 Inkscape 一起使用-您需要导出 并在GeoServer 之外进一步设置地图样式。 这种格式似乎是最流行的矢量格式。
输出格式由 image/svg+xml 作为格式参数值。
来自Inkscape常见问题解答:
Inkscape是类似于Adobe Illustrator的开源矢量图形编辑器, Corel Draw,Freehand或XaraX。 使Inkscape与众不同的是它对可缩放矢量图形(SVG)的使用, 一种开放的基于XML的W3C标准,作为本机格式。
查看他们的网站: http://inkscape.org .
3.3.10. TIFF¶
您将有多个可用的TIFF版本。 默认情况下,您将拥有TIFF和TIFF-8。 在撰写本文时,使用GeoServer 2.15, GeoTIFF包含在以下内容的下拉列表中 All Formats. GeoTIFF输出与普通TIFF相同,但包含用于描述地理空间数据的元数据。 输出格式由 image/tiff , image/tiff8 或 image/geotiff8 作为格式参数值。
GeoServer 文档中有更多信息: