GIS Projects

/

Coastal Survey & Navigation Portal

GIS Case Study

Coastal Survey & Navigation Portal — Maritime Navigation System

Bathymetric survey visualisation and navigation portal for a North Sea coastal region.

Domain

Maritime Survey / Navigation

Role

Full-Stack GIS Developer

Coastal Survey & Navigation Portal — Maritime Navigation System

At A Glance

What Makes It Work

Nautical mapping of survey areas using Mapbox GL JS

Depth-sounding surfaces with a user-adjustable depth colour range

Navigation buoy and marker tracking with status-based symbology

Field-ready responsive interface behind secure crew authentication

Reading the seabed from a browser

A coastal survey operation in the North Sea was producing bathymetric data faster than anyone could usefully look at it. Sounding surveys came back as dense depth grids; the navigation team maintained a separate record of buoys and markers; and both were interpreted through desktop tools that only the survey office could run. Crews at sea and managers ashore worked from exported charts that were out of date by the time they were printed. The requirement was a portal that made survey results legible to people who are not hydrographers, a depth surface you can read at a glance, navigation aids with their current status, and a chart that works on a tablet on deck, without compromising the accuracy the survey team depended on.

A depth surface you can tune

The portal is built on GeoDjango and PostGIS, with a Vite front end rendering through Mapbox GL JS and survey surfaces served through Mapbox Tiling Service. The defining feature is the depth visualisation: rather than a fixed colour scheme, the user sets minimum and maximum depth and the colour ramp is applied live across the sounding surface. A pilot interested in a 6-metre channel and a surveyor interested in a 30-metre trench can each configure the view that makes their question obvious. Depth contours render on top for channel and shoal interpretation. Navigation buoys and markers are a separate layer with categorised symbology driven by condition status, so a marker that is off-station or unlit reads differently from one that is nominal. Basemap switching includes OSM, streets, satellite, hybrid and a navigation night mode for use on a darkened bridge. Search covers survey areas and direct coordinate look-up. The whole interface sits behind role-based authentication separating survey staff from office users, and it is responsive enough to be used on deck.

From survey office to bridge

The result is that survey output is consumed where decisions are made rather than where it is produced. Crews check the current depth picture and buoy status before a passage; managers ashore see the same view; the survey office publishes once and stops re-exporting charts. The technical decisions were all in service of trust. Depth data is served from the survey team's own PostGIS tables, not a copy, so what a crew sees on deck is what the surveyor committed. That principle, one authoritative source, many views, has shaped our subsequent maritime and data engineering work.

Capabilities

Core Functionality

●

Bathymetric depth visualisation with user-defined min / max depth

●

Live colour-ramp control applied across the sounding surface

●

Buoy layer with categorised markers, labels and condition status

●

Basemap switching: OSM, streets, satellite, hybrid, navigation night

●

Depth contour rendering for channel and shoal interpretation

●

Search across survey areas and coordinate look-up

●

Role-based authentication for survey and office users

Technologies

Tools & Stack

Backend: GeoDjango + PostGIS
Frontend: Vite + Mapbox GL JS
Tiles: Mapbox Tiling Service (MTS)
Database: PostgreSQL + PostGIS
Deployment: Linux

Questions

Frequently Asked Questions

Can users adjust how depth is displayed?

Yes. Users set their own minimum and maximum depth and the colour ramp is applied live across the sounding surface, so the same survey can be read for a shallow channel or a deep trench without regenerating anything. Depth contours render on top for interpretation.

Does it work on a vessel with intermittent connectivity?

The interface is responsive and light enough for tablet use on deck, and tiles for a working area cache in the browser once loaded. Full offline operation was not in scope for this deployment but is achievable with a service worker and pre-fetched tile packs for a defined area.

How are navigation buoys represented?

As a dedicated layer with categorised markers, labels and a condition status that drives the symbology, so a marker that is off-station, unlit or under maintenance is visually distinct from one that is nominal. Status is edited by survey staff and visible to everyone immediately.

Is the survey data copied into the portal?

No. Depth surfaces and marker records are served from the survey team's own PostGIS database, so the portal always reflects what the surveyors have committed. There is no export step and no second copy that can fall out of date.

Contact Us

Have A Project?

Let’s Build It

Have a project in mind? Tell us what you're building and we'll get back to you within 12–24 hours with a clear plan.

🔒

100% Confidential

⚡

12–24 Hr Response

🛡️

60-Day Bug Fix

✅

Free Consultation

💬

Start Your Project

Fill in the details below or book a call

Book Scoping Call

Full Name

Email Address

Service Needed

Estimated Budget

Tell Us About Your Project

🔒 Private & confidential  ·  ⚡ We respond within 12–24 hours