INSPIRE View Service in
       MapServer
FOSS4G-CEE 2012, Prague



Stefan Leopold
Stephan Meißl
Outline
• Overview INSPIRE View Service
• Overview MapServer
• Implementation & Configuration in MapServer
   – Activation of INSPIRE support
   – Multi-language support
   – INSPIRE specific metadata
   – Named group layers
• Conclusions & Outlook
Overview of INSPIRE View Service
• Infrastructure for Spatial Information
  in Europe - initiative launched by
  the European Commission for
  solving interoperability issues for
  geospatial data
  http://inspire.jrc.ec.europa.eu
• Directive as law
• Technical Guidance for View
  Services based on WMS 1.1.1
  & 1.3.0
Overview MapServer
• OSGeo Project – http://mapserver.org
• Widely used Open Source platform for
  publishing spatial data to the web
• Fast, flexible, reliable, and highly integratable
• Support of various OGC standards: WMS, WFS,
  WCS, SLD, SOS, etc.
• Current release: 6.0.3; 6.2 in preparation
• 16+ active developers; ~300k LoC;
  ~77 man‑years; IRC #mapserver 30+
• Latest highlights: MapCache, TinyOWS, Github
INSPIRE View Service in MapServer
• Available with MapServer 6.2 release
• WMS 1.3.0
• Based on Technical Guidance in version 3.0
• Documentation
  http://mapserver.org/trunk/ogc/inspire.html
  with 6.2 release http://mapserver.org/ogc/inspire.html
• Implementation tracked as RFC 75
  http://mapserver.org/development/rfc/ms-rfc-75.html
• Validates against INSPIRE schemas
• Tested against WMS INSPIRE tester
  http://inspire_tester.neogeo-online.net
Activation of INSPIRE support
• scenario 1: external metadata: "url"
• scenario 2: embedded metadata: "embed"

WEB
 METADATA
  "wms_inspire_capabilities" "url"
  ...
 END
END
Multi-language support (1/3)
• Provisioning of all supported languages
• Values according to ISO 639-2/B
• First value is default language

WEB
 METADATA
  …
  "wms_languages" "eng,ger,ita"
  ...
 END
END
Multi-language support (2/3)
WEB
 METADATA
  "wms_title.eng" "Transport Network"
  "wms_title.ger" "Verkehrsnetz"
  "wms_abstract" "myabstract"
  ...
 END
END

...&REQUEST=GetCapabilities&LANGUAGE=eng
Multi-language support (3/3)
• Run-time substitution (only CGI)
• DATA & CONNECTION metadata

LAYER
 NAME TN.RoadTransportNetwork.RoadArea
 DATA "road_%language%.shp"
 ...
END

...&REQUEST=GetMap&LANGUAGE=eng
INSPIRE specific metadata - Scenario 1
"wms_inspire_metadataurl_href" "http://..."
"wms_inspire_metadataurl_format"
"application/vnd.ogc.csw.capabilities.response_xml"

"wms_keywordlist_vocabulary" "ISO"
"wms_keywordlist_ISO_items" "infoMapAccessService"

"wms_fees" "conditions unknown"
"wms_accessconstraints" "None"

"wms_contactorganization" "MapServer"
"wms_contactposition" "owner"
...
INSPIRE specific metadata - Scenario 2
Additional metadata:
"wms_inspire_temporal_reference" "2012-05-22"
"wms_inspire_mpoc_name" "mympocname"
"wms_inspire_mpoc_email" "mympoc@e.mail"
"wms_inspire_metadatadate" "2012-05-22"
"wms_inspire_resourcelocator" "http://resource"

• Values are not validated
• Some metadata is hard-coded
Named group layers (1/2)
•   Via wms_layer_group
•   Arbitrary depth
•   Named vs. Unnamed
•   Supported in GetMap,
    GetFeatureInfo, etc.

LAYER
 NAME RoadArea
 METADATA
  "wms_layer_group" "/RoadTransportNetwork"
  …
Named group layers (2/2)
MAP
 NAME TN
 …
LAYER                  unnamed
 NAME RoadTransportNetwork
 ...
LAYER
 NAME RoadArea
 METADATA
   "wms_layer_group" "/RoadTransportNetwork"
   …
• Only TN and RoadArea can be requested
• RoadTransportNetwork only used for grouping
<inspire_vs:ExtendedCapabilities>
 <inspire_common:MetadataUrl xsi:type="inspire_common:resourceLocatorType">
  <inspire_common:URL>http://...</inspire_common:URL>
  <inspire_common:MediaType>
    application/vnd.ogc.csw.capabilities.response_xml
  </inspire_common:MediaType>
 </inspire_common:MetadataUrl>
 <inspire_common:SupportedLanguages>
  <inspire_common:DefaultLanguage>
    <inspire_common:Language>eng</inspire_common:Language>
  </inspire_common:DefaultLanguage>
  <inspire_common:SupportedLanguage>
    <inspire_common:Language>ger</inspire_common:Language>
  </inspire_common:SupportedLanguage>
 </inspire_common:SupportedLanguages>
 <inspire_common:ResponseLanguage>
  <inspire_common:Language>eng</inspire_common:Language>
 </inspire_common:ResponseLanguage>
</inspire_vs:ExtendedCapabilities>
Conclusions & Outlook (1/2)
• INSPIRE view service support based on
  Technical Guidance (v3.0) available with
  MapServer 6.2 release
• WMS 1.1.1 on the roadmap
• Bug reports, feature requests, etc. via Github
  http://github.org/mapserver/
• General support via mailing lists and IRC
  http://mapserver.org/community/index.html
Conclusions & Outlook (2/2)
• WCS possibly part of INSPIRE Download Service
  – EOxServer: Presentation tomorrow 9:20

• Try it out!
   – Check out the MapServer master/trunk and
     build the source
     http://github.org/mapserver/mapserver/
   – Use our demo service and ask for special
     support
   – Thanks for your feedback
Credits
• Edward Nash and Martin Kofahl from DVZ M-V
  for their extensive testing

• R3 GIS & EU for financial support

• The whole MapServer Team for their great
  guidance and support
Stephan Meißl                    EOX IT Services GmbH
stephan.meissl@eox.at            Thurngasse 8/4
                                 1090 Wien
                                 Österreich / Austria
                                 eox.at
Stefan Leopold
stefan.leopold@reflex.at


This work is licensed under a
Creative Commons Attribution-ShareAlike 3.0 Unported License .

INSPIRE View Service in MapServer

  • 1.
    INSPIRE View Servicein MapServer FOSS4G-CEE 2012, Prague Stefan Leopold Stephan Meißl
  • 2.
    Outline • Overview INSPIREView Service • Overview MapServer • Implementation & Configuration in MapServer – Activation of INSPIRE support – Multi-language support – INSPIRE specific metadata – Named group layers • Conclusions & Outlook
  • 3.
    Overview of INSPIREView Service • Infrastructure for Spatial Information in Europe - initiative launched by the European Commission for solving interoperability issues for geospatial data http://inspire.jrc.ec.europa.eu • Directive as law • Technical Guidance for View Services based on WMS 1.1.1 & 1.3.0
  • 5.
    Overview MapServer • OSGeoProject – http://mapserver.org • Widely used Open Source platform for publishing spatial data to the web • Fast, flexible, reliable, and highly integratable • Support of various OGC standards: WMS, WFS, WCS, SLD, SOS, etc. • Current release: 6.0.3; 6.2 in preparation • 16+ active developers; ~300k LoC; ~77 man‑years; IRC #mapserver 30+ • Latest highlights: MapCache, TinyOWS, Github
  • 6.
    INSPIRE View Servicein MapServer • Available with MapServer 6.2 release • WMS 1.3.0 • Based on Technical Guidance in version 3.0 • Documentation http://mapserver.org/trunk/ogc/inspire.html with 6.2 release http://mapserver.org/ogc/inspire.html • Implementation tracked as RFC 75 http://mapserver.org/development/rfc/ms-rfc-75.html • Validates against INSPIRE schemas • Tested against WMS INSPIRE tester http://inspire_tester.neogeo-online.net
  • 7.
    Activation of INSPIREsupport • scenario 1: external metadata: "url" • scenario 2: embedded metadata: "embed" WEB METADATA "wms_inspire_capabilities" "url" ... END END
  • 8.
    Multi-language support (1/3) •Provisioning of all supported languages • Values according to ISO 639-2/B • First value is default language WEB METADATA … "wms_languages" "eng,ger,ita" ... END END
  • 9.
    Multi-language support (2/3) WEB METADATA "wms_title.eng" "Transport Network" "wms_title.ger" "Verkehrsnetz" "wms_abstract" "myabstract" ... END END ...&REQUEST=GetCapabilities&LANGUAGE=eng
  • 10.
    Multi-language support (3/3) •Run-time substitution (only CGI) • DATA & CONNECTION metadata LAYER NAME TN.RoadTransportNetwork.RoadArea DATA "road_%language%.shp" ... END ...&REQUEST=GetMap&LANGUAGE=eng
  • 11.
    INSPIRE specific metadata- Scenario 1 "wms_inspire_metadataurl_href" "http://..." "wms_inspire_metadataurl_format" "application/vnd.ogc.csw.capabilities.response_xml" "wms_keywordlist_vocabulary" "ISO" "wms_keywordlist_ISO_items" "infoMapAccessService" "wms_fees" "conditions unknown" "wms_accessconstraints" "None" "wms_contactorganization" "MapServer" "wms_contactposition" "owner" ...
  • 12.
    INSPIRE specific metadata- Scenario 2 Additional metadata: "wms_inspire_temporal_reference" "2012-05-22" "wms_inspire_mpoc_name" "mympocname" "wms_inspire_mpoc_email" "mympoc@e.mail" "wms_inspire_metadatadate" "2012-05-22" "wms_inspire_resourcelocator" "http://resource" • Values are not validated • Some metadata is hard-coded
  • 13.
    Named group layers(1/2) • Via wms_layer_group • Arbitrary depth • Named vs. Unnamed • Supported in GetMap, GetFeatureInfo, etc. LAYER NAME RoadArea METADATA "wms_layer_group" "/RoadTransportNetwork" …
  • 14.
    Named group layers(2/2) MAP NAME TN … LAYER unnamed NAME RoadTransportNetwork ... LAYER NAME RoadArea METADATA "wms_layer_group" "/RoadTransportNetwork" … • Only TN and RoadArea can be requested • RoadTransportNetwork only used for grouping
  • 15.
    <inspire_vs:ExtendedCapabilities> <inspire_common:MetadataUrl xsi:type="inspire_common:resourceLocatorType"> <inspire_common:URL>http://...</inspire_common:URL> <inspire_common:MediaType> application/vnd.ogc.csw.capabilities.response_xml </inspire_common:MediaType> </inspire_common:MetadataUrl> <inspire_common:SupportedLanguages> <inspire_common:DefaultLanguage> <inspire_common:Language>eng</inspire_common:Language> </inspire_common:DefaultLanguage> <inspire_common:SupportedLanguage> <inspire_common:Language>ger</inspire_common:Language> </inspire_common:SupportedLanguage> </inspire_common:SupportedLanguages> <inspire_common:ResponseLanguage> <inspire_common:Language>eng</inspire_common:Language> </inspire_common:ResponseLanguage> </inspire_vs:ExtendedCapabilities>
  • 16.
    Conclusions & Outlook(1/2) • INSPIRE view service support based on Technical Guidance (v3.0) available with MapServer 6.2 release • WMS 1.1.1 on the roadmap • Bug reports, feature requests, etc. via Github http://github.org/mapserver/ • General support via mailing lists and IRC http://mapserver.org/community/index.html
  • 17.
    Conclusions & Outlook(2/2) • WCS possibly part of INSPIRE Download Service – EOxServer: Presentation tomorrow 9:20 • Try it out! – Check out the MapServer master/trunk and build the source http://github.org/mapserver/mapserver/ – Use our demo service and ask for special support – Thanks for your feedback
  • 18.
    Credits • Edward Nashand Martin Kofahl from DVZ M-V for their extensive testing • R3 GIS & EU for financial support • The whole MapServer Team for their great guidance and support
  • 19.
    Stephan Meißl EOX IT Services GmbH stephan.meissl@eox.at Thurngasse 8/4 1090 Wien Österreich / Austria eox.at Stefan Leopold stefan.leopold@reflex.at This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License .