Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Introduction to GeoNode Simone Giannnecchini 2 Founder/Director GeoSolutions Italy President GeoSolutions USA Ryan Burley Director of Biz Dev & Sales North America GeoSolutions USA

Slide 3

Slide 3 text

GeoSolutions Group • World leader in Open Source enterprise software for geospatial information management since 2006 • More than 240 customer worldwide, offices in Italy & US • Core Open Source Products – MapStore – GeoServer – GeoNode – GeoNetwork • Offer – Enterprise Support – Professional Training – Custom Tailor Solution – Subscriptions 3

Slide 4

Slide 4 text

Outline • Introduction to GeoNode • Dataset management with GeoNode • Mapping with GeoNode • Dashboards with GeoNode • Storytelling with GeoNode • Who is using GeoNode • Documentation & resources on GeoNode 4

Slide 5

Slide 5 text

GeoNode GeoNode Homepage 5

Slide 6

Slide 6 text

• Geospatial data content management system • Free and Open Source • Data upload (web and API) + management • Data dissemination via OGC API (CSW, WMS, WFS, WCS, WMTS) • Integrated security with granular permissions • Integrated metadata management • Integrated advanced visualizations – Mapping + storytelling + dashboards • Advanced data filtering, exporting and editing GeoNode Capabilities 6 ALL IN A SINGLE PLATFORM!

Slide 7

Slide 7 text

GeoNode Architecture • Leverages most widely used open source components • PostGIS as DBMS • GeoServer as OGC Server • pyCSW as Catalogue Service • MapStore as the webgis • Django for the portal & infrastructure • Celery and RabbitMQ for the asynchronous processing 7

Slide 8

Slide 8 text

GeoNode Resources Allowed resources types and creation options • Datasets: Upload, Import, Create, Proxy (remote) • Shapefile, GeoTiff, CSV, GeoPackage • Documents: Upload • PDF, XLS, MP4, JPEG, PNG, etc… • Maps: Create • Geostory: Create • Dashboard: Create 8

Slide 9

Slide 9 text

GeoNode User Interface 9

Slide 10

Slide 10 text

GeoNode User Interface • GeoNode Homepage • Full Text Search • Featured Resources • Infinite Scrolling • Quick Preview 10

Slide 11

Slide 11 text

GeoNode User Interface Optimized for mobile 11

Slide 12

Slide 12 text

GeoNode User Interface Easy to create custom branding 12

Slide 13

Slide 13 text

GeoNode User Interface Integrated Viewers and Editors 13 Documents Maps GeoStory GeoDashboard

Slide 14

Slide 14 text

GeoNode User Interface Integrated TimeSlider Widget 14

Slide 15

Slide 15 text

GeoNode User Interface Multi-level filtering to ease resources exploration/finding 15

Slide 16

Slide 16 text

Datasets & Documents 16

Slide 17

Slide 17 text

Datasets Upload • Choose with file browser or Drag&Drop your files • REST API Upload • QGIS Upload → NEW! • Automated ingestion workflow for Vector and Raster datasets • Start with geospatial file • End up with a managed dataset with OGC Endpoints 17

Slide 18

Slide 18 text

Datasets Upload 18 Improved upload user interface

Slide 19

Slide 19 text

Datasets Creation • Easy vector dataset creation via UI • Add vector features later via webgis (MapStore) or via WFS-T API (ex. QGIS) 19

Slide 20

Slide 20 text

Remote Datasets • Easily connect to 3rd party OGC servers & ArcGIS Services • Import desired resources 20

Slide 21

Slide 21 text

Documents as datasets • Support for many types of documents upload • Bonus: Link your non geographical documents with available resources 21

Slide 22

Slide 22 text

Metadata Management • Create and manage metadata via a wizard UI • Import Metadata from standard formats (Dublin Core, XML-ISO, etc.) 22

Slide 23

Slide 23 text

Metadata Management Quick Access to Edit Tools: Thumbnails 23

Slide 24

Slide 24 text

Editing datasets data • Easily create/edit datasets data in tabular format 24

Slide 25

Slide 25 text

Editing datasets data • Create/edit features geometries 25

Slide 26

Slide 26 text

Upload / Edit datasets data Brand new QGIS Plugin for GeoNode 26

Slide 27

Slide 27 text

Manage and Edit data with QGIS Plugin Edit and sync styles between GeoNode and QGIS 27

Slide 28

Slide 28 text

Manage and Edit data with QGIS Plugin Edit data with QGIS (via WFS-T) 28

Slide 29

Slide 29 text

Manage and Edit data with QGIS Plugin Also for raster data (via WCS) 29

Slide 30

Slide 30 text

Maps 30

Slide 31

Slide 31 text

Maps • Search and add GeoNode catalog layers • Order and group layers in map layers tree • Create new styles • Create widgets • Compare tools (swipe and spy glass) • Measure tools • Annotations • Customizable Backgrounds • Print tool 31

Slide 32

Slide 32 text

Maps: Search and add catalog layers 32

Slide 33

Slide 33 text

Maps: Order and group layers 33

Slide 34

Slide 34 text

Maps: Create widgets 34 Tip: Widgets can be linked to map bounds and/or applied a data filter

Slide 35

Slide 35 text

Maps: Swipe and Glass Spy tools 35

Slide 36

Slide 36 text

Maps: Measure tool 36 • Bonus: Export measure results as GeoJSON

Slide 37

Slide 37 text

Maps: Annotations 37 • Annotations with different geometry types • Style annotation features • Export annotations as GeoJSON

Slide 38

Slide 38 text

Maps: Print Module 38 • Advanced print widget with customization features

Slide 39

Slide 39 text

Styling

Slide 40

Slide 40 text

Advanced Styling • Ability to style both raster and vector layer • Predefined template styles • Style creation via UI • Style creation via code (SLD, GeoCSS) 40

Slide 41

Slide 41 text

Style templates 41

Slide 42

Slide 42 text

Visual Style Editor 42

Slide 43

Slide 43 text

Visual Style Editor 43

Slide 44

Slide 44 text

Visual Style Editor 44

Slide 45

Slide 45 text

Code Style Editor 45

Slide 46

Slide 46 text

Style Concepts • Layer (the styles applies to) • Rules – Filters/selectors (what should be painted, e.g. feature with a specific value of a property) – Scale dependencies (zoomed in, zoomed out?) – Symbolizers (how should it be painted) • Point • Line • Polygon • Text 46

Slide 47

Slide 47 text

47 … type alpine_hut 100000.0 image/png Filter Scale dep. Symbolizer SLD 1.0

Slide 48

Slide 48 text

GeoCSS • Compact syntax, familiar for web developers • CQL based filtering, rule nesting and cascading keeps complex styling compact (you just express the overrides to the base) • Autocomplete in the style editor • Does not get any more compact than this: 48 [type = 'alpine_hut'][@sd < 100k] { mark: url('symbols/alpinehut.p.16.png'); }

Slide 49

Slide 49 text

Symbolize based on scale E.g., at lower scales/lower zoom levels do not show buildings 49

Slide 50

Slide 50 text

Symbolize in a different way depending on scale E.g., different thickness based on the current zoom 50

Slide 51

Slide 51 text

Transformation Functions Another way of setting a different value depending on the current scale/zoom level. Useful if the scaling is not linear 51 ● Less than 400k 🡪 2px ● [400k, 800k] 🡪 1.9px ● [800k, 1.5M] 🡪 1.4px ● [1.5M, 3M] 🡪 1 ● [3M, 6M] 🡪 0.8 ● Above 6M -> 0.5 [class = 'highway’ and type in ('motorway’, 'motorway_link’)] [@sd < 25M] { stroke: #e66e89; stroke-width: categorize(@sd, 2, 400k, 1.9, 800k, 1.4, 1.5M, 1, 3M, 0.8, 6M, 0.5);

Slide 52

Slide 52 text

52 52 [@sd < 200k] { label: [FULLNAME]; label-anchor: 0.5 1.0; label-offset: 0.0 -14.0; font-fill: #000033; font-family: Arial; font-size: 12; halo-color: white; halo-radius: 1.5; label-priority: 200000; label-auto-wrap: 100; mark: url('./img/landmarks/${IMAGE}’); mark-label-obstacle: true; } «FULLNAME» attribute Auto wrapping label with halo. Data driven symbol URL Labels won’t overlap the symbol CSS Labels

Slide 53

Slide 53 text

53 53 [@sd < 200k] { label: [LABEL_NAME]; font-fill: #000000; font-family: Arial; font-size: 13; font-style: normal; font-weight: bold; halo-color: #FFFFFF; halo-radius: 1; label-follow-line: true; label-repeat: 400; label-group: true; label-max-displacement: 200; } Draw «LABEL_NAME», black, with white halo Draw them along lines, fuse segments with same label, repeat CSS Line Labels

Slide 54

Slide 54 text

Raster Styling 54 [@sd > 75000] { raster-channels: auto; raster-color-map: color-map-entry(#00BFBF, -100.0, 0) color-map-entry(#00FF00, 920.0, 0) color-map-entry(#00FF00, 920.0, 1.0) color-map-entry(#FFFF00, 1940.0, 1.0) color-map-entry(#FFFF00, 1940.0, 1.0) color-map-entry(#FF7F00, 2960.0, 1.0) color-map-entry(#FF7F00, 2960.0, 1.0) color-map-entry(#BF7F3F, 3980.0, 1.0) color-map-entry(#BF7F3F, 3980.0, 1.0) color-map-entry(#141514, 5000.0, 1.0); } CSS

Slide 55

Slide 55 text

Security & Permissions 55

Slide 56

Slide 56 text

GeoNode Security Backend GeoNode takes advantage of its Django backend to provide a robust and granular security backend • Users • Permissions: Binary (yes/no) flags designating whether a user may perform a certain task. • Groups: A generic way of applying labels and permissions to more than one user. • A configurable password hashing system • Forms and view tools for logging in users, or restricting content • A pluggable backend system 56

Slide 57

Slide 57 text

Supported Authentication Backends • Basic Authentication • OAuth2 / OpenID • Social Media (Twitter, LinkedIn, …) • Keycloak • LDAP • … 57

Slide 58

Slide 58 text

Public or Private by default • In its default configuration, GeoNode makes published data visible to anyone • It can be configured to make new data private by default, letting data owners and / or the administrators to relax the access rules • GeoNode can also be configured with a global lock. Only authenticated users can list and view authorized contents 58

Slide 59

Slide 59 text

Approval and Publishing system • The so called “Advanced Workflow” configuration can be activated to take control over: • The approval of resources • The publishing of a resource • Only specific user roles can approve and / or publish resources. Once the resource is approved only administrators and privileged users can make changes to it 59

Slide 60

Slide 60 text

Granular Permission System Permissions are delegated to the GeoServer backend which uses an advanced authorization system called GeoFence. • The Authorizations rules have a fine granularity. The security rules are handled by GeoFence similarly to the iptables rules and allows for defining security constraints even on sub-regions and layer attributes. • GeoFence exposes a REST interface to its internal rule database, allowing external managers to update the security constraints programmatically • GeoFence implements an internal caching mechanism which improves considerably the performances under load. 60

Slide 61

Slide 61 text

Permissions 61 Dataset

Slide 62

Slide 62 text

Permissions 62 Document

Slide 63

Slide 63 text

Geo-Limits 63 Ability to constrain by geographical area

Slide 64

Slide 64 text

GeoStories 64

Slide 65

Slide 65 text

GeoStories • A GeoStory is a special type of content in GeoNode allowing you to create a storytelling-type frame composed by a mix of geospatial data and static media-type contents. • Ability to compose the frames by placing text, images, video, audio, maps and other static contents into a dynamic page which will result in a narrative story. • An alternative way to a simple plain map of presenting contents and link them to events and places in the world. 65

Slide 66

Slide 66 text

GeoStory Sections • Title - Customizable Text and background (Image, Video or Map) • Banner - Only background customizable (Image, Video or Map) • Paragraph - Text, Image or Media content can be added • Immersive - Background is customizable as well Text, Image or Media content can be added • GeoCarousel - Map can be added as background, a text content customized and carousel cards with geographic content can be added • Media - Customizable Image, Video or Maps content • Web Page - Link an external website as content 66

Slide 67

Slide 67 text

GeoStory: Title 67

Slide 68

Slide 68 text

GeoStory: Immersive 68

Slide 69

Slide 69 text

GeoStory: GeoCarousel 69

Slide 70

Slide 70 text

GeoStory: Complete demo • Review full featured GeoStory examples 70 https://stable.demo.geonode.org/apps/3491/embed https://stable.demo.geonode.org/apps/425/embed https://master.demo.geonode.org/catalogue/#/geostory/79

Slide 71

Slide 71 text

GeoDashboards 71

Slide 72

Slide 72 text

Dashboards • Provide an overview to better visualize a specific data context • Interact spatially and analytically with the data by creating connections between widgets • Perform analysis on involved data/layers 72

Slide 73

Slide 73 text

Dashboards: Types of Widgets 73

Slide 74

Slide 74 text

Dashboards: Map widget • On this widget you must choose a pre-existing map resource, but you can remove and/or add more layers to the existing map context. 74

Slide 75

Slide 75 text

Dashboards: Table widget • On table widget you can choose field to show and/or predefined a filter. You can also connect this widget to a map widget to filter by map bounds 75

Slide 76

Slide 76 text

Dashboards: Graph widget • You can use bar, pie or line chart for a given layer attribute. You can also connect this widget to a map widget to filter by map bounds 76

Slide 77

Slide 77 text

Dashboards: Counter widget • Allows you to perform a count operation over a specific layer attribute 77

Slide 78

Slide 78 text

Dashboards • Demo example of widgets connected to main map 78

Slide 79

Slide 79 text

Dashboards • Full examples 79 • https://master.demo.geonode.org/catalogue/#/dashboard/503 • https://master.demo.geonode.org/catalogue/#/dashboard/823 • https://master.demo.geonode.org/catalogue/#/dashboard/803

Slide 80

Slide 80 text

Who is using GeoNode 80

Slide 81

Slide 81 text

Who is using GeoNode: Adadata • Data portal to support defense and intelligence communities • Masego Inc. 81

Slide 82

Slide 82 text

Who is using GeoNode: UNESCO IHP WINS • Water Information Network System portal • UNESCO HQ (Paris) • Partners around the world 82

Slide 83

Slide 83 text

Who is using GeoNode: UNESCO Galapagos 83 • Galapagos Open Data Porta • UNESCO Ecuador

Slide 84

Slide 84 text

Who is using GeoNode: The World Bank 84 • Global Facility for Disaster Reduction and Recovery @ WB • Curated Hazard Open Data

Slide 85

Slide 85 text

Who is using GeoNode: UN WFP 85 • UN World Food Program • Curated WFP Open Data

Slide 86

Slide 86 text

Who is using GeoNode: UNEP 86 • UNEP-GRID (Geneva) • Curated Caucasus Data

Slide 87

Slide 87 text

Who is using GeoNode: UNMISS 87 • UN Mission in South Sudan • Curated GeoStories for UNMISS projects

Slide 88

Slide 88 text

More… 88

Slide 89

Slide 89 text

GeoNode Roadmap & Wishlist 89 • Vector Tiles • GeoPackage Upload • On the fly analysis • Data Preprocessing • Data Collection support

Slide 90

Slide 90 text

GeoNode Resources • Open Access Demos (you can register and play with it for free) – for 4.x – for 3.3.x • Documentation – for 4.x – for 3.3.x • Training Material – for 4.x – for 3.3.x • Our youtube channel • Our slidedeck • Recordings for our online classes (Bonus) 90

Slide 91

Slide 91 text

GeoSolutions Contacts • [email protected] • http://www.geosolutionsgroup.com • http://twitter.com/geosolutions_it • Youtube channel 91 Simone Giannecchini O: 202-902-9949 [email protected] Ryan Burley O: 564-234-4070 C: 206-915-3294 [email protected]