SlideShare a Scribd company logo
1 of 31
Download to read offline
State of GeoNode
FOSS4G-NA
San Diego 2019
Paolo Corti @capooti
Index
● GeoNode at a glance
● Capabilities
● Architecture stack and technologies
● Security and authorizations
● Containers
● Community and adoption
● Success stories
● Release history
● What’s new in GeoNode 2.10
● What’s next
About me
● GeoNode developer since 2012
● Contributed to the development and deployment of the GeoNode
instances for UN WFP, Harvard University WorldMap
● Member of the GeoNode and pycsw PSC
● OSGeo member since 2013
● Twitter and github: capooti
GeoNode at a glance
● A web frameworks to build GeoCMS, open data geoportals and SDI
● Started by Global Facility for Disaster Reduction and Recovery (GFDRR) in
2009
● Adopted by a large number of organizations
● Built with open source software
● Official OSGeo project since August 2016
Capabilities
● Upload geospatial datasets (by default shapefiles and GeoTIFFs)
● User with appropriate permissions can edit layer metadata, which are
exposed by OGC CSW and REST, to provide search/discovery capability
● Create thematic maps accessible to general public
● Users with appropriate permissions can edit layer styles and features (for
vector layers)
● Granular permission systems: viewing, downloading, metadata editing,
styles and feature editing for a layer can be restricted to users or groups
● GeoNode exposes a number of standards for each layer: OGC (WMS,
WMS-C, WFS, WFS-T, WCS, CSW) and mass market search standards
(OAI-PMH, SRU, OpenSearch)
Architecture stack and technologies
● Web application: Python/Django
● Spatial data server: GeoServer or QGIS Server
● Spatial cache tile server: GeoWebCache
● User interface: jQuery, AngularJS, ExtJS, GeoExplorer, MapStore2,
MapLoom
● Spatial database: PostgreSQL/PostGIS - but can use any data store
supported by GeoServer
● Catalogue: pycsw or GeoNetwork OpenSource or deegree
● Search Engine (optional): Solr or ElasticSearch
● Task queue (optional): Celery/RabbitMQ or Redis
Architecture: GeoNode behind the scenes
● A new shapefile is uploaded from the client: the shapefile is imported in PostGIS
and a GeoServer layer for a PostGIS data store is created
● A client access to the tiles of the layer: these are provided by GWC with WMS-C
requests. If a tile doesn’t still exist this is created using the GeoServer WMS
endpoint
● When a client identify a feature, a WMS or WFS GetFeatureInfo request is sent to
GeoServer
● A client modify the geometry of a feature from the client: a WFS/T request is sent to
the PostGIS layer in GeoServer
● A client modify the style of a layer: a REST request is sent to the GeoServer REST API
● A client queries time series data: a WMS-T request is sent to GeoServer
GeoNode architecture
Architecture: Clients
● GeoExplorer (ExtJS, gxp, OpenLayers 2) - Boundless
● MapStore (OpenLayers 3/LeafletJS/Cesium, ReactJS) - GeoSolutions
● MapLoom (OpenLayers 3, GeoGig integration, AngularJS) - Boundless,
ProminentEdge
● Geonode-client (OpenLayers 3, ReactJS) - Boundless
● WorldMap (GeoExplorer fork with improved features) - Harvard CGA
● Leaflet
And any Desktop GIS client supporting OGC standards (WMS/WFS/WCS…)
Security and authorizations
● A granular security system let object
owners or administrators to specify
different authorizations access for
layers, maps and documents
● GeoNode implements security and
authorization at two levels:
○ Django-guardian
○ GeoFence
● GeoNode interacts with GeoServer
through a security mechanism based
on OAuth2 Protocol and GeoFence
Containers
● GeoNode is developed with scalability in mind, therefore the
recommended installation method used docker containers (with
docker-compose)
● Different containers deployed by docker-compose: nginx, django,
postgresql, geoserver, celery, rabbitmq, elasticsearch
● CI infrastructure builds the system at each submitted PR using the same
approach
● Deployment: discussions for developing a possible production ready
deployment procedures based on Docker, Rancher and Kubernetes
Containers
Summits and code sprints
● GeoNode Summit 2019: Viareggio, Italy (hosted by GeoSolutions)
● GeoNode Summit 2018: Turin, Italy (hosted by ITHACA)
● GeoNode Code Sprint 2016: Bonn, Germany and New Orleans, LA, USA
● GeoNode Summit 2016: Rome, Italy (hosted by UN WFP)
● GeoNode Code Sprint 2015: New Orleans, LA, USA and Turin, Italy
● GeoNode Summit 2012: Cambridge, MA, USA (hosted by Harvard
University)
● GeoNode Summit 2011: Washington DC (hosted by World Bank)
Summits and code sprints
http://summit.geonode.org/
Community growth and adoption
The World Bank, OpenGeo, Australia Indonesia Facility for Disaster Reduction (AIFDR), MapStory, Global
Earthquake Model (GEM) Foundation, Harvard WorldMap, ROGUE (US Army Corps of Engineers), South
Pacific Applied Geoscience Commission (SOPAC), SERVIR (US National Aeronautics and Space Administration
/ NASA), Regional Centre for Mapping of Resources for Development (RCMRD, Kenya), Information
Technology for Humanitarian Assistance Cooperation and Action (ITHACA, Italy), UN World Food Programme
(WFP), Comision Permanente de Contingencias (COPECO, Honduras), Humanitarian Information Unit (HIU,
US State Department), Marine Civil Information Management System (MARCIMS, US Marine Corps), National
Geospatial-Intelligence Agency (US NGA), Office of Secretary of Defense (US), Pacific Disaster Center, Central
Asian Institute for Applied Geosciences (CAIAG, Kyrgyzstan), National Research Council, Institute of Marine
Sciences (Italy), European Commission Joint Research Centre (JRC), World Agroforestry Centre (ICRAF),
Massachusetts Institute of Technology (MIT, US), National Oceanic and Atmospheric Administration Center
for Weather and Climate Prediction (NOAA NCWCP, US Department of Commerce), Politecnico di Milano
(Italy), Humanitarian Data Exchange (HDX, United Nations Office for the Coordination of Humanitarian
Affairs), Agency for International Development (US AID), HABAKA Innovation Hub (Madagascar), GESP
(Gestione Elaborazione Studio Pianificazione, Italy), Zhejiang University (China), Ritsumeika University (Japan)
Community and infrastructure
● ~20 active core committers across several organizations
● ~400 members on the users list
● ~100 members on the developers list
● Mailing list traffic growing steadily
● Successfully onboarding new developers and contributing organizations
● ~350 Pull Requests Merged in the last year
● Continuous Integration + Automated Builds
● Working toward a regular release cycle
Active contributors
● World Bank
● GeoSolutions
● Terranodo
● Boundless
● GeoBeyond
● Joint Research Centre
● Harvard University
● UN WFP
● ITHACA
● MapStory
● The Pacific Community
● CSGIS
● NINA - Norsk institutt for naturforskning
● CartoLogic
Success stories
● Harvard WorldMap
● Global Facility for Disaster Reduction and Recovery (GFDRR)
● MapStory
● World Food Programme (UN WFP)
● Global Earthquake Model Foundation (GEM)
● Joint Research Centre (JRC)
● UNESCO IHP-WINS
Success stories: Harvard WorldMap
● Developed by Harvard Center for
Geographic Analysis since 2009
● It is a large GeoNode instance which is
used by students, professors and
general public
● More than 20K users, 25K layers and
5K maps
● Notable maps include Boston
Research Map, ChinaMap, AfricaMap,
JapanMap, ChicagoMap, ParisMap
Success stories: GFDRR
● The Global Facility for Disaster
Reduction and Recovery (GFDRR) uses
GeoNode for its OpenDRI Initiative
which aims to use open data to the
challenges of reducing vulnerability
and building resilience to natural
hazards and the impact of climate
changes across the globe
● GFDRR mantains a number of
GeoNode instances, including
MASDAP, a geoportal used by the
Government of Malawi to disseminate
open data to support development
Success stories: MapStory
● GeoNode is used by the MapStory
foundation for its platform which
aims to be a free atlas of change that
everyone can edit
● Users can import data and create
story layers and map stories which
aim to explain how and why
geographic change occurs in the
world
Success stories: UN WFP
● The United Nations World Food
Programme (WFP) has started
building its public SDI using GeoNode
in 2012
● More than 1k public and private
layers, contributed by more than 300
users which created more than 100
maps
● The platform has been adopted as the
institutional public web mapping
platform, and it contains datasets
related to environment, food security,
natural disasters, logistics
Success stories: GEM
● The Global Earthquake Model
Foundation (GEM) uses GeoNode for
building the OpenQuake Platform, its
open geospatial data framework
● The platform contains a number of
layers and models which can be run
to analyze the earthquake risk for a
specific region. The output of the
analysis can be shared by the users by
publishing in OpenQuake new layers
and maps
Success stories: JRC
● The European Commission Joint
Research Centre uses GeoNode in
several projects
● The Risk Data Hub improves the
access and sharing of curated
European-wide risk data, tools and
methodologies for fostering Disaster
Risk Management (DRM) related
actions
● The BIOPAMA project aims to build a
solid information base for decision
making on protected areas in the
Africa, Caribbean, Pacific (ACP) region
Success stories: UNESCO IHP-WINS
● Water Information Network System
by the International Hydrological
Programme of UNESCO
● Added a publishing workflow for
spatial layers: an editor must
approve a dataset before
publication
● KMZ and temporal series upload
Release History
● June 2019, GeoNode 2.10 (Django 1.11.20, GeoServer 2.14, pycsw 2.2.0)
● April 2018, GeoNode 2.8 (Django 1.8.19, GeoServer 2.12.2, pycsw 2.0.2, group moderation and
resources publication workflow, SLD upload, metadata wizard)
● May 2017, GeoNode 2.6 (Django 1.8.7, GeoServer 2.9, pycsw 2.0.2, React client, QGIS server
backend, ansible and docker setup, Ubuntu 16.04 support)
● November 2015, GeoNode 2.4 (Django 1.6.11, GeoServer 2.7, pycsw 1.10.5, django-guardian,
groups, remote services, responsive template, Ubuntu 14.04 support)
● April 2014, GeoNode 2.0 (Django 1.5.5, GeoServer 2.5, pycsw 1.8.6, django-polymorphic,
bootstrap, Ubuntu 12.04 support)
● October 2012, GeoNode 1.2 (Django 1.4, GeoServer 2.3, South migrations, django-taggit, social
features, comments and ratings, find/add layers widget)
● May 2012, GeoNode 1.1.1 (Ubuntu 10.04 and 11.04 installer)
● December 2010, GeoNode 1.0, with major contributions from OpenGeo, the World Bank,
GFDRR, UNISDR, and GEM
● August 2010, GeoNode 1.0-beta
What’s new in GeoNode 2.10
GeoNode 2.10 will be released at the next GeoNode summit (Viareggio, Italy,
June). Here is what is new:
● GeoServer 2.14
● many performance improvements
● SPC - a docker deployment setup based on docker-compose
● New client: WorldMap (GNIP
https://github.com/GeoNode/geonode/issues/3718)
● Improvements for GeoNode theming and customisations (GNIP
https://github.com/GeoNode/geonode/issues/3743)
● Optimizations to GeoFence for instances with very large number of layers
(GNIP https://github.com/GeoNode/geonode/pull/4326 )
Open GeoNode Improvement Proposals (GNIP)
● GNIP 4276: Python 3 and Django 2 upgrade
● GNIP 4129: Migrate GeoNode fronted from AngularJS to React
● GNIP 4311: Contrib applications cleanup
● GNIP 4091: Edit data in tabular format
● GNIP 3924: Add Kubernetes deployment
● GNIP 3707: Support production-grade deployment using Docker
● GNIP 3228: GeoNode 4
GeoNode 3.0
The plan is to release it within the end of the year,
when Python 2 will be at the End Of Life
● Python 3 and Django 2 upgrade (GNIP
https://github.com/GeoNode/geonode/issues/4
276)
● Migrate Geonode Frontend from AngularJS to
React (GNIP
https://github.com/GeoNode/geonode/issues/4
129)
GeoNode 4
● Still based on Django, but it will possibly
be a rewrite
● API-centric, based on Django Rest
Framework and SwaggerUI
● Web UI Frameworks Agnostic: instance
developers can use their favourite
javascript framework and mapping client
using a REST API
● Support for multiple data providers
(GeoServer, QGIS Server, Tegola, Solr,
Elasticsearch/ElasticGeo, GeoMesa)
Thank you!
Any questions?
Thanks to all the core developers that contributed to this presentation

More Related Content

What's hot

Elchin Ibrahimov Wi Max
Elchin Ibrahimov Wi MaxElchin Ibrahimov Wi Max
Elchin Ibrahimov Wi Max
Rashad Aliyev
 
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Sylvain Maret
 

What's hot (20)

GeoServer on Steroids
GeoServer on SteroidsGeoServer on Steroids
GeoServer on Steroids
 
Gpfs introandsetup
Gpfs introandsetupGpfs introandsetup
Gpfs introandsetup
 
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
Scalable Video Coding Guidelines and Performance Evaluations for Adaptive Me...
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
i4Trust - Overview
i4Trust - Overviewi4Trust - Overview
i4Trust - Overview
 
P4/FPGA, Packet Acceleration
P4/FPGA, Packet AccelerationP4/FPGA, Packet Acceleration
P4/FPGA, Packet Acceleration
 
Advanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFenceAdvanced GeoServer Security with GeoFence
Advanced GeoServer Security with GeoFence
 
GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014GeoServer on Steroids at FOSS4G Europe 2014
GeoServer on Steroids at FOSS4G Europe 2014
 
Graph Analytics with ArangoDB
Graph Analytics with ArangoDBGraph Analytics with ArangoDB
Graph Analytics with ArangoDB
 
OMA Lightweight M2M Tutorial
OMA Lightweight M2M TutorialOMA Lightweight M2M Tutorial
OMA Lightweight M2M Tutorial
 
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
FIWARE Global Summit - The Scorpio NGSI-LD Broker: Features and Supported Arc...
 
Elchin Ibrahimov Wi Max
Elchin Ibrahimov Wi MaxElchin Ibrahimov Wi Max
Elchin Ibrahimov Wi Max
 
VLAN vs VXLAN
VLAN vs VXLANVLAN vs VXLAN
VLAN vs VXLAN
 
Understand LPWA tetchnologies (Sigfox and LoRa)
Understand LPWA tetchnologies (Sigfox and LoRa)Understand LPWA tetchnologies (Sigfox and LoRa)
Understand LPWA tetchnologies (Sigfox and LoRa)
 
20150901 영상 보안감시 사업계획(안)
20150901 영상 보안감시 사업계획(안)20150901 영상 보안감시 사업계획(안)
20150901 영상 보안감시 사업계획(안)
 
Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1Introduction to Diameter Protocol - Part1
Introduction to Diameter Protocol - Part1
 
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
Securite des Web Services (SOAP vs REST) / OWASP Geneva dec. 2012
 
Shift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINXShift Left for More Secure Apps with F5 NGINX
Shift Left for More Secure Apps with F5 NGINX
 
Redis Developer Day TLV - Redis Stack & RedisInsight
Redis Developer Day TLV - Redis Stack & RedisInsightRedis Developer Day TLV - Redis Stack & RedisInsight
Redis Developer Day TLV - Redis Stack & RedisInsight
 
Android internals By Rajesh Khetan
Android internals By Rajesh KhetanAndroid internals By Rajesh Khetan
Android internals By Rajesh Khetan
 

Similar to State of GeoNode 2019

2017 Geospatial standards for the sustainable development goals
2017 Geospatial standards for the sustainable development goals2017 Geospatial standards for the sustainable development goals
2017 Geospatial standards for the sustainable development goals
PLACE
 
2014 05-gwf geo-appathon_ogc_a_trakas
2014 05-gwf geo-appathon_ogc_a_trakas2014 05-gwf geo-appathon_ogc_a_trakas
2014 05-gwf geo-appathon_ogc_a_trakas
dboi10
 
Open Source GIS Stack: Data hub for flexibility, performance and effectiveness
Open Source GIS Stack: Data hub for flexibility, performance and effectivenessOpen Source GIS Stack: Data hub for flexibility, performance and effectiveness
Open Source GIS Stack: Data hub for flexibility, performance and effectiveness
eHealth Africa
 

Similar to State of GeoNode 2019 (20)

One GeoNode, many GeoNodes
One GeoNode, many GeoNodesOne GeoNode, many GeoNodes
One GeoNode, many GeoNodes
 
GeoNode intro and demo
GeoNode intro and demoGeoNode intro and demo
GeoNode intro and demo
 
Lesson1 esa summer_school_brovelli
Lesson1 esa summer_school_brovelliLesson1 esa summer_school_brovelli
Lesson1 esa summer_school_brovelli
 
2017 Geospatial standards for the sustainable development goals
2017 Geospatial standards for the sustainable development goals2017 Geospatial standards for the sustainable development goals
2017 Geospatial standards for the sustainable development goals
 
2014 05-gwf geo-appathon_ogc_a_trakas
2014 05-gwf geo-appathon_ogc_a_trakas2014 05-gwf geo-appathon_ogc_a_trakas
2014 05-gwf geo-appathon_ogc_a_trakas
 
Status of WorldMap, 2016
Status of WorldMap, 2016Status of WorldMap, 2016
Status of WorldMap, 2016
 
OGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-RexOGC Update for State of Geospatial Tech at T-Rex
OGC Update for State of Geospatial Tech at T-Rex
 
Geonode 2.0
Geonode 2.0Geonode 2.0
Geonode 2.0
 
Keynote, Oman Geospatial Expo, Dec 2013
Keynote, Oman Geospatial Expo, Dec 2013Keynote, Oman Geospatial Expo, Dec 2013
Keynote, Oman Geospatial Expo, Dec 2013
 
Introduction to GeoNode
Introduction to GeoNodeIntroduction to GeoNode
Introduction to GeoNode
 
Brief FOSS4G Introduction
Brief FOSS4G IntroductionBrief FOSS4G Introduction
Brief FOSS4G Introduction
 
FreeGIS.net, INSPIRE, Open Source Software and OGC standards
FreeGIS.net, INSPIRE, Open Source Software and OGC standardsFreeGIS.net, INSPIRE, Open Source Software and OGC standards
FreeGIS.net, INSPIRE, Open Source Software and OGC standards
 
Application packaging and systematic processing in earth observation exploita...
Application packaging and systematic processing in earth observation exploita...Application packaging and systematic processing in earth observation exploita...
Application packaging and systematic processing in earth observation exploita...
 
GEM's Mission and Vision [Sep 2012]
GEM's Mission and Vision [Sep 2012]GEM's Mission and Vision [Sep 2012]
GEM's Mission and Vision [Sep 2012]
 
Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation Analysis Ready Data workshop - OGC presentation
Analysis Ready Data workshop - OGC presentation
 
Open Source GIS Stack: Data hub for flexibility, performance and effectiveness
Open Source GIS Stack: Data hub for flexibility, performance and effectivenessOpen Source GIS Stack: Data hub for flexibility, performance and effectiveness
Open Source GIS Stack: Data hub for flexibility, performance and effectiveness
 
SWAD, an Open Learning Management System
SWAD, an Open Learning Management SystemSWAD, an Open Learning Management System
SWAD, an Open Learning Management System
 
The first 100_steps_to_geoss
The first 100_steps_to_geossThe first 100_steps_to_geoss
The first 100_steps_to_geoss
 
106th OGC Technical Committee
106th OGC Technical Committee106th OGC Technical Committee
106th OGC Technical Committee
 
Introduction
IntroductionIntroduction
Introduction
 

More from Paolo Corti

More from Paolo Corti (10)

Harvard Hypermap: An Open Source Framework for Making the World’s Geospatial ...
Harvard Hypermap: An Open Source Framework for Making the World’s Geospatial ...Harvard Hypermap: An Open Source Framework for Making the World’s Geospatial ...
Harvard Hypermap: An Open Source Framework for Making the World’s Geospatial ...
 
Making Temporal Search Central in a Spatial Data Infrastructure
Making Temporal Search Central in a Spatial Data InfrastructureMaking Temporal Search Central in a Spatial Data Infrastructure
Making Temporal Search Central in a Spatial Data Infrastructure
 
Maintaining spatial data infrastructures (SDIs) using distributed task queues
Maintaining spatial data infrastructures (SDIs) using distributed task queuesMaintaining spatial data infrastructures (SDIs) using distributed task queues
Maintaining spatial data infrastructures (SDIs) using distributed task queues
 
GeoNode per il Supporto alle Emergenze Umanitarie
GeoNode per il Supporto alle Emergenze UmanitarieGeoNode per il Supporto alle Emergenze Umanitarie
GeoNode per il Supporto alle Emergenze Umanitarie
 
Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...
Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...
Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...
 
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
Building an Open Source, Real-Time, Billion Object Spatio-Temporal Search Pla...
 
GeoNode for Humanitarian Crisis and Risk Reduction
GeoNode for Humanitarian Crisis and Risk ReductionGeoNode for Humanitarian Crisis and Risk Reduction
GeoNode for Humanitarian Crisis and Risk Reduction
 
L'utilizzo di software fee and open source nello European Forest Fire Informa...
L'utilizzo di software fee and open source nello European Forest Fire Informa...L'utilizzo di software fee and open source nello European Forest Fire Informa...
L'utilizzo di software fee and open source nello European Forest Fire Informa...
 
Fire news management in the context of the European Forest Fire Information S...
Fire news management in the context of the European Forest Fire Information S...Fire news management in the context of the European Forest Fire Information S...
Fire news management in the context of the European Forest Fire Information S...
 
Developing Geospatial software with Python, Part 1
Developing Geospatial software with Python, Part 1Developing Geospatial software with Python, Part 1
Developing Geospatial software with Python, Part 1
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456LEVEL 5   - SESSION 1 2023 (1).pptx - PDF 123456
LEVEL 5 - SESSION 1 2023 (1).pptx - PDF 123456
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

State of GeoNode 2019

  • 1. State of GeoNode FOSS4G-NA San Diego 2019 Paolo Corti @capooti
  • 2. Index ● GeoNode at a glance ● Capabilities ● Architecture stack and technologies ● Security and authorizations ● Containers ● Community and adoption ● Success stories ● Release history ● What’s new in GeoNode 2.10 ● What’s next
  • 3. About me ● GeoNode developer since 2012 ● Contributed to the development and deployment of the GeoNode instances for UN WFP, Harvard University WorldMap ● Member of the GeoNode and pycsw PSC ● OSGeo member since 2013 ● Twitter and github: capooti
  • 4. GeoNode at a glance ● A web frameworks to build GeoCMS, open data geoportals and SDI ● Started by Global Facility for Disaster Reduction and Recovery (GFDRR) in 2009 ● Adopted by a large number of organizations ● Built with open source software ● Official OSGeo project since August 2016
  • 5. Capabilities ● Upload geospatial datasets (by default shapefiles and GeoTIFFs) ● User with appropriate permissions can edit layer metadata, which are exposed by OGC CSW and REST, to provide search/discovery capability ● Create thematic maps accessible to general public ● Users with appropriate permissions can edit layer styles and features (for vector layers) ● Granular permission systems: viewing, downloading, metadata editing, styles and feature editing for a layer can be restricted to users or groups ● GeoNode exposes a number of standards for each layer: OGC (WMS, WMS-C, WFS, WFS-T, WCS, CSW) and mass market search standards (OAI-PMH, SRU, OpenSearch)
  • 6. Architecture stack and technologies ● Web application: Python/Django ● Spatial data server: GeoServer or QGIS Server ● Spatial cache tile server: GeoWebCache ● User interface: jQuery, AngularJS, ExtJS, GeoExplorer, MapStore2, MapLoom ● Spatial database: PostgreSQL/PostGIS - but can use any data store supported by GeoServer ● Catalogue: pycsw or GeoNetwork OpenSource or deegree ● Search Engine (optional): Solr or ElasticSearch ● Task queue (optional): Celery/RabbitMQ or Redis
  • 7. Architecture: GeoNode behind the scenes ● A new shapefile is uploaded from the client: the shapefile is imported in PostGIS and a GeoServer layer for a PostGIS data store is created ● A client access to the tiles of the layer: these are provided by GWC with WMS-C requests. If a tile doesn’t still exist this is created using the GeoServer WMS endpoint ● When a client identify a feature, a WMS or WFS GetFeatureInfo request is sent to GeoServer ● A client modify the geometry of a feature from the client: a WFS/T request is sent to the PostGIS layer in GeoServer ● A client modify the style of a layer: a REST request is sent to the GeoServer REST API ● A client queries time series data: a WMS-T request is sent to GeoServer
  • 9. Architecture: Clients ● GeoExplorer (ExtJS, gxp, OpenLayers 2) - Boundless ● MapStore (OpenLayers 3/LeafletJS/Cesium, ReactJS) - GeoSolutions ● MapLoom (OpenLayers 3, GeoGig integration, AngularJS) - Boundless, ProminentEdge ● Geonode-client (OpenLayers 3, ReactJS) - Boundless ● WorldMap (GeoExplorer fork with improved features) - Harvard CGA ● Leaflet And any Desktop GIS client supporting OGC standards (WMS/WFS/WCS…)
  • 10. Security and authorizations ● A granular security system let object owners or administrators to specify different authorizations access for layers, maps and documents ● GeoNode implements security and authorization at two levels: ○ Django-guardian ○ GeoFence ● GeoNode interacts with GeoServer through a security mechanism based on OAuth2 Protocol and GeoFence
  • 11. Containers ● GeoNode is developed with scalability in mind, therefore the recommended installation method used docker containers (with docker-compose) ● Different containers deployed by docker-compose: nginx, django, postgresql, geoserver, celery, rabbitmq, elasticsearch ● CI infrastructure builds the system at each submitted PR using the same approach ● Deployment: discussions for developing a possible production ready deployment procedures based on Docker, Rancher and Kubernetes
  • 13. Summits and code sprints ● GeoNode Summit 2019: Viareggio, Italy (hosted by GeoSolutions) ● GeoNode Summit 2018: Turin, Italy (hosted by ITHACA) ● GeoNode Code Sprint 2016: Bonn, Germany and New Orleans, LA, USA ● GeoNode Summit 2016: Rome, Italy (hosted by UN WFP) ● GeoNode Code Sprint 2015: New Orleans, LA, USA and Turin, Italy ● GeoNode Summit 2012: Cambridge, MA, USA (hosted by Harvard University) ● GeoNode Summit 2011: Washington DC (hosted by World Bank)
  • 14. Summits and code sprints http://summit.geonode.org/
  • 15. Community growth and adoption The World Bank, OpenGeo, Australia Indonesia Facility for Disaster Reduction (AIFDR), MapStory, Global Earthquake Model (GEM) Foundation, Harvard WorldMap, ROGUE (US Army Corps of Engineers), South Pacific Applied Geoscience Commission (SOPAC), SERVIR (US National Aeronautics and Space Administration / NASA), Regional Centre for Mapping of Resources for Development (RCMRD, Kenya), Information Technology for Humanitarian Assistance Cooperation and Action (ITHACA, Italy), UN World Food Programme (WFP), Comision Permanente de Contingencias (COPECO, Honduras), Humanitarian Information Unit (HIU, US State Department), Marine Civil Information Management System (MARCIMS, US Marine Corps), National Geospatial-Intelligence Agency (US NGA), Office of Secretary of Defense (US), Pacific Disaster Center, Central Asian Institute for Applied Geosciences (CAIAG, Kyrgyzstan), National Research Council, Institute of Marine Sciences (Italy), European Commission Joint Research Centre (JRC), World Agroforestry Centre (ICRAF), Massachusetts Institute of Technology (MIT, US), National Oceanic and Atmospheric Administration Center for Weather and Climate Prediction (NOAA NCWCP, US Department of Commerce), Politecnico di Milano (Italy), Humanitarian Data Exchange (HDX, United Nations Office for the Coordination of Humanitarian Affairs), Agency for International Development (US AID), HABAKA Innovation Hub (Madagascar), GESP (Gestione Elaborazione Studio Pianificazione, Italy), Zhejiang University (China), Ritsumeika University (Japan)
  • 16. Community and infrastructure ● ~20 active core committers across several organizations ● ~400 members on the users list ● ~100 members on the developers list ● Mailing list traffic growing steadily ● Successfully onboarding new developers and contributing organizations ● ~350 Pull Requests Merged in the last year ● Continuous Integration + Automated Builds ● Working toward a regular release cycle
  • 17. Active contributors ● World Bank ● GeoSolutions ● Terranodo ● Boundless ● GeoBeyond ● Joint Research Centre ● Harvard University ● UN WFP ● ITHACA ● MapStory ● The Pacific Community ● CSGIS ● NINA - Norsk institutt for naturforskning ● CartoLogic
  • 18. Success stories ● Harvard WorldMap ● Global Facility for Disaster Reduction and Recovery (GFDRR) ● MapStory ● World Food Programme (UN WFP) ● Global Earthquake Model Foundation (GEM) ● Joint Research Centre (JRC) ● UNESCO IHP-WINS
  • 19. Success stories: Harvard WorldMap ● Developed by Harvard Center for Geographic Analysis since 2009 ● It is a large GeoNode instance which is used by students, professors and general public ● More than 20K users, 25K layers and 5K maps ● Notable maps include Boston Research Map, ChinaMap, AfricaMap, JapanMap, ChicagoMap, ParisMap
  • 20. Success stories: GFDRR ● The Global Facility for Disaster Reduction and Recovery (GFDRR) uses GeoNode for its OpenDRI Initiative which aims to use open data to the challenges of reducing vulnerability and building resilience to natural hazards and the impact of climate changes across the globe ● GFDRR mantains a number of GeoNode instances, including MASDAP, a geoportal used by the Government of Malawi to disseminate open data to support development
  • 21. Success stories: MapStory ● GeoNode is used by the MapStory foundation for its platform which aims to be a free atlas of change that everyone can edit ● Users can import data and create story layers and map stories which aim to explain how and why geographic change occurs in the world
  • 22. Success stories: UN WFP ● The United Nations World Food Programme (WFP) has started building its public SDI using GeoNode in 2012 ● More than 1k public and private layers, contributed by more than 300 users which created more than 100 maps ● The platform has been adopted as the institutional public web mapping platform, and it contains datasets related to environment, food security, natural disasters, logistics
  • 23. Success stories: GEM ● The Global Earthquake Model Foundation (GEM) uses GeoNode for building the OpenQuake Platform, its open geospatial data framework ● The platform contains a number of layers and models which can be run to analyze the earthquake risk for a specific region. The output of the analysis can be shared by the users by publishing in OpenQuake new layers and maps
  • 24. Success stories: JRC ● The European Commission Joint Research Centre uses GeoNode in several projects ● The Risk Data Hub improves the access and sharing of curated European-wide risk data, tools and methodologies for fostering Disaster Risk Management (DRM) related actions ● The BIOPAMA project aims to build a solid information base for decision making on protected areas in the Africa, Caribbean, Pacific (ACP) region
  • 25. Success stories: UNESCO IHP-WINS ● Water Information Network System by the International Hydrological Programme of UNESCO ● Added a publishing workflow for spatial layers: an editor must approve a dataset before publication ● KMZ and temporal series upload
  • 26. Release History ● June 2019, GeoNode 2.10 (Django 1.11.20, GeoServer 2.14, pycsw 2.2.0) ● April 2018, GeoNode 2.8 (Django 1.8.19, GeoServer 2.12.2, pycsw 2.0.2, group moderation and resources publication workflow, SLD upload, metadata wizard) ● May 2017, GeoNode 2.6 (Django 1.8.7, GeoServer 2.9, pycsw 2.0.2, React client, QGIS server backend, ansible and docker setup, Ubuntu 16.04 support) ● November 2015, GeoNode 2.4 (Django 1.6.11, GeoServer 2.7, pycsw 1.10.5, django-guardian, groups, remote services, responsive template, Ubuntu 14.04 support) ● April 2014, GeoNode 2.0 (Django 1.5.5, GeoServer 2.5, pycsw 1.8.6, django-polymorphic, bootstrap, Ubuntu 12.04 support) ● October 2012, GeoNode 1.2 (Django 1.4, GeoServer 2.3, South migrations, django-taggit, social features, comments and ratings, find/add layers widget) ● May 2012, GeoNode 1.1.1 (Ubuntu 10.04 and 11.04 installer) ● December 2010, GeoNode 1.0, with major contributions from OpenGeo, the World Bank, GFDRR, UNISDR, and GEM ● August 2010, GeoNode 1.0-beta
  • 27. What’s new in GeoNode 2.10 GeoNode 2.10 will be released at the next GeoNode summit (Viareggio, Italy, June). Here is what is new: ● GeoServer 2.14 ● many performance improvements ● SPC - a docker deployment setup based on docker-compose ● New client: WorldMap (GNIP https://github.com/GeoNode/geonode/issues/3718) ● Improvements for GeoNode theming and customisations (GNIP https://github.com/GeoNode/geonode/issues/3743) ● Optimizations to GeoFence for instances with very large number of layers (GNIP https://github.com/GeoNode/geonode/pull/4326 )
  • 28. Open GeoNode Improvement Proposals (GNIP) ● GNIP 4276: Python 3 and Django 2 upgrade ● GNIP 4129: Migrate GeoNode fronted from AngularJS to React ● GNIP 4311: Contrib applications cleanup ● GNIP 4091: Edit data in tabular format ● GNIP 3924: Add Kubernetes deployment ● GNIP 3707: Support production-grade deployment using Docker ● GNIP 3228: GeoNode 4
  • 29. GeoNode 3.0 The plan is to release it within the end of the year, when Python 2 will be at the End Of Life ● Python 3 and Django 2 upgrade (GNIP https://github.com/GeoNode/geonode/issues/4 276) ● Migrate Geonode Frontend from AngularJS to React (GNIP https://github.com/GeoNode/geonode/issues/4 129)
  • 30. GeoNode 4 ● Still based on Django, but it will possibly be a rewrite ● API-centric, based on Django Rest Framework and SwaggerUI ● Web UI Frameworks Agnostic: instance developers can use their favourite javascript framework and mapping client using a REST API ● Support for multiple data providers (GeoServer, QGIS Server, Tegola, Solr, Elasticsearch/ElasticGeo, GeoMesa)
  • 31. Thank you! Any questions? Thanks to all the core developers that contributed to this presentation