Transform geotechnical AGS files into interactive web maps that stakeholders can explore in any browser.
This repository demonstrates how to convert AGS (Association of Geotechnical and Geoenvironmental Specialists) files into web-friendly formats and create an interactive map visualization. Instead of sharing folders of specialized files, you can provide stakeholders with a single web page showing investigation locations with detailed popups.
- Interactive web map displaying borehole locations
- Clickable markers showing investigation details
- Geology columns and SPT charts for technical stakeholders
- No specialized software required - works in any web browser
uv syncTransform your AGS files using the interactive Python notebook:
cd data_processing
uv sync # Install dependencies
marimo edit ags_to_geojson.py # Open interactive notebookThe notebook will:
- Load AGS files using
bedrock-ge - Convert to standardized geospatial format
- Export GeoJSON for web mapping
- Generate JSON files for in-situ test data
Start a local server to view the interactive map:
cd webmap
python3 -m http.server 8000Then visit http://localhost:8000.
For data processing:
- Python 3.13+
- Dependencies:
bedrock-ge,geopandas,marimo
For web visualization:
- Any modern web browser
- Local web server (for loading data files)
You'll need:
- AGS files from your geotechnical project
- Coordinate Reference System (CRS) information
- Horizontal CRS (e.g., EPSG:2326 for Hong Kong)
- Vertical CRS (e.g., EPSG:5738 for Hong Kong)
- Color-coded markers by investigation type (SPT, CPT, etc.)
- Popup details with borehole information
- Ground level elevations and coordinates
- Investigation dates and remarks
- Geology columns showing soil layers
- SPT charts with N-values vs depth
The repository includes sample AGS files from the Kai Tak development area in Hong Kong, demonstrating the workflow with real geotechnical data.
- bedrock-ge - AGS file processing
- MapLibre GL JS - Web mapping
- Observable Plot - Data visualization
- marimo - Interactive reactive Python notebooks
