SlideShare a Scribd company logo
GeoNotebook
An extension to the Jupyter Notebook for
exploratory geospatial analysis
Christopher Kotfila, Aashish Chaudhary - Kitware Inc.
Petr Votava - NASA Ames
FOSS4G 2017
What is GeoNotebook?
● Python & Javascript extensions to Jupyter Notebook
○ Interactive map connected to python execution
environment via RPC.
○ Integrated tile server for rendering geospatial data onto
the map.
● Supports interactive exploration and subsetting of
geospatial data (especially raster data).
Demonstration
Development Context
● NASA ESTO - AIST 2014 Grant
○ Public cloud tools for extending analysis capabilities.
○ Bring analysis to the data, rather than data to the analyst
● NASA Earth Exchange (NEX) @ NASA Ames
○ Portal for collaborative sharing network for researchers
○ Large scale data processing pipelines for enabling ‘science-quality’
satellite data products.
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
Technical Objectives
● No assumptions about relationship between data access
and data visualisation.
○ Data access always at native resolution
● Support custom visualisation/data sources via third party
python packages
● Sensible defaults; target “traditional” Jupyter user.
Technical Stack
● GDAL - file I/O with custom VRT generation
● Mapnik - styling and orchestration of downsampling
● KTile - TileStache fork for serving tiles
● Jupyter Notebook - plugins + custom python kernel
● GeoJS/OpenLayers - interactive presentation of map
Current Limitations
● Complex deployment of tile rendering stack
(Mapnik/GDAL); docker image available
● Re-rendering transformations of data subsets (e.g
rendering in-memory data).
● Interactive elements break some of the implicit promises
about reproducibility of notebooks.
Call to Action
● Originally developed as a demonstration of what was
possible for Q/A on NEX data processing pipelines.
● Still early days
○ Apache 2.0 licensed software seeks interested
community of users & contributors.
○ Cathedral and the Bazaar - “plausible promise”
Many Thanks!
Contributing projects:
GDAL, Mapnik, TileStache, Jupyter Notebook, NumPy, Fiona,
Shapely, Rasterio, Pytest and many others.
Contributing humans:
Mike Little†, Raman Nemani†, Petr Votava, Andrew
Michaelis†, Jon Beazley‡, Doruk Ozturk‡, Dan Lamanna‡
† NASA, ‡ Kitware Inc.
Questions!
Github: OpenGeoscience/geonotebook
Gitter: gitter.im/OpenGeoscience/geonotebook
RTD: geonotebook.readthedocs.io
Email: chris.kotfila@kitware.com
docker run --net=host -v /path/to/notebooks:/notebooks
geonotebook/geonotebook:latest
Additional Slides
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
Nascent Geotrellis integration
Geotrellis & GeoPySpark
Deep Learning for Semantic Segmentation of Aerial Imagery
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)
FOSS4G 2017 - Geonotebook:   an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)

More Related Content

PDF
Integrating Geospatial Data to your Applications
PPTX
GPU Computation and the Next Gen Cloud
PDF
Cartaro Workshop at the Geosharing Conferenc in Bern
PPTX
2021 Dask Summit - Using STAC to catalog SpatioTemporal datasets
PDF
Open your data with CartoDB
PPTX
CouchDB Day NYC 2017: Using Geospatial Data in Cloudant & CouchDB
PDF
Drupal mapping, a brid's eye view
PPTX
Geonode introduction
Integrating Geospatial Data to your Applications
GPU Computation and the Next Gen Cloud
Cartaro Workshop at the Geosharing Conferenc in Bern
2021 Dask Summit - Using STAC to catalog SpatioTemporal datasets
Open your data with CartoDB
CouchDB Day NYC 2017: Using Geospatial Data in Cloudant & CouchDB
Drupal mapping, a brid's eye view
Geonode introduction

What's hot (18)

PPTX
Open source web-gis packages, geoserver-rest and pySLD
PDF
Cartaro - Geospatial CMS (en)
PDF
ePOM - Intro to Ocean Data Science - Data Visualization
PDF
NASA Earth Exchange (NEX) Overview
PDF
Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...
PDF
Tran Minh: big data platform in high performance computing at NISCI
PPT
Hack reduce introduction
PDF
Schema, JSON-LD & the semantic web - Brighton SEO April 2015 - Kirsty Hulse -...
PPTX
Geo data analytics
PPT
Grid
PPTX
5th board meeting_20190222_share
PPTX
Open source based software ‘gxt’ mangosystem
PPTX
Gdal introduction
PDF
PINOGIO : A simple way to create a web infographic map (피노지오 : 웹 인포그래픽 맵을 만드는...
PDF
[2019 Strata] Self Sevice BI meets Geospatial Analysis
PDF
Suricate
PPTX
Twister4Azure - Iterative MapReduce for Azure Cloud
PDF
Energetic Systems of Tomorrow,from traditional wood stove to « IOT » multi-fu...
Open source web-gis packages, geoserver-rest and pySLD
Cartaro - Geospatial CMS (en)
ePOM - Intro to Ocean Data Science - Data Visualization
NASA Earth Exchange (NEX) Overview
Implementing an Open Source Spatiotemporal Search Platform for Spatial Data I...
Tran Minh: big data platform in high performance computing at NISCI
Hack reduce introduction
Schema, JSON-LD & the semantic web - Brighton SEO April 2015 - Kirsty Hulse -...
Geo data analytics
Grid
5th board meeting_20190222_share
Open source based software ‘gxt’ mangosystem
Gdal introduction
PINOGIO : A simple way to create a web infographic map (피노지오 : 웹 인포그래픽 맵을 만드는...
[2019 Strata] Self Sevice BI meets Geospatial Analysis
Suricate
Twister4Azure - Iterative MapReduce for Azure Cloud
Energetic Systems of Tomorrow,from traditional wood stove to « IOT » multi-fu...
Ad

Similar to FOSS4G 2017 - Geonotebook: an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017) (20)

PDF
JupyterCon 2017 - Geonotebook: an extension to the jupyter notebook for explo...
PDF
Using python to analyze spatial data
PDF
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
PDF
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
PDF
Pycon 2012 Taiwan
PDF
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
PDF
Processing Geospatial at Scale at LocationTech
PDF
Mapping toolbox
PDF
Open Source GeoSpatial
PPTX
Geo spatial python princeton pug
PDF
Rapid and repeatable geospatial analysis with Python and JavaScript using not...
PDF
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
PDF
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
PPT
Advancing open source geospatial software for the do d ic edward pickle openg...
PDF
Philippine Geospatial Forum Presentation 20130311
PDF
Geokov
PPTX
Dawn Of Geospatial AI - Webinar
PDF
PyDX Presentation about Python, GeoData and Maps
PPTX
RasterFrames: Enabling Global-Scale Geospatial Machine Learning
JupyterCon 2017 - Geonotebook: an extension to the jupyter notebook for explo...
Using python to analyze spatial data
EuroPython 2019: GeoSpatial Analysis using Python and JupyterHub
Analyzing Larger RasterData in a Jupyter Notebook with GeoPySpark on AWS - FO...
Pycon 2012 Taiwan
那些年 Python 攻佔了 GIS / The Year Python Takes Over GIS
Processing Geospatial at Scale at LocationTech
Mapping toolbox
Open Source GeoSpatial
Geo spatial python princeton pug
Rapid and repeatable geospatial analysis with Python and JavaScript using not...
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
R Cookbook - Processing and Manipulating Geological spatial data with R.pdf
Advancing open source geospatial software for the do d ic edward pickle openg...
Philippine Geospatial Forum Presentation 20130311
Geokov
Dawn Of Geospatial AI - Webinar
PyDX Presentation about Python, GeoData and Maps
RasterFrames: Enabling Global-Scale Geospatial Machine Learning
Ad

Recently uploaded (20)

PPTX
STERILIZATION AND DISINFECTION-1.ppthhhbx
PPT
ISS -ESG Data flows What is ESG and HowHow
PPTX
modul_python (1).pptx for professional and student
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PDF
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
PPTX
Leprosy and NLEP programme community medicine
PDF
Mega Projects Data Mega Projects Data
PPTX
Managing Community Partner Relationships
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
SAP 2 completion done . PRESENTATION.pptx
PPTX
Introduction to Knowledge Engineering Part 1
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPT
Reliability_Chapter_ presentation 1221.5784
PDF
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
PPTX
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
PPTX
The THESIS FINAL-DEFENSE-PRESENTATION.pptx
STERILIZATION AND DISINFECTION-1.ppthhhbx
ISS -ESG Data flows What is ESG and HowHow
modul_python (1).pptx for professional and student
Supervised vs unsupervised machine learning algorithms
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
22.Patil - Early prediction of Alzheimer’s disease using convolutional neural...
Leprosy and NLEP programme community medicine
Mega Projects Data Mega Projects Data
Managing Community Partner Relationships
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
oil_refinery_comprehensive_20250804084928 (1).pptx
SAP 2 completion done . PRESENTATION.pptx
Introduction to Knowledge Engineering Part 1
climate analysis of Dhaka ,Banglades.pptx
Introduction-to-Cloud-ComputingFinal.pptx
Reliability_Chapter_ presentation 1221.5784
BF and FI - Blockchain, fintech and Financial Innovation Lesson 2.pdf
Microsoft-Fabric-Unifying-Analytics-for-the-Modern-Enterprise Solution.pptx
The THESIS FINAL-DEFENSE-PRESENTATION.pptx

FOSS4G 2017 - Geonotebook: an extension to the jupyter notebook for exploratory geospatial analysis (foss4g 2017)

  • 1. GeoNotebook An extension to the Jupyter Notebook for exploratory geospatial analysis Christopher Kotfila, Aashish Chaudhary - Kitware Inc. Petr Votava - NASA Ames FOSS4G 2017
  • 2. What is GeoNotebook? ● Python & Javascript extensions to Jupyter Notebook ○ Interactive map connected to python execution environment via RPC. ○ Integrated tile server for rendering geospatial data onto the map. ● Supports interactive exploration and subsetting of geospatial data (especially raster data).
  • 4. Development Context ● NASA ESTO - AIST 2014 Grant ○ Public cloud tools for extending analysis capabilities. ○ Bring analysis to the data, rather than data to the analyst ● NASA Earth Exchange (NEX) @ NASA Ames ○ Portal for collaborative sharing network for researchers ○ Large scale data processing pipelines for enabling ‘science-quality’ satellite data products.
  • 6. Technical Objectives ● No assumptions about relationship between data access and data visualisation. ○ Data access always at native resolution ● Support custom visualisation/data sources via third party python packages ● Sensible defaults; target “traditional” Jupyter user.
  • 7. Technical Stack ● GDAL - file I/O with custom VRT generation ● Mapnik - styling and orchestration of downsampling ● KTile - TileStache fork for serving tiles ● Jupyter Notebook - plugins + custom python kernel ● GeoJS/OpenLayers - interactive presentation of map
  • 8. Current Limitations ● Complex deployment of tile rendering stack (Mapnik/GDAL); docker image available ● Re-rendering transformations of data subsets (e.g rendering in-memory data). ● Interactive elements break some of the implicit promises about reproducibility of notebooks.
  • 9. Call to Action ● Originally developed as a demonstration of what was possible for Q/A on NEX data processing pipelines. ● Still early days ○ Apache 2.0 licensed software seeks interested community of users & contributors. ○ Cathedral and the Bazaar - “plausible promise”
  • 10. Many Thanks! Contributing projects: GDAL, Mapnik, TileStache, Jupyter Notebook, NumPy, Fiona, Shapely, Rasterio, Pytest and many others. Contributing humans: Mike Little†, Raman Nemani†, Petr Votava, Andrew Michaelis†, Jon Beazley‡, Doruk Ozturk‡, Dan Lamanna‡ † NASA, ‡ Kitware Inc.
  • 11. Questions! Github: OpenGeoscience/geonotebook Gitter: gitter.im/OpenGeoscience/geonotebook RTD: geonotebook.readthedocs.io Email: chris.kotfila@kitware.com docker run --net=host -v /path/to/notebooks:/notebooks geonotebook/geonotebook:latest
  • 15. Nascent Geotrellis integration Geotrellis & GeoPySpark Deep Learning for Semantic Segmentation of Aerial Imagery