Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GeoInt 2022 - Introduction to GeoNode

GeoInt 2022 - Introduction to GeoNode

The presentation provides an introduction to one of the most complete and most widely used open source products for the geospatial world, GeoNode. For those wishing to build a spatial data infrastructure using open source products or those simply willing to explore what exists outside the ESRI silo we will provide an overview of the GeoNode capabilities in terms of data management, publishing and dissemination.

Bac74c17d65c22d0ae63915251f7750f?s=128

Simone Giannecchini
PRO

May 01, 2022
Tweet

More Decks by Simone Giannecchini

Other Decks in Programming

Transcript

  1. None
  2. Introduction to GeoNode Simone Giannnecchini 2 Founder/Director GeoSolutions Italy President

    GeoSolutions USA Ryan Burley Director of Biz Dev & Sales North America GeoSolutions USA
  3. 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
  4. 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
  5. GeoNode GeoNode Homepage 5

  6. • 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!
  7. 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
  8. 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
  9. GeoNode User Interface 9

  10. GeoNode User Interface • GeoNode Homepage • Full Text Search

    • Featured Resources • Infinite Scrolling • Quick Preview 10
  11. GeoNode User Interface Optimized for mobile 11

  12. GeoNode User Interface Easy to create custom branding 12

  13. GeoNode User Interface Integrated Viewers and Editors 13 Documents Maps

    GeoStory GeoDashboard
  14. GeoNode User Interface Integrated TimeSlider Widget 14

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

  16. Datasets & Documents 16

  17. 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
  18. Datasets Upload 18 Improved upload user interface

  19. Datasets Creation • Easy vector dataset creation via UI •

    Add vector features later via webgis (MapStore) or via WFS-T API (ex. QGIS) 19
  20. Remote Datasets • Easily connect to 3rd party OGC servers

    & ArcGIS Services • Import desired resources 20
  21. Documents as datasets • Support for many types of documents

    upload • Bonus: Link your non geographical documents with available resources 21
  22. Metadata Management • Create and manage metadata via a wizard

    UI • Import Metadata from standard formats (Dublin Core, XML-ISO, etc.) 22
  23. Metadata Management Quick Access to Edit Tools: Thumbnails 23

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

    format 24
  25. Editing datasets data • Create/edit features geometries 25

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

    GeoNode 26
  27. Manage and Edit data with QGIS Plugin Edit and sync

    styles between GeoNode and QGIS 27
  28. Manage and Edit data with QGIS Plugin Edit data with

    QGIS (via WFS-T) 28
  29. Manage and Edit data with QGIS Plugin Also for raster

    data (via WCS) 29
  30. Maps 30

  31. 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
  32. Maps: Search and add catalog layers 32

  33. Maps: Order and group layers 33

  34. Maps: Create widgets 34 Tip: Widgets can be linked to

    map bounds and/or applied a data filter
  35. Maps: Swipe and Glass Spy tools 35

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

    GeoJSON
  37. Maps: Annotations 37 • Annotations with different geometry types •

    Style annotation features • Export annotations as GeoJSON
  38. Maps: Print Module 38 • Advanced print widget with customization

    features
  39. Styling

  40. Advanced Styling • Ability to style both raster and vector

    layer • Predefined template styles • Style creation via UI • Style creation via code (SLD, GeoCSS) 40
  41. Style templates 41

  42. Visual Style Editor 42

  43. Visual Style Editor 43

  44. Visual Style Editor 44

  45. Code Style Editor 45

  46. 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
  47. 47 <!–- Boilerplate beginning ommitted --> … <sld:Rule> <ogc:Filter> <ogc:PropertyIsEqualTo>

    <ogc:PropertyName>type</ogc:PropertyName> <ogc:Literal>alpine_hut</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> <sld:MaxScaleDenominator>100000.0</sld:MaxScaleDenominator> <sld:PointSymbolizer> <sld:Graphic> <sld:ExternalGraphic> <sld:OnlineResource xlink:type="simple" xlink:href="symbols/alpinehut.p.16.png"/> <sld:Format>image/png</sld:Format> </sld:ExternalGraphic> </sld:Graphic> </sld:PointSymbolizer> </sld:Rule> <!–- Boilerplate end ommitted --> Filter Scale dep. Symbolizer SLD 1.0
  48. 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'); }
  49. Symbolize based on scale E.g., at lower scales/lower zoom levels

    do not show buildings 49
  50. Symbolize in a different way depending on scale E.g., different

    thickness based on the current zoom 50
  51. 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);
  52. 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
  53. 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
  54. 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
  55. Security & Permissions 55

  56. 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
  57. Supported Authentication Backends • Basic Authentication • OAuth2 / OpenID

    • Social Media (Twitter, LinkedIn, …) • Keycloak • LDAP • … 57
  58. 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
  59. 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
  60. 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
  61. Permissions 61 Dataset

  62. Permissions 62 Document

  63. Geo-Limits 63 Ability to constrain by geographical area

  64. GeoStories 64

  65. 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
  66. 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
  67. GeoStory: Title 67

  68. GeoStory: Immersive 68

  69. GeoStory: GeoCarousel 69

  70. 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
  71. GeoDashboards 71

  72. 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
  73. Dashboards: Types of Widgets 73

  74. 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
  75. 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
  76. 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
  77. Dashboards: Counter widget • Allows you to perform a count

    operation over a specific layer attribute 77
  78. Dashboards • Demo example of widgets connected to main map

    78
  79. 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
  80. Who is using GeoNode 80

  81. Who is using GeoNode: Adadata • Data portal to support

    defense and intelligence communities • Masego Inc. 81
  82. Who is using GeoNode: UNESCO IHP WINS • Water Information

    Network System portal • UNESCO HQ (Paris) • Partners around the world 82
  83. Who is using GeoNode: UNESCO Galapagos 83 • Galapagos Open

    Data Porta • UNESCO Ecuador
  84. Who is using GeoNode: The World Bank 84 • Global

    Facility for Disaster Reduction and Recovery @ WB • Curated Hazard Open Data
  85. Who is using GeoNode: UN WFP 85 • UN World

    Food Program • Curated WFP Open Data
  86. Who is using GeoNode: UNEP 86 • UNEP-GRID (Geneva) •

    Curated Caucasus Data
  87. Who is using GeoNode: UNMISS 87 • UN Mission in

    South Sudan • Curated GeoStories for UNMISS projects
  88. More… 88

  89. GeoNode Roadmap & Wishlist 89 • Vector Tiles • GeoPackage

    Upload • On the fly analysis • Data Preprocessing • Data Collection support
  90. 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
  91. GeoSolutions Contacts • info@geosolutionsgroup.com • http://www.geosolutionsgroup.com • http://twitter.com/geosolutions_it • Youtube

    channel 91 Simone Giannecchini O: 202-902-9949 Simone.Giannecchini@GeoSolutionsGroup.com Ryan Burley O: 564-234-4070 C: 206-915-3294 Ryan.Burley@GeoSolutionsGroup.com