22
The state of OGC interoperability with QGIS (client and server) With some use case! 2 nd QGIS conference ~ Gerone – 26 th may 2016

The state of OGC interoperability with QGIS (client and ... · The state of OGC interoperability with QGIS (client and server) With some use case! ... Standard vs norm Different meaning

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

The state of OGC interoperability with QGIS (client and server)

With some use case!

2nd QGIS conference ~ Gerone – 26th may 2016

2/23www.camptocamp.com /

Introduction

■ What is interoperability?

■ What did we need to change in QGIS to improve it for a real use case?

■ How QGIS is interoperable in regards to other software?

3/23www.camptocamp.com /

Interoperability: a definition

Interoperability is a property of a product or system, whose interfaces are completely understood, to work with other products or systems, present or future, without any restricted access or implementation.

Source: http://interoperability-definition.info

4/23www.camptocamp.com /

Interoperability: in practice

■ A known interface (ie how can I request a server and what will I get in return?)

■ Backward compatibility

■ No implication on used technologies

A public and open standard

5/23www.camptocamp.com /

Standard vs norm

■ Different meaning (in French) for two use cases:○ Standard: users/industrials (OGC) write altogether a

document describing how tools/services interact

○ Norm: a “standards” organization (ISO) write a reference document (free or with a cost access), which can be legally applied

6/23www.camptocamp.com /

Interoperability vs compatibility

Source: http://interoperability-definition.info/en/

7/23www.camptocamp.com /

Go Back to QGIS!

8/23www.camptocamp.com /

QGIS: interoperability

■ We are going to talk about:○ QGIS as a client of remote services (WMS/WFS/WCS)

○ QGIS Server for remote client

9/23www.camptocamp.com /

QGIS as a client

■ Works with MapServer, QGIS Server and GeoServer○ QGIS client support: WMS 1.1.0, 1.3.0, WFS 1.0.0 et 2.0,

WCS 1.0.0 et 2.0.0, SLD 1.0.0

MapServer GeoServer QGIS server

ArcGIS

WMS 1.0.0, 1.0.7, 1.1.0, 1.1.1, 1.3.0

1.1.1, 1.3.0 1.1.1, 1.3.0 1.0.0, 1.1.0, 1.1.1 et 1.3.0

WFS 1.0.0, 1.1.0, 2.0.0 1.0.0, 1.1.0, 2.0.0

1.0.0 1.0, 1.1

WCS 1.0.0, 1.1.0, 2.0.0, 2.0.1

1.0.0, 1.1.0, 1.1.1, 1.1, 2.0.1

1.1.1 1.0.0, 1.1.0, 1.1.1,

SLD 1.0.0 1.0.0, 1.1.0 1.0.0, 1.1.0 1.0.0

FE 1.0.0 1.0.0, 1.1.0, 2.0.0

10/23www.camptocamp.com /

An example with SLD

■ Export SLD from MapServer's Basemap project

■ Import the same layer with the SLD style in:○ GeoServer

○ QGIS

11/23www.camptocamp.com /

MapServer rendering (reference)

12/23www.camptocamp.com /

GeoServer rendering

13/23www.camptocamp.com /

QGIS rendering

14/23www.camptocamp.com /

QGIS as a server

■ QGIS server support the following services:○ WMS: 1.3.0 (Sourcepole - 2010)

○ WFS-T: 1.0.0 (3Liz – 2012 - example)

○ WCS: 1.1.0 (3Liz - 2013)

○ SLD: 1.0.0

15/23www.camptocamp.com /

This is not enough!

■ Quid closed-source softwares?○ Should be ok (but not formally tested)

■ And how to manage missing feature in standard?○ On-the-fly substitutions (GeoServer and MapServer)

○ Leader in MapServer, soon in QGIS, not in GeoServer

○ Vendor specific request in QGIS server but no support in MapServer and GeoServer (Print request)

16/23www.camptocamp.com /

In theory, it works!

■ but it really works (not so bad) !

■ Some limitations:○ Bugs

○ Wrong implementation of OGC standards

○ Inaccuracy in OGC standards

○ Missing (optional) features in the product (eg. WMS-T in QGIS)

17/23www.camptocamp.com /

Complexe use case

■ GeoMapfish (~2010):○ Mapfish framework (Pyramid + Papyrus)

○ Print service: MapFish Print

○ Client side:

- 1.x: CGXP (GXP, GeoExt, Extjs, OpenLayers 2)

- 2.x: OpenLayers3 and AngularJS

○ Map Server: MapServer (but not anymore)

○ Database: PostGIS

18/23www.camptocamp.com /

GeoMapfish and OGC standards

WMS or WMTS

WMS or WFS

WFS

WMS-T

WFS-T

19/23www.camptocamp.com /

Three map servers for one application

Geoserver

MapServer

20/23www.camptocamp.com /

Problems are in the details!

■ WMS GetFeatureInfo: no support for GML format (done now)

■ Right management: ○ Out of scope of OGC standards!

○ Works with MapServer and GeoServer with on the fly substitutions

- Current: new methods in the QGIS server API to be used in a plugin in QGIS server

21/23www.camptocamp.com /

Conclusion

■ Pros:○ QGIS has a really good support of OGC services standards

○ QGIS server support web services

○ No limitation on services standards

■ Cons:○ Mainly styles (SLD) support (QGIS, GeoServer and

MapServer)

○ Some bugs (for instance maxFeatures=200 in a WFS GetFeature request failed)

■ Needs more performance comparison