MS RFC 41:支持WCS 1.1.x协议¶
- 日期
2008/04/09
- 作者
Frank Warmerdam
- 联系方式
- 状态
采用
- 版本
5.2
概述¶
建议对MapServer进行扩展,以支持WCS 1.1协议。MapServer已经支持WCS 1.0协议,但是WCS 1.1有很大不同。
实施方法¶
WCS 1.1基于OWS公共元数据关闭(与WCS 1.0不同),WCS服务的实现将利用mapowscommon.c中的OWS元数据服务。但是,mapowscommon.c基于libxml进行XML序列化(与基于printf()的WCS 1.0服务不同)。因此,wcs 1.1 getcapabilities和describeCoverage实现将在很大程度上与wcs 1.0实现分离,并将使用libxml实现。
应该注意的是,WCS 1.1功能和覆盖率描述方法的格式和组织非常不同,因此无论如何,单独的实现是非常必要的。
在mapwcs.c中,用于wcs服务的关键入口点将更新为“call out”到mapwcs11.c中服务的wcs 1.1版本。
预计大部分的wcs 1.0 getcoverge实现将与wcs 1.1共享,使用特殊的wcs 1.1实现来处理请求中的特定问题(例如范围集处理和多部分mime返回结果)。
WCS 1.1协议限制¶
通过MapServer提供服务时,只有一个<field>与覆盖范围相关。
只支持两种类型的轴:“带区”轴和“时间”轴。
元数据映射¶
当前的WCS元数据项与WCS 1.0协议紧密相关,而WCS 1.1协议对服务、覆盖率描述以及getcoverge请求使用了一种截然不同的形式和约定。下表指示哪些WCS元数据项映射到WCS 1.0和WCS 1.1中的覆盖率XML元素:
MapServer WCS 1.1 WCS 1.0
--------- ------- -------
<x>_formats SupportedFormat formats
<x>_keywordlist ows:Keywords keywords
<x>_label (unused) label
<x>_description ows:Title description
<x>_abstract (new) ows:Abstract (unused)
<x>_metadatalink_href (unused) metadataLink
<x>_nativeformat (unused) nativeFormat
<x>_rangeset_name Field.Identifier RangeSet.name
<x>_rangeset_label Field.Title Rangeset.label
<x>_bands_name Axis.identifier AxisDescription.name
URN/坐标系和轴方向¶
WCS1.1使用类似“urn:ogc:def:crs:epsg::4326”或“urn:ogc:def:crs:ogc::crs84”的URN。此外,在epsg权限空间内使用坐标系时,需要wcs协议遵守epsg轴约定。例如,这意味着,urn:ogc:def:crs:epsg::4326坐标系中的任何坐标都必须以lat(长顺序)提供,而不是传统的long(长顺序)。
为了实现这些要求,计划了几个变更:
将更新msloadProjectionString()以扩展epsg和ogc名称空间中的URN。
msloadProjectionString()将在epsg名称空间中为gcs代码的urls添加“+epsgaxis=ne”参数。
将添加新的msaxisNormalizePoints()和msaxisNormalizePoints(),以便在标准化(东距、北距)轴方向和epsg首选(非标准化)轴方向(有时为北距、东距)之间进行转换。这些函数将扫描p->args[]列表以确定+epsgaxis=ne。
msowsCommonBoundingBox()将被修改为使用这些轴非规范化函数来为epsg gcs urns非规范化轴顺序。
wcs 1.1 getcoverge调用将使用msaxisnormalizepoints()在需要时修复请求轴的方向。
MapScript¶
不需要更改mapscript。
向后兼容性¶
不希望更改WCS 1.0支持,也不希望更改指定服务元数据的机制,尽管可能会添加一些仅在WCS 1.1中使用的元数据项。
实施资源¶
Frank Warmerdam将在Noetix Research Inc.和加拿大政府地理连接计划的资助下实施该计划。SVN主干中的初步实施已经开始运行,预计3月1日完成工作。
测试¶
测试将添加到WCS 1.1协议的msautotest/wxs中。欢迎其他贡献者提供有关WCS 1.1验证的其他帮助。
臭虫识别码¶
还没有。
投票历史¶
法兰克(+1),阿塞菲(+1),汤克(+1),丹尼尔(+1),佩林(+1)