Hacker News new | ask | show | jobs
by Waterluvian 1124 days ago
As a geographer who migrated to mobile robotics and web mapping, I’ve found that there is a lack of “serious” web spatial analysis tools for in-browser work. Think the geotoolbox you get in ArcGIS or QGIS for building analytical processing pipelines for raster and vector datasets, particularly from web sources.

Lately I’ve revisited the idea and found that with wasm, SharedArrayBuffer for parallelism, and more maturing libraries, it may be possible to provide a much richer set of analytical tools.

Is this an idea you’ve explored? This would be my “if I won the lottery, what would I work on?” project.

3 comments

GEOS will be available in WASM sooner or later (if it isn’t already, and if the licence works for you), rust-geo (under active development, I’m one of a few core contributors who work on it) is available compiled to WASM today (you can see a demo from a core contributor at rgis.app). Those are both vector only. For a more mature product that “only” leverages JS, placemark is the state of the art, and is amazing.

I’m not a raster or EO person so I can’t speak to GDAL’s availability, but I’m dubious that the browser is a good interface for that kind of work, or for a full GIS more generally.

Watch out for software license conflicts moving the code to WASM. Some code can run on a server without triggering distribution clauses. WASM runs on the client and may count as distribution.

Assume Apache Baremaps uses an Apache license, it might be more wasm-friendly than most GIS software…

Have you tried Turf.js? It goes pretty far when it comes to in-browser spatial analysis. Baremaps is more about the server side of web mapping. We currently use MapLibre for rendering the vector tiles we produce in the browser and plan to support 3d tiles in the future.
I should try Turf again. The core problem last time was that it fundamentally does not support “Simple”/ Euclidean coordinate systems. When I want to do analysis on flatland indoor maps, it does all the math wrong.