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_languagesWEB.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的功能(仅限 DATACONNECTION 替换为%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_nameWEB.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.mapwms_inspire_scenario2.map 在MasutoTest:

TN.RoadTransportNetwork.RoadArea
+--- TN.RoadTransportNetwork.RoadLink
+--- TN.CommonTransportElements.TransportLink
     +--- TN.RailTransportNetwork.RailwayLink
     +--- TN.AirTransportNetwork.AirLink