52
Heron Mapping Client An Overview Coöperatieve Vereniging OpenGeoGroep U.A. - www.opengeogroep.nl Just van den Broecke - www.justobjects.nl Geonovum Dec 17, 2013

Heron Viewer - Just van den Broecke

Embed Size (px)

Citation preview

Page 1: Heron Viewer - Just van den Broecke

!

Heron Mapping Client An Overview

!

!

Coöperatieve Vereniging OpenGeoGroep U.A. - www.opengeogroep.nl

Just van den Broecke - www.justobjects.nlGeonovum Dec 17, 2013

Page 2: Heron Viewer - Just van den Broecke

Agenda

!

•Nutshell •Examples •Concepts •Q&A

2Nutshell

Page 3: Heron Viewer - Just van den Broecke

What is Heron?

!

JavaScript framework to quickly develop

geo-apps for the browser

3Nutshell

Page 4: Heron Viewer - Just van den Broecke

What Heron is not

!

not a viewer app not even an app

not a client/server suite

4Nutshell

Page 5: Heron Viewer - Just van den Broecke

!

Heron provides building blocks

to create your own app

5Nutshell

Page 6: Heron Viewer - Just van den Broecke

From a minimal map viewer

6

Page 7: Heron Viewer - Just van den Broecke

To more complex apps

7

Page 8: Heron Viewer - Just van den Broecke

Heron Embraces Standards and Code Reuse

!

server: OGC services ==> WMS, WFS, OpenLS, CSW, WPS, SOS

data: standard formats ==> GML, GeoJSON, CSV, Shape,...

code: existing libraries ==> GeoExt, OpenLayers, ExtJS

8Nutshell

Page 9: Heron Viewer - Just van den Broecke

And more

!

Free and Open Source ==> GNU GPL v3 License

In The Cloud ==> public repository, no barriers

Community ==> small but growing, customers and devs

9Nutshell

Page 10: Heron Viewer - Just van den Broecke

!

www.heron-mc.org

10Nutshell

Main entry

Page 11: Heron Viewer - Just van den Broecke

Functions by Example

11Examples

Page 12: Heron Viewer - Just van den Broecke

Examples, Examples

12Examples

Customizable Layer Trees WMS, WFS, WMTS, TMS,

Vector,..Multitabbed

“Identify” (WMS, WFS)

Autofill Gazetteer Search:PDOK Geocoder

(OpenLS), Geonames.org,Your

Geocoder

Page 13: Heron Viewer - Just van den Broecke

13

Lightweight CMS/Portal

Flexible Layer Stacking with

Transparency Sliders

Page 14: Heron Viewer - Just van den Broecke

14

Theming

Page 15: Heron Viewer - Just van den Broecke

15

Layer Stacking with Transparency Sliding

Customizable Feature Grid (e.g. hyperlinks)

Page 16: Heron Viewer - Just van den Broecke

16

Form-based WFS-Search

Page 17: Heron Viewer - Just van den Broecke

17

WFS Search by Drawing Shapes

Page 18: Heron Viewer - Just van den Broecke

18

Spatial WFS Search: Draw Shapes to find Geometries in source Layer and use these for search in target Layer!

Page 19: Heron Viewer - Just van den Broecke

19

All Searches use flexible Feature GridDownload in any standard format

Page 20: Heron Viewer - Just van den Broecke

20

Sparetime: making hiking GPX routes

Redlining/drawing tool

Up/Download, any

standard

Page 21: Heron Viewer - Just van den Broecke

21

Draw a Path

Page 22: Heron Viewer - Just van den Broecke

22

Export as GPX

Page 23: Heron Viewer - Just van den Broecke

23

Make a Print (PDF)

Page 24: Heron Viewer - Just van den Broecke

24

Copyright 2013. By Holder

Garda Meer 12

Mooie wandeling etc.

2013-09-03

400m2000

MapFish Print Serverat Kadaster GEORZ Lab

www.kademo.nlYAML core Warwickshire CC

YAML by Heron DevsCustomizable Print Output

Page 25: Heron Viewer - Just van den Broecke

25

Use GPX on any other Device

Page 26: Heron Viewer - Just van den Broecke

26

Be surprised how it looks in real!

Page 27: Heron Viewer - Just van den Broecke

Heron - Goals

•Make web mapping easy • Not just a map: provide for a complete web app • Reuse the power of existing web mapping libs • Reusable widgets and components • Server back-end: • Minimal weight • Open Standards: OGC (W*S, CSW), TMS etc

• Focus on “The Data behind the Map”

27

Page 28: Heron Viewer - Just van den Broecke

Heron - Concepts

• Declarative Programming • “what” not “how” • via config • “look ma, no programming!”

• Component Based • Complete Webapp • Build on GeoExt

(=ExtJS+OpenLayers) and others like GXP

28

Page 29: Heron Viewer - Just van den Broecke

Heron - Slogan

the configuration is the app the app is the configuration

29

Page 30: Heron Viewer - Just van den Broecke

Hello World

http://lib.heron-mc.org/heron/latest/examples/minimal

30

Page 31: Heron Viewer - Just van den Broecke

Hello World

Heron.layout = {! xtype: 'hr_mappanel',! hropts: {! layers: [! new OpenLayers.Layer.WMS("World Map",! "http://www2.demis.nl/WMS/wms.asp?WMS=WorldMap", ! {layers: 'Coastlines', format: 'image/png’} ! )! ]! }!};!

http://lib.heron-mc.org/heron/latest/examples/minimal

31

Page 32: Heron Viewer - Just van den Broecke

Architecture - That’s a Wrap

GeoExt

Heron Framework

Heron Apps

32

Page 33: Heron Viewer - Just van den Broecke

Architecture - Two-pillared GeoExt

ExtJS Open Layers

GeoExt

Heron Framework

Heron Apps

33

Page 34: Heron Viewer - Just van den Broecke

Architecture - Plugins and User Extensions (UX)

ExtJS Open Layers

GeoExt

Heron Framework

Heron Apps

34

GXPUX

UX

Page 35: Heron Viewer - Just van den Broecke

Architecture - Heron in SDI

35

Source: http://sdi08.rosa.ro/

- Heron - Pure HTML/

JavScript/CSS

Page 36: Heron Viewer - Just van den Broecke

Architecture - Client/Server with mainly Open OGC Standards

Heron

36

PyWPS

WMS WFS WMTS TMS WPS CSWCustom

Proxy

Heron.cgiYour Scripts...

Client

API

Server

= Planned

(NGR)

Page 37: Heron Viewer - Just van den Broecke

What is a Heron App

• Heron App === Configuration • defined as JSON/JavaScript object in config .js files • determines overall GUI-layout • includes components (widgets) and their properties • components from Heron, GeoExt, GXP and/or ExtJS • plus your own custom components • “Builder” Design Pattern (based on ExtJS ‘xtype’)

37

Page 38: Heron Viewer - Just van den Broecke

Example - Heron Config Snippet

Heron.layout = {!! xtype: 'panel',! layout: 'border',! items: [!! !{!! !! xtype: 'panel',!! !! layout: 'accordion',!! !! region: "west",!! !! width: 240,!! !! collapsible: true,!! !! split: true,!! !! border: false,!! !! items: [!! !! ! {!! !! ! ! xtype: 'hr_layertreepanel'!

.! .! .!

! !{!! !! xtype: 'hr_mappanel',!! !! layout: 'border',!! !! region: 'center',!! !! width: '100%',!! !! items: [!

.! .! .!

38

Page 39: Heron Viewer - Just van den Broecke

39

MapPanel (Center)

LayerTreePanel in Accordion Layout

(West)

Toolbar Items in

MapPanel

Page 40: Heron Viewer - Just van den Broecke

The App: index.html with No Body

<html>!<head>!! <title>Kadaster GEORZ Lab &amp; INSPIRE Data with FOSS</title>!! <!-- External lib: ExtJS -->!! <link rel="stylesheet" type="text/css" href="http://extjs.cachefly.net/ext-3.4.1/resources/css/ext-all.css"/>!! <script type="text/javascript" src="http://extjs.cachefly.net/ext-3.4.1/adapter/ext/ext-base.js"></script>!! <script type="text/javascript" src="http://extjs.cachefly.net/ext-3.4.1/ext-all.js"></script>!!! <!-- External lib: OpenLayers -->!! <script type="text/javascript" src="http://lib.heron-mc.org/openlayers/2.11/OpenLayers-min.js"></script> !!! <!-- External lib: GeoExt -->!! <script type="text/javascript" src="http://lib.heron-mc.org/geoext/1.1/GeoExt-min.js"></script>!!! <!-- External lib: Heron Mapping Client -->!! <link rel="stylesheet" type="text/css" href="http://lib.heron-mc.org/heron/latest/resources/css/default.css"/>!! <script type="text/javascript" src="http://lib.heron-mc.org/heron/latest/script/Heron.js"></script>!!! <!-- Specific JS/CSS for this site -->!! <link rel="stylesheet" type="text/css" href="resources/css/site.css"/>!! <script type="text/javascript" src="resources/js/options.js"></script>!! <script type="text/javascript" src="resources/js/layout.js"></script>!!</head>!<body>!</body>!</html>!

the configuration is the app !the app is the configuration

40

Your Config

Supporting Libs

Page 41: Heron Viewer - Just van den Broecke

Development

• Founding fathersDutch Kadaster (Kademo Lab) and RVOB

• Initially developed with GeodanESDIN INSPIRE Project

• Contributors from OpenGeoGroep.nl and internationally • OGG: Eddy Scheper, Anke Keuren, Milo van der Linden, Raymond

Nijssen, Just van den Broecke e.v.a.

• Google Code project (GPLv3) • http://code.google.com/p/geoext-viewer - project • http://groups.google.com/group/geoext-viewer-devel -

mailing list

41

Page 42: Heron Viewer - Just van den Broecke

Positioning Heron

• Desktop GIS Replacement • migration from proprietary desktop apps (Arc*, MapInfo,..) • traditional (toolbar!) but productive (viz. spreadsheet) • many intranet/internal deployments

• “Users as Developers” • assembly (config) by customers’ GIS-specialists

• “Geospatial Asset Management” • see Cases next

• Not: • mobile apps (not now, but planned)

42

Page 43: Heron Viewer - Just van den Broecke

Heron Cases with Assets Managed

• RVOB: Government-owned Properties • PDOK: PreviewApp: testing PDOK services • Kadaster: Cadastral Parcels and related assets • Kadaster Kademo Lab: many prototyping apps • Gasunie: Gas Pipelines and -Installations • Deutsche Bundesbahn: Railways and related • Warwickshire (UK): county properties

43

Page 44: Heron Viewer - Just van den Broecke

Customer Development Model

44

• Co-development with Customers within Community • jointly determine new features; select which to add to Heron core • new features added to Heron public Tracker and Roadmap • communication on issues via public Heron tracker/mailing list

• Customer Benefits • maintain only a Heron configuration (=application!) • influence roadmap • simple online progress tracking • help from the community • long-term OGG-support contracts • minimal maintenance costs • new functions for free with Heron upgrades!

• Future: joint funding ?!

Page 45: Heron Viewer - Just van den Broecke

45

Page 46: Heron Viewer - Just van den Broecke

46

Page 47: Heron Viewer - Just van den Broecke

Links

www.heron-mc.org

http://lib.heron-mc.org - hosted libs (also on CDNJS) http://apps.heron-mc.org - ready apps

47

Page 48: Heron Viewer - Just van den Broecke

Geonovum SOS Platform

1. Intro

Clients

Services

Data and Transformations

Page 49: Heron Viewer - Just van den Broecke

Clients - WMS/WFS - HeronViewer

4. Clients

Page 50: Heron Viewer - Just van den Broecke

4. Clients

Clients - SOS - JSClient - 52N

Page 51: Heron Viewer - Just van den Broecke

Heron Workshop

we gebruiken vandaag: http://sensors.geonovum.nl/heronviewer

!

meer voorbeelden:

http://heron-mc.org/examples.html

http://kadviewer.kademo.nl

Page 52: Heron Viewer - Just van den Broecke

Heron Workshop• navigatie: pan, zoom, prev/next

• lagen beheer: lagen aan/uit zetten

• lagen toevoegen 1) uit catalogus 2) zoek in NGR (CSW)

• object informatie via WMS GetFeatureInfo

• ga naar plek op kaart: 1) adreszoeker 2) coordinaten

• WMS-Time: 1) huidige waarden 2) historie met tijdschuif

• spatial queries (WFS), download resultaten

• data laden, e.g. Shapefile (.zip)

• tekenen

• printen