A web-based GIS application built as part of the course TBA4251 Programming in Geomatics at NTNU.
muGIS (ΞΌGIS) is an interactive online Geographic Information System (GIS) designed to work with GeoJSON data. It allows users to load GeoJSON FeatureCollection files or custom .mugis project files to visualize and analyze spatial data directly in the browser.
The application offers a variety of spatial analysis tools, including buffering, union, intersection, difference, dissolve, Voronoi diagrams, clipping, and bounding box calculations. These tools are powered by Turf.js, a modular geospatial analysis library.
Users can also inspect and manipulate attribute data through a built-in attribute table, enabling the creation of new layers from filtered selections using versatile query filters.
The map interface is built on Mapbox GL JS for high-performance, interactive mapping. Integration with Mapbox GL Draw allows users to add new point, line, and polygon layers by drawing directly on the map. A layer list panel displays all active layers, with full control over their visualization.
Users can save the current state of their project to a .mugis file and later reload or reset it, providing a smooth workflow for iterative geospatial analysis.
This project is built using:
- React
- TypeScript
- Vite
- CSS
- Mapbox GL JS
- Turf.js
- Zustand
- Mapbox GL Draw
- React Colorful
- Lucide React Icons
The app is publicly available at:
- π mugis.no
- π GitHub Pages
As part of the assignment, we performed a spatial analysis to identify suitable housing areas for students in Trondheim, based on proximity to transport and safety concerns.
- π Close to bus line 3
- π« Avoid underpasses
- π§ Within range of Lerkendalsbygget, NTNU GlΓΈshaugen
π π Read the full tutorial
To run the project locally:
git clone https://github.com/tiltobias/muGIS.git
cd muGIS
yarn
yarn devThen open http://localhost:5173 in your browser.