Gis3W is an Italian company that developed G3W-SUITE, an open source application for publishing and managing QGIS cartographic projects on the web. G3W-SUITE consists of two components - G3W-ADMIN, an administration component for project management and access control, and G3W-CLIENT, a cartographic client for web viewing and interaction. G3W-SUITE allows users to organize projects hierarchically, control access to projects and modules, and publish QGIS projects as web services for viewing on G3W-CLIENT.
Diamond Application Development Crafting Solutions with Precision
Publishing QGIS projects on the web
1. 1
Publishing and managing
cartographic QGIS projects
on the web
W.Lorenzetti1
, L.Lami1
, F.Boccacci1
1
Gis3W
GIS e WebGis OS Solutions
www.gis3w.it
info@gis3w.it
2. 2
Who we are?
Gis3W is an Italian IT company with a core business on
developing web and webgis applications.
Gis3W was created in 2009 by main partners Walter Lorenzetti and Leonardo
Lami.
Over the years other members and collaborators joined in Gis3W.
At the moment the main stable members are:
Walter Lorenzetti
Server-side developer
System administrator
Leonardo Lami
QGIS/GIS User Expert
QGIS Edu teacher
Sales manager
Customer front-end
Francesco Boccacci
Front-end developer
3. 3
Origins and objectives
of the project
✔ have a software able to publish QGIS
cartographic projects on a WebGIS
client, in total autonomy and in simple and
fast way
✔ can organize cartographic contents in a
hierarchical way: Cartographic
MacroGroups and Cartographic Groups;
✔ access control systems based on a
configurable hierachic user profiling
system for administration and consultation
of projects
✔ develop dedicated modules that could be
managed, from the point of view of access
and use, in a profiled way
5. 5
Components of the Suite
G3W-SUITE is a modular client-server application for the
publication and management of QGIS cartographic projects,
consisting of 2 components:
✔ G3W-ADMIN: Administration component (project management, ACL,
OGC proxy server, API rest server)1
✔ G3W-CLIENT: Cartographic client for consultation and interaction with
OGC services2
Optional modules
✔ Front-end geographic portal: access to information, thematic groups and
WebGis services3
✔
Caching Module: tile caching module for single layer powerd by TileStache4
1) https://github.com/g3w-suite/g3w-admin
2) https://github.com/g3w-suite/g3w-client
3) https://github.com/g3w-suite/g3w-admin-frontend
4) https://github.com/g3w-suite/g3w-admin-caching
6. 6
Technological Stack
Icons made by Oliver (http://www.flaticon.com/authors/madebyoliver)
from www.flaticon.com are licensed by CC 3.0 BY
G3W-CLIENT developed
with reactive tecnology
by Vue.js
G3W-ADMIN developed
in Python 2 using Django
QGIS-Server 3.4.X LTR
as OGC services server
PostgreSQL
or SQLite
for the management
of suite data
PostGIS,
SpatiaLite or
file system
to store
cartographic data
7. 7
User upload QGIS project,
set ACL and other options
through the G3W-ADMIN GUI
Standard workflow
G3W-ADMIN stores
in DB info
about project ,
projet layers etc.
On bootstrap
G3W-CLIENT calls init API
On init API G3W-ADMIN
sends project stored data and
get extra information data through
a GetProjectSettings to QGIS server
After bootstrap G3W-ADMIN
works as proxy for OGC services requests
8. 8
G3W-ADMIN
The Administration interface
G3W-ADMIN is a graphical user interface for dynamic
definition parameters for G3W-CLIENT API REST configuration
The administration system makes the user independent in
publishing and managing WebGIS services
9. 9
G3W-ADMIN
The Administration interface
Creating
thematic and cartographic
Groups and MacroGroups
to manage WebGis services
in a structured way
Creating single and group users
that can be associated
to different roles
(admin, editor I, editor II, viewer)
Publishing
QGIS projects as webgis services,
accompanied by logos, description
and definition of access credentials
Activating
specific functional modules
linked to single web services
with ACL for users and user groups
Managing published webgis services
(search tools, editing, layers download)
10. 10
Settings inherited directly from
QGIS projects
Many graphic / functional aspects of the WebGis
publication derive directly from QGIS 3.4.x projects
✔ Title of the project and therefore of the WebGIS service
✔ General settings of the service and the features of the single layers
(activation scale, published attribute fields, display order and activation
status, etc...)
✔ WMS service settings: publishing extension, SR restrictions and list
of print layouts and layers to be excluded in the publication
✔ WFS service settings of the individual layers (bbox e polygon query)
✔ Print layouts available
✔ Attribute form structure and editing widget
✔ 1:1 and 1:n relation info
11. 11
G3W-ADMIN
The Administration interface: layers
Creating
search tools,
inheritable from the same
layer in other projects
Managing cache
Single layer tiling
through optional
g3w-admin caching module
Allowing
layer download
in shape file format
Enabling
editing on line
(with attribute form structure
and widget inheritable
from QGIS projects)
Enabling / disabling
WMS legend
Defining editing
geographical constraints
for each users enabled
12. 12
G3W-CLIENT
The WebGIS Client
Based on a modular approach, it allows to have an interface that
adapts to the management of the currently available modules (eg
print, search, editing, etc. ..) and future ones, in the simplest and
clearest way for the final user
13. 13
G3W-CLIENT
The WebGIS Client: features
Browse
the interactive
cartography
Various
methods of interrogation
(puntual, bbox, polygon)
1:1 e 1:n relation data
defined at the
QGIS project level
Consultation
of multimedia links
and images preview
Changing
WebGis service
maintaining extension
and scale
Print tool
with layouts defined
in the QGIS project
Consultation of the attribute table with pagination system
geolocation, on-the-fly external layer upload system
Attribute form inherited
from QGIS project
Simple metadata
inherited from the
General Capabilities
Use search tools
created in
G3W-Admin
Video link
14. 14
✔ work directily on DB by
custom API (no WFS-T)
✔ permissions can be
defined at the level of
single layer
✔ feature-lock for multi-user
editing
✔ user-settings snap mode
✔ geographical constraints
based on other layers and
settable for individual or
group users
Editing on line module
15. 15
✔ attributes form inherited
from the settings on the
QGIS project (tabs,
sessions …)
✔ editing widget inherited
from the QGIS project:
drop-down menu,
calendar, checkbox, pick-
layer, value map...
✔ editing on tables related
also through 1:n
relations based on the
QGIS project settings
Editing module
Video link
16. 16
G3W-SUITE study cases
Metropolitan Area of Bari
Planning tools for 28
administrations
Friuli Venezia Giulia
Regional Administration
Regional Landscape Plan
“Foreste Casentinesi,
Monte Falterona e
Campigna” National Park
Interactive cartographic portal
Transboundary GeoPark
of the Carnic Alps
Interactive webgis
Acque Toscane SpA
Water Network
Management
Lazio Regional Administration
Shared cartographic
management
17. 17
Future developments
✔ Python migration from 2 to 3 (within the end of the year)
✔ Use of QGIS3 API
✔ Release of editing module into the core or as optional
module (in the next few weeks)
✔ Implementation of geographic analysis modules via
WPS service (within the end of the year)
✔ Release of a CSW service by integrating pycsw as an
optional module (within the end of the year)
18. 18
Credits
Thanks to all of you for your attention and
to Bucharest FOSS4G for the organization!
https://g3wsuite.it https://github.com/g3w-suite