!Discussions/Solutions related to supporting the INSPIRE specifications in MapServer == Introduction == There is a need for MapServer to support the INSPIRE specifications. Several discussions have already happened through mailing list and trac bugs. The goal of this page is to organize these discussions and come up with solutions that that will allow to support the specifications, namely: * INSPIRE View Service (adapted, extended WMS 1.3.0) * INSPIRE Download Service (adapted, extended WFS 2.0) * others Currently, the main objective is to support INSPIRE View Services. == INSPIRE View Service == === Overview & References === The following enhancements have to be implemented: * [#VS_GetCapabilities extended getcapabilities document with inspire specific metadata] * [#VS_MultiLanguage multi-language support for some capabilities fields] * [#VS_GroupedLayers named layer groups] Tickets: * ticket:1632 : support for named group layers using wms_layer_group * ticket:3608 : INSPIRE related support * http://trac.osgeo.org/mapserver/wiki/HidingLayersInOGCWebServices : Not a full ticket but a probably important part of any solution Mailing list and reference documents: Reference Documents * This [http://osgeo-org.1803224.n2.nabble.com/INSPIRE-compliancy-A-request-for-comments-on-a-possible-RFC-td5661761.html#a5661761] * http://osgeo-org.1803224.n2.nabble.com/file/n5661761/MS_RFC_INSPIRE.pdf * [http://inspire.jrc.ec.europa.eu/documents/Network_Services/TechnicalGuidance_ViewServices_v3.0.pdf Technical Guidance for the implementation of INSPIRE View Services, version 3.0] === Extended Getcapabilities document ===#VS_GetCapabilities 1. Links to documents extracted from the reference document * Schema [http://www3.dmsolutions.ca/tmp/inspire.xsd] * Get Capabilities [http://www3.dmsolutions.ca/tmp/get_capabilities.xml] 2. Tasks a. ability to specify in a map file that this is an INSPIRE View Service b. add a link to the inspire schema as part of the overall schema list c. generate an ExtendedCapabilities d. present grouped layers with name and full metadata e. include all elements by reading inspire type metadata f. all other metadata outside that extended capabilities should already be part of the regular wms output ('''todo: check if WMS 1.3.0 and INSPIRE View Service have to same mandatory elements; if so remove this entry, otherwise warnings have to be adapted''') 3. Implementations a. map->web->metadata wms_inspire_view_service 'true|yes|1' b. add ''xmlns:inspire_vs="http://inspire.europa.eu/networkservice/view/1.0"'' to getcapabilities document c. ? d. [#VS_GroupedLayers independent topic] e. Parse the following additional metadata. We should define in this section all additional/changed metadata that need to be defined in the map file. We should initially support all the mandatory ones. * Resource Title (M): It is mapped to wms:Title. Map file should have w/o_title. * Resource Abstract (M): It is mapped to wms:Abstract. Map file must have w/o_abstract * Resource Type (M): new metadata inspire_resource_type_code and inspire_resource_type_value should be defined * Resource Locator (O) * Coupled Resource (O) * Spatial Data Service Type (M): This seems to always be fixed to a 'view' value in the document. Nothing to define in the map file. * Keyword (M): It is mapped to wms:KeywordList. The map file should have the w/o_keyword define. * Geographic Bounding Box (M): wms:EX_GeographicBoundingBox (Layer property). Nothing special to define in the map file. * Temporal Reference (M) * Spatial Resolution (O) * Conformity (M) * Conditions for Access and Use (M) * Limitations on Public Access (M) * Responsible Organisation (M) * Metadata Point of Contact (M) * Metadata Date (M) * Metadata Language (M) * Current Language (M) f. '''remove this if WMS 1.3 and VS have identical mandatory metadata''' === Multi-Language support ===#VS_MultiLanguage 1. Links to documents 2. Tasks a. add map->web->metadata->inspire_language metadata; value is a list (e.g. "eng ger") where the first item is the default language b. parse request language from querystring, validate it, compare to inspire_language metadata (if not found in list use the first one, if inspire_language is not set use ""/null) and save it in a global object c. add ''inspire_vs:Languages'' to GetCapabilities document, setting current language from request object d. add additional metadata lookup function for specific language; will call existing lookup function with ''_eng'' etc. (code from global object) e. make title, abstract, decription using metadata lookup function for specific language f. consider metadata lookup function for specific language for onlineressource (see technical guidance 3.2.6.3) g. consider to make reuqested language available in DATA/JOIN/FILTER/INCLUDE statements to avoid multiple mapfiles following 2.f (technical guidance 3.2.6.3) 3. Implementations === Grouped layers ===#VS_GroupedLayers 1. Links to documents see details in ticket:1632 2. Tasks 3. Implementations * Grouped layers and GetCapabilities request === * Grouped layers and DescribeLayer request === * Grouped layers and GetMap request === * Grouped layers and SLD === * Grouped layers and GetFeatureInfo request === == INSPIRE Download Service ==