malawi atlas...2019/03/12  · openlayer 2 → openlayers 4, aktuell ist ol5 von 2 auf 3 großer...

Post on 03-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Malawi Atlas

Jakob MikschFOSSGIS-Konferenz 2019

2Jakob Miksch

Jakob Mikschjakob.miksch@sbg.ac.atwww.jakobmiksch.eu

Wissenschaftlicher Mitarbeiter - Z_GIS

OSGeo Charter Member

Maptime Salzburg

Geo-AnwendungenPostGIS, SQL, Python, R, Java, Javascript,

OpenLayers, Web, Android, QGIS, Bash, GDAL/OGR, OpenStreetMap, Routen-Planung,

GeoServer, Spatial Analysis, . . .

3Jakob Miksch

Universität Salzburg: 18.000 Studierende, 3.000 MA

Z_GIS

~85 MA, ~80% drittmittelfinanziert

MSc Applied Geoinformatics: ~35 Studierende jährlich

PhD GIScience: ~45 DoktorandInnen

4Jakob Miksch

Z_GIS Forschung

5Jakob Miksch

2014 2019

https://github.com/zgis/malawi_atlas_public

6Jakob Miksch

Architektur

7Jakob Miksch

Demo

8Jakob Miksch

PostgreSQL + PostGIS

9Jakob Miksch

PostGIS

10Jakob Miksch

Benennung

nsanje.ngo_mapping_ta_summaries_coopi_2018

Gebiet (=Schema)

grobe Bezeichnung

genaue Bezeichnung

Quelle

Jahr

11Jakob Miksch

12Jakob Miksch

Ext JS

13Jakob Miksch

OpenLayers + GeoExt

14Jakob Miksch

Diagramme

15Jakob Miksch

Druck-Funktion

16Jakob Miksch

17Jakob Miksch

Upload von Daten

18Jakob Miksch FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

19Jakob Miksch

FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

20Jakob Miksch FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

21Jakob Miksch

Malawi Atlas

Malawi Atlas

Jakob MikschFOSSGIS-Konferenz 2019

● Source code ist offen● Kooperation mit COOPI und Concern Worldwide● Neu-Entwicklung eines 5 Jahre alten Portals● Bericht über verwendete Technologien● Ausblick auf Alternative Technologien

2Jakob Miksch

Jakob Mikschjakob.miksch@sbg.ac.atwww.jakobmiksch.eu

Wissenschaftlicher Mitarbeiter - Z_GIS

OSGeo Charter Member

Maptime Salzburg

Geo-AnwendungenPostGIS, SQL, Python, R, Java, Javascript,

OpenLayers, Web, Android, QGIS, Bash, GDAL/OGR, OpenStreetMap, Routen-Planung,

GeoServer, Spatial Analysis, . . .

● Wissenschaftlicher Mitarbeiter am Z_GIS● Programmiert hauptsächlich● Maptime Salzburg

3Jakob Miksch

Universität Salzburg: 18.000 Studierende, 3.000 MA

Z_GIS

~85 MA, ~80% drittmittelfinanziert

MSc Applied Geoinformatics: ~35 Studierende jährlich

PhD GIScience: ~45 DoktorandInnen

4Jakob Miksch

Z_GIS Forschung

● GIScience Lab – meine Arbeitgruppe● ISI - Kooperation

5Jakob Miksch

2014 2019

https://github.com/zgis/malawi_atlas_public

● War eine Arbeit für eine andere Forschungsgruppe● GUI hat sich nur wenig verändert● Das meiste ist im Hintergrund passiert

● Code strukturierter● Namen ordentlicher● Update der Software und Libraries

6Jakob Miksch

Architektur

● Alte und neue Architektur ist gleich● Klassische Kombination PostGIS+GeoServer● Haben überlegt was anderes zu nehmen, doch

mehr dazu später● Um das Upgrade leichter zu machen, haben wir die

selbe Technolgie gewählt

7Jakob Miksch

Demo

8Jakob Miksch

PostgreSQL + PostGIS

● PostGIS ist eine Erweiterung von PostgreSQL● Sehr mächtige Datenbank● Speziell für räumliche Funktionen●

9Jakob Miksch

PostGIS

Bennenung der Tables sehr wichtig> 100 Tables waren uneinheitlich benannt

10Jakob Miksch

Benennung

nsanje.ngo_mapping_ta_summaries_coopi_2018

Gebiet (=Schema)

grobe Bezeichnung

genaue Bezeichnung

Quelle

Jahr

● Schemas nach Regionen sortiert● Reine Tabellen ohne Relationen● Benennung wichtig●

11Jakob Miksch

● Bennenung der Layer und der Styles in GeoServer auch wichtig

● Vektordaten über Postgres● Rasterdaten im Filesystem → Pyramiden bauen ist

wichtig● OpenAerialMap für große Bilder, redirect mit

GeoServer● Styling mit SLD● Eigener Daten-Ordner macht Sinn● Plugins für GeoPackage, Druck, Diagram-

Rendering, ...

12Jakob Miksch

Ext JS

● Web-Framework● Gute Dokumentation● Wenig Aktivität in Foren● Data Store● Wenn man sich anpasst hat man ein leichtes Leben● Code wird strukturiert in Komponenten● Update von Ext JS 4 → Ext JS 6● Lizenz GPL oder closed source

13Jakob Miksch

OpenLayers + GeoExt

● OpenLayer 2 → OpenLayers 4, aktuell ist OL5● Von 2 auf 3 großer Sprung → Rewrite● OpenLayers wird für die Kartendarstellung

genommen● GeoExt stellt eine Verbindung zwischen den Ext JS

Data Store her● Zusammenarbeit mit Meggsimum

14Jakob Miksch

Diagramme

● Diagramme können gut mit ExtJS gemacht werden● Viele Einstellungen● Liest den Ext JS Data Store

15Jakob Miksch

Druck-Funktion

● GeoServer Print Plugin● Basiert auf MapFish Print Version 2● Aktuell ist MapFish Print 3 (aber komplettes

Rewrite basierend auf Jasper Reports)● Einrichtung nicht ganz trivial, funktioniert aber

zuverlässig ● Komplett im Backend● Ein JSON mit der Konfiguration wird im Frontend

erstellt

16Jakob Miksch

• Vorher Dokumentation PDF• Mit Sphinx kann man PDF und Website machen• Ermöglicht dynamische Inhalte wie gifs• Dokumenation lässt sich angenehm mit git

versionieren• Schreiben im RST-Format etwas ungewohnt• Etabliert in OpenSource Welt

17Jakob Miksch

Upload von Daten

● Eher kompliziert● Upload in Postgres mit QGIS● Styling mit QGIS und/oder GeoServer SLD● Layerinfo mit Metadaten in Website Source Code

→ pragmatisch aber hat Nachteile

18Jakob Miksch FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

● Gesamt Übersicht● Möglichkeiten Backend und Frontend zu machen● Backend weniger Möglichkeiten● Frontend sehr heterogen

19Jakob Miksch

FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

● Vektor: Postgres, MariaDB, MySQL, GeoPackage● Raster: Postgres, GeoPackage, File System● Geodaten Server:

● GeoServer: fast alles Möglich, Java● MapServer: sehr stabil, C++● Deegree: standard-konform● QGIS Server: nicht so verbreitet, Styling der

Daten aber per GUI möglich, Druckvorlagen können per GUI gestaltet werden

● Metadaten: mit bestehenden Programmen machen anstatt per Website

20Jakob Miksch FRONTEND

BACKEND

deegree

GeoServer

QGIS Server

MapServer

Geospatial Data Server

pyCSW

GeoNetwork

GeoServer CSW

GeoNode

Metadata Catalog

Vector Storage

GeoPackage

PostgreSQL

MariaDB

Raster Storage

GeoPackage

PostgreSQL

GeoTIFF

+Map Library

Webframework

Leaflet

OpenLayers

Angular

React Vue.js

Ext JS

MapFish Mapbender

MapStore GeoMoose

Custom Stack Pre-Bundled Stack

Pylons

Ext JS

OpenLayers

GeoExt

React

OpenLayers

Leaflet

React

OpenLayers

Symfony

JQuery

OpenLayers

Web Feature Service (WFS)

Web Map Service ( WMS )

Catalog Service for the WebAPI(CSW)

Custom Stack:● Alles selber bauen● Hohe Freiheit● Hoher Aufwand der Erstellung und Wartung

Prebundled Stack:● Weniger Aufwand zu installieren● Erweiterungen nur begrenzt möglich● Update mit weniger Aufwand● Man bekommt viel Geschenkt

21Jakob Miksch

Malawi Atlas

top related