FOSS4G 2022 general tracks

Daniel J. Dufour

Daniel Dufour is the CEO of GeoSurge, a geospatial tech company with a focus on data compression, natural language processing, remote sensing, and visualization. He created or co-created several open-source geospatial projects, including geotiff.io, georaster, georaster-layer-for-leaflet, geoblaze, geowarp, and proj4-fully-loaded.

The speaker's profile picture

Sessions

08-25
10:20
5min
State of GeoBlaze: A Blazing Faster Raster Analysis Engine in Pure JavaScript
Daniel J. Dufour

GeoBlaze is a blazing fast raster analysis engine written in pure JavaScript. With geoblaze, you can run computations ranging from basic statistics (min, max, mean, median, and mode) to band arithmetic and histogram generation in either a web browser or a node application.

presentation

This presentation will go over recent updates to GeoBlaze, including the addition of support for Cloud-Optimized GeoTIFFs. We will also discuss the roadmap for the next couple years.

use cases

GeoBlaze can be used wherever vectors and rasters meet. You can use it to calculate the hectares of wheat in a country, the change in daily median earth temperature, and identify wildfires in satellite imagery.

environment

Because GeoBlaze is written in pure JavaScript it can be run in various environments, on an EC2 server, Lambda function, Cloudflare worker, or in the browser. It performs calculations using the CPU, so it is not restricted only to environments where a GPU is available.

notable dependencies

GeoBlaze is built on top of the following open-source projects: dufour-peyton-intersection, georaster, geotiffjs, and calc-image-stats.

sample notebooks:

  • Time Series Analysis with GeoBlaze: Mean Daily Air Temperature for the Month of May: https://observablehq.com/@geosurge/time-series-analysis-with-geoblaze-mean-daily-air-temperat
  • Identifying Carr Wildfire with Landsat 8: https://observablehq.com/@geosurge/identifying-carr-wildfire-with-landsat-8
  • Hectares of Rainfed Wheat in Ukraine: https://observablehq.com/@danieljdufour/hectares-of-rainfed-wheat-in-ukraine
State of software
Room 4
08-26
14:45
30min
State of GeoRasterLayer: A LeafletJS Plugin for Visualizing GeoTIFFs (and soon other rasters)
Daniel J. Dufour

GeoRasterLayer is a LeafletJS Plugin for visualizing GeoTIFFs. This presentation will show live demos of new features and discuss the roadmap for the next couple of years.

Features

  • Support for nearly all projections, thanks to proj4-fully-loaded and epsg.io
  • Super faster rendering thanks to a simple nearest neighbor interpolation
  • Use of web workers means seamless integration that doesn't block main thread
  • Loads large geotiffs greater than a hundred megabytes
  • Supports custom rendering including custom colors, directional arrows, and context drawing
  • Doesn't depend on WebGL

Videos

  • Edge Compute: Cool Stuff You Can Do With COGs in the Browser
  • 2019 - Algorithm Walk-through: How to Visualize a Large GeoTIFF on Your Web Map

Examples

  • Loading the georaster-layer-for-leaflet library along with GeoBlaze via a script tag. You can view the source code here and the live demo here.
  • Combining two Cloud Optimized GeoTIFFs together to create an NDVI map. You can view the source code here and the live demo here.
  • Identifying Wildfires from a Landsat 8 Scene. You can view the source code here and the live demo here.
  • Visualizing Population COG. You can view the source code here and the live demo here.
  • Display a COG that represents only one band of a Landsat scene. You can view the source code here and the live demo here.
  • Display a COG with YCbCr Photometric Interpretation. You can view the source code here and the live demo here.
Use cases & applications
Room Onice
08-24
11:30
30min
Cloud-Native Geospatial with JavaScript
Daniel J. Dufour, Matthias Mohr

The amount of Earth Observation data we have available nowadays is exceeding the capabilities for data processing. Therefore, a lot of data is now made available in the cloud. To make digesting the data easier and more-lightweight, it is getting more and more popular to store the data in so-called “cloud-native” file formats while data processing is also moving towards the data, i.e., into the cloud. This way you only need to retrieve the actual subset of the data you are actually interested in instead of the full data set, which can be in the magnitude of gigabytes or even larger. This technology of cloud-native file formats is usually best used with Browsers, which is the users’ main interface to the internet and the cloud. There the main language is JavaScript. Therefore, this talk will give a high-level introduction about the relevant cloud-native file formats and show whether and how you can make use of these files in client-side JavaScript:

  • COG: Cloud-Optimized GeoTiff ( https://www.cogeo.org )
  • COPC: Cloud-Optimized Point Clouds ( https://copc.io )
  • Flatgeobuff ( https://flatgeobuf.org )
  • GeoParquet ( https://github.com/opengeospatial/geoparquet )
  • STAC: SpatioTemporal Asset Catalog ( https://stacspec.org )
  • Zarr ( https://zarr.readthedocs.io )

This talk will dig into the available open-source libraries and, if JavaScript implementations are available, show their functionality based on examples. If multiple options are available, a high-level comparison will show the main differences in functionality. For COGs for example, we’ll compare the capabilities of the popular mapping libraries Leaflet, OpenLayers and MapLibre GL.

State of software
Room Onice