Inspire View服务¶
- 作者
斯蒂芬梅塞尔
- 联系
stephan.meissl在eox.at
- 最后更新
2012-03-19
介绍¶
灵感是一个 European directive 在欧洲建立空间信息基础设施,以支持社区环境政策以及可能对环境产生影响的政策或活动。
Inspire View服务是 INSPIRE Technical Guidance document on top of the WMS服务器 在前一章中解释了实现。
为了实现Inspire View服务遵从性,在MapServer中实现了以下增强功能:
激活激励支持(两种情况)
对某些功能字段的多语言支持
提供inspire特定元数据
命名组层
根层和可能存在的组层的样式部分
MapServer中对INSPIRE View Service的支持使用的语法与 激励下载服务 。方法定义下载和查看服务之间的共享元数据项 ows_ 前缀而非 wms_ 。
激励支持的激活¶
inspire特定的元数据可以在外部inspire服务元数据文档(场景1)中引用,也可以直接嵌入到功能文档(场景2)中。MapServer支持这两种方案。
在中激活相应的INSPIRE支持方案 WEB.METADATA 部分的映射文件到 wms_inspire_capabilities 。如果激活,相应的INSPIRE命名空间以及相应的验证警告将在功能文档中生成。
场景1-使用对外部服务元数据的引用激活Inspire支持:
WEB
METADATA
"wms_inspire_capabilities" "url"
...
END
END
场景2-使用嵌入式服务元数据激活Inspire支持:
WEB
METADATA
"wms_inspire_capabilities" "embed"
...
END
END
对某些功能字段的多语言支持¶
Inspire需要多语言支持,并请求功能文档中所有支持语言以及默认语言的列表。根据getCapabilities请求中的语言参数,特定的元数据值,即
wms_title
wms_abstract
wms_rootlayer_title
wms_rootlayer_abstract
wms_group_title
wms_group_abstract
wms_style_title
wms_style_<name>_title
以及与语言相关的参考数据,如
DATA "road_eng"
CONNECTION "db_ger"
需要以要求的语言提供。如果不支持该语言(或不存在语言参数),则必须使用默认语言。
所有支持的语言必须以逗号分隔的列表形式指定(默认为第一种语言)到 wms_languages 在 WEB.METADATA 部分的映射文件。此语言参数也会添加到 OnlineResource 在GetCapables输出中::
WEB
METADATA
...
"wms_languages" "eng,ger" #first default, values according ISO 639-2/B
...
END
END
对于特定于语言的元数据值,将应用键扩展方法::
WEB
METADATA
...
"wms_title.eng" "myservicetitle"
"wms_title.ger" "myservicetitleger"
"wms_abstract" "mylayerabstract" #fallback
"wms_abstract.ger" "mylayerabstractger"
...
END
END
对于语言相关的引用数据,采用类似的方法,如 run-time substitution 已遵循MapServer的功能(仅限 DATA 和 CONNECTION 替换为%LANGUAGE%的值)::
...
LAYER
NAME TN.RoadTransportNetwork.RoadLink
DATA "road_%language%"
...
END
...
如果不支持该语言(或不存在语言参数),则将替换默认语言。
提供inspire特定元数据¶
根据场景的不同,需要额外的元数据信息来支持规范。下面提供了Inspire相关字段。
场景1-使用引用的外部服务元数据激发相关字段:
WEB
METADATA
"wms_inspire_capabilities" "url"
"wms_languages" "eng,ger" #first default, values according ISO 639-2/B
"wms_inspire_metadataurl_href" "http://INSPIRE.service/metadata"
"wms_inspire_metadataurl_format" "application/vnd.ogc.csw.capabilities.response_xml"
"wms_keywordlist_ISO_items" "infoMapAccessService" #value according "classification of spatial data services"
"wms_keywordlist_vocabulary" "ISO"
"wms_title" "myservicetitle"
"wms_abstract" "myabstract"
"wms_fees" "conditions unknown" #value either "no conditions apply"|default "conditions unknown"|<specific conditions>
"wms_accessconstraints" "None" #value according ISO 19115 (MD_RestrictionCode codelist) or default "None"
"wms_contactorganization" "MapServer" #responsible organization
"wms_contactposition" "owner" #responsible organization, value according "INSPIRE Metadata Regulation" (part D6)
...
END
END
场景2-使用嵌入式服务元数据激发相关字段:
WEB
METADATA
"wms_inspire_capabilities" "embed"
"wms_languages" "eng,ger" #first default, values according ISO 639-2/B
"wms_inspire_temporal_reference" "2011-09-19" #date of last revision, value according YYYY-MM-DD
"wms_inspire_mpoc_name" "mympocname" #point of contact
"wms_inspire_mpoc_email" "mympoc@e.mail" #point of contact
"wms_inspire_metadatadate" "2011-09-19" #value according YYYY-MM-DD
"wms_inspire_resourcelocator" "http://myinspireresource" #URL for ResourceLocator
"wms_inspire_keyword" "infoMapAccessService" #value according "classification of spatial data services"
"wms_keywordlist_ISO_items" "infoMapAccessService"
"wms_keywordlist_vocabulary" "ISO"
"wms_title" "myservicetitle"
"wms_abstract" "myabstract"
"wms_fees" "conditions unknown" #value either "no conditions apply"|default "conditions unknown"|<specific conditions>
"wms_accessconstraints" "None" #value according ISO 19115 (MD_RestrictionCode codelist) or default "None"
"wms_contactorganization" "MapServer" #responsible organization
"wms_contactposition" "owner" #responsible organization, value according "INSPIRE Metadata Regulation" (part D6)
...
END
END
笔记:
几个字段需要某些值,这些值不是由MapServer本身验证的,而是针对 INSPIRE schemas 以及 WMS INSPIRE tester 推荐
如本文件所示 document 关于场景2, <inspire_common:ResourceType> 始终设置为服务,并且 <inspire_common:SpatialDataServiceType> 始终设置为查看,则不能通过映射文件更改这两个值
一致性总是设置为不评估,基于最新的 INSPIRE Metadata Implementing Rules (第7页)、规范文件、规范日期和规范URI或URL需要为符合/不符合度提供,目前尚未实现。
命名组层¶
INSPIRE强制使用命名图层组。因此,的功能 wms_layer_group 已扩展为支持命名图层组。如果与中使用的名称相同的层 wms_layer_group 如果没有找到与以前相同的未命名组,则会将其视为已命名组。
只要这种能力,任何层次的层次都可以实现。请参见中使用的分组 wms_inspire.map MSAutoTest中的映射文件::
TN
+--- TN.CommonTransportElements
+--- TN.CommonTransportElements.TransportArea
+--- TN.CommonTransportElements.TransportLink
+--- TN.CommonTransportElements.TransportNode
+--- TN.RoadTransportNetwork
+--- TN.RoadTransportNetwork
+--- TN.RoadTransportNetwork.VehicleTrafficArea
+--- TN.RoadTransportNetwork.RoadServiceArea
+--- TN.RoadTransportNetwork.RoadArea
+--- TN.RailTransportNetwork
+--- TN.RailTransportNetwork.RailwayLink
+--- TN.RailTransportNetwork.RailwayStationArea
+--- TN.RailTransportNetwork.RailwayYardArea
+--- TN.RailTransportNetwork.RailwayArea
根层和可能存在的组层的样式部分¶
对于常规图层,可以使用GROUP和CLASSGROUP的概念将图层样式名称设置为相应值。此外,还可以通过覆盖图层样式标题 wms_style_<stylename>_title 和层样式图例URL到 wms_style_<stylename>_legendurl_* (需要提供宽度、高度、格式和HREF):
...
LAYER
NAME TN.RoadTransportNetwork.RoadLink
DATA "road"
METADATA
"wms_title.eng" "Transport networks: Road Link"
"wms_title.ger" "Verkehrsnetze: Strassensegment"
...
"wms_style_inspire_common:DEFAULT_title" "mylayerstyletitle" #style title
"wms_style_inspire_common:DEFAULT_legendurl_width" "85" #override style legendurl (mandatory: width, height, format, href)
"wms_style_inspire_common:DEFAULT_legendurl_height" "40"
"wms_style_inspire_common:DEFAULT_legendurl_format" "image/png"
"wms_style_inspire_common:DEFAULT_legendurl_href" "http://path/to/onlineresource...roadlink"
END
...
END
...
CLASSGROUP "inspire_common:DEFAULT"
CLASSITEM "NAME_E"
CLASS
NAME "myclass1"
GROUP "inspire_common:DEFAULT"
EXPRESSION "Trans-Canada Highway"
COLOR 255 0 0
END
CLASS
NAME "myclass2"
GROUP "inspire_common:DEFAULT"
COLOR 0 255 0
END
...
实现以下方法以支持根层中的(可自定义)样式部分:
使用 wms_style_name 在 WEB.METADATA 部分将样式部分添加到根层
使用 wms_style_title 替代样式标题的步骤(可选)
使用 wms_style_legendurl_* 覆盖LegendURL的宽度、高度、格式和HREF(可选)
以及可能存在的组层:
使用 wms_group_style_name 在第一个对应的 LAYER.METADATA 部分将样式部分添加到图层组
使用 wms_group_style_title 替代样式标题的步骤(可选)
使用 wms_group_style_legendurl_* 覆盖LegendURL的宽度、高度、格式和HREF(可选)
...
WEB
METADATA
...
"wms_style_name" "inspire_common:DEFAULT" #style name
"wms_style_title" "myroadarealayerstyletitle" #style title
"wms_style_legendurl_width" "85" #override style legendurl (mandatory: width, height, format, href)
"wms_style_legendurl_height" "40"
"wms_style_legendurl_format" "image/png"
"wms_style_legendurl_href" "http://path/to/onlineresource...roadarea"
END
END
LAYER
NAME TN.RailTransportNetwork.RailwayLink
GROUP TN.CommonTransportElements.TransportLink
DATA "road"
METADATA
"wms_group_title.eng" "Transport networks: Generic Transport Link"
"wms_group_title.ger" "Verkehrsnetze: Generisches Verkehrssegment"
"wms_group_abstract" "mygenerictransportlinklayerabstract" #fallback
"wms_group_abstract.ger" "mygenerictransportlinklayerabstract"
"wms_group_style_name" "inspire_common:DEFAULT" #style name
"wms_group_style_title" "mygenerictransportlinklayerstyletitle" #style title
"wms_group_style_legendurl_width" "85" #override style legendurl (mandatory: width, height, format, href)
"wms_group_style_legendurl_height" "40"
"wms_group_style_legendurl_format" "image/png"
"wms_group_style_legendurl_href" "http://path/to/onlineresource...generictransportlink"
"wms_title.eng" "Transport networks: Railway Link"
"wms_title.ger" "Verkehrsnetze: Eisenbahnverbindung"
"wms_abstract" "myrailwaylinklayerabstract" #fallback
"wms_abstract.ger" "myrailwaylinklayerabstractger"
...
END
...
END
...
只要有能力,就可以像示例映射文件中那样实现3个层次结构级别。 wms_inspire_scenario1.map 和 wms_inspire_scenario2.map 在MasutoTest:
TN.RoadTransportNetwork.RoadArea
+--- TN.RoadTransportNetwork.RoadLink
+--- TN.CommonTransportElements.TransportLink
+--- TN.RailTransportNetwork.RailwayLink
+--- TN.AirTransportNetwork.AirLink