We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

State of GeoBlaze: A Blazing Faster Raster Analysis Engine in Pure JavaScript

00:00

Formal Metadata

Title
State of GeoBlaze: A Blazing Faster Raster Analysis Engine in Pure JavaScript
Title of Series
Number of Parts
351
Author
License
CC Attribution 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language
Production Year2022

Content Metadata

Subject Area
Genre
Abstract
*GeoBlaze (geoblaze.io)* 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 (github.com/GeoTIFF/dufour-peyton-intersection), georaster (github.com/geotiff/georaster), geotiffjs (github.com/geotiffjs/geotiff.js), and calc-image-stats (github.com/danieljdufour/calc-image-stats). ### sample notebooks: - Time Series Analysis with GeoBlaze: Mean Daily Air Temperature for the Month of May: observablehq.com/@geosurge/time-series-analysis-with-geoblaze-mean-daily-air-temperat - Identifying Carr Wildfire with Landsat 8: observablehq.com/@geosurge/identifying-carr-wildfire-with-landsat-8 - Hectares of Rainfed Wheat in Ukraine: observablehq.com/@danieljdufour/hectares-of-rainfed-wheat-in-ukraine
Keywords
202
Thumbnail
1:16:05
226
242
StatisticsAreaWeb browserMathematical analysisPoint cloudSpeciesMultitier architectureStandard deviationSet (mathematics)Software testingLageparameterAreaWeb browserMathematical analysisRaster graphicsMedical imagingArithmetic meanAuditory maskingAlgorithmCodeProjective planeLevel (video gaming)StatisticsSemiconductor memoryMassCalculationSummierbarkeitSoftware testingStandard deviationWordGeometryPoint cloudComputer animation
CalculationGeometryStatisticsAsynchronous Transfer ModeHistogramMedianSystem callMedical imagingStatisticsComputer animation
Software testingFunction (mathematics)PolygonArithmetic meanStructural loadSynchronizationRaster graphicsMultiplication signLibrary (computing)Software testingBitCodeComputer animation
Term (mathematics)Computer-generated imageryASCIIType theoryRaster graphicsSoftware developerAxonometric projectionRaster graphicsType theoryLevel (video gaming)WindowComputer fileSoftware developerMedical imagingCalculationLine (geometry)Computer animation
Presentation of a groupRight angleMultiplication signComputer animation
Internet forumSource codeComputer animation
Transcript: English(auto-generated)
What is GeoBlaze? GeoBlaze is a raster analysis engine written in pure JavaScript. That means you can run it completely in the browser. With it, you can calculate summary statistics like mean and standard deviation of an area within a geotiff.
For example, if you have a geotiff from map spam of rain-fed wheat for the whole globe, we can select the area in Ukraine and calculate the sum of rain-fed wheat produced in that area. We've added a few new things.
We've added support for cloud-optimized geotiffs. We've added support for analysis in any standard projection. In other words, projections that have an EPSG code. We replaced the library-specific calculations,
code that we had written just for GeoBlaze with another package that will do the statistical calculations. And that's led to a massive performance and safety boost, a memory safety boost for statistical calculations and added new statistics.
We also refactored the testing and we split out the underlying intersection algorithm into its own package. And that's being used right now in another package called GeoMask, and that can mask areas within an image.
So here's one example of what I mean by you can calculate all the stats in one call. Pretty simple. The way that it works is kind of fun, so find me in the social nets and ask me about it.
So we also replaced the testing library, and the one on the top is what we had before using Mocha and Chai, which is great, it works, but you just have to add some more code,
like the dot two equal. Felt that was a bit verbose. So replaced it with Flug, which is German for flight, and that is a library that has a very quick time for takeoff.
So we have a short-term roadmap, we don't have a long-term roadmap, because I'm looking at all of you and I want to know what your long-term roadmap is for GeoBlaze, but our short-term roadmap is adding support for more raster types,
ASCII grid, and also geo-referenced images that have like a .prj or an auxiliary XML file, or world file, adding TypeScript support. Tim Welch, great guy, makes great PRs. He made one for adding TypeScript,
and I have to follow up with him on that. Want to improve the developer experience on Windows? Oh, raise your hands, who develops mostly on Windows? Oh, sorry, what? Oh, no, without, straight Windows. Okay, I want to help you guys.
All right, and then there's adding percentile calculations, adding support for new raster types that we're all learning about in this conference, like Czar, and then looking at the users
and seeing what you all want. That's it, thank you. Thank you very much, Daniel, right on time.