GIS & Mapping for Water Engineers
You don’t need expensive software to make professional maps. This section covers the free stack most water engineers actually use — QGIS for mapping and OpenStreetMap for basemaps — plus the coordinate-system basics and troubleshooting tips that save hours.
🧭 Interactive Map Viewer
Click anywhere on an OpenStreetMap basemap to read coordinates in decimal degrees, DMS, and UTM — or paste coordinates to jump to a sampling point.
🔄 Coordinate Converter
Convert between decimal degrees, degrees-minutes-seconds, and UTM (WGS84) — for field notes, lab chains of custody, and GIS imports.
Why QGIS
QGIS is a free, open-source geographic information system that handles nearly everything a water engineer needs: plotting sampling locations, drawing system maps, measuring distances, and producing report figures. It is updated constantly — new feature releases arrive several times a year, with a Long Term Release (LTR) maintained for stability.
- Download the LTR (not the latest feature release) from qgis.org/download unless you need a brand-new feature. As of October 2026 the LTR is 3.44.15 (point releases monthly; 3.44.16 is scheduled for Oct 30). The latest feature release is 4.2.3 — note that 4.2 is slated to become the first 4.x LTR, so expect the LTR line to move off 3.44 later in 2026.
- Windows: the standalone 64-bit installer is simplest. The OSGeo4W network installer is better if you want several versions side by side or granular updates.
- macOS: use the official all-in-one installer from the download page (signed and notarized).
- Staying current: uninstall the old version before installing the new one if you keep a single-version setup; your profiles, plugins, and project files live separately and survive a reinstall.
Official docs: docs.qgis.org — the user manual and training manual are excellent and free.
Why OpenStreetMap (instead of Google Maps)
For basemaps inside QGIS, OpenStreetMap (OSM) is the practical choice:
- License: OSM data is under the Open Database License (ODbL) — you may use it, including in reports and figures, as long as you credit © OpenStreetMap contributors. Google’s map tiles come with restrictive terms (API keys, billing, no bulk use) that don’t fit engineering workflows.
- Cost: the OSM tile servers are free for reasonable use, run by a nonprofit.
- Coverage: community-mapped worldwide, often more current than commercial maps for trails, small roads, and developing areas.
Add an OSM basemap in QGIS (30 seconds)
- In the Browser panel, right-click XYZ Tiles → New Connection.
- Name it
OpenStreetMap, URLhttps://tile.openstreetmap.org/{z}/{x}/{y}.png, leave the rest default, OK. - Double-click it to add as a basemap. (The QuickMapServices plugin offers more variants — OSM Humanitarian, Topo, etc.)
A note on languages and variants
OSM labels render in each place’s local language — working in Japan, you will see Japanese labels; in the Middle East, Arabic. This is normal and often desirable for local coordination. Variants worth knowing:
| Variant | Good for |
|---|---|
| OSM Standard | General-purpose basemap, worldwide |
| OSM Humanitarian (HOT) | Disaster response / developing regions, high contrast |
| CARTO basemaps (Positron / Dark Matter) | Clean, minimal backdrops that keep your data layers legible — popular for report figures. Since 26 Aug 2026 a free API key is required (request at carto.com/basemaps/apikey); keyless tiles carry an “API KEY REQUIRED” watermark. Non-commercial use is free up to 5M tile requests/month; commercial use is free up to 1M/month on the same key. |
| OpenTopoMap | Terrain and contours for field reconnaissance |
| CyclOSM | Cycle and trail detail |
OpenFreeMap: vector tiles, more label control
OpenFreeMap serves vector tiles built from OpenStreetMap data — free, no registration, no API key, no usage limits. Why it matters for report figures:
- Crisp labels at any zoom: vector tiles render text sharply no matter how far you zoom, and styles expose label-size controls — useful when overview maps come out illegible with raster tiles.
- Multiple styles: Bright, Positron, Liberty, Dark, and Fiord — pick a light minimal style (e.g. Positron) when your sampling points need to stand out.
- Attribution still required: the underlying data is OSM (ODbL), so keep “© OpenStreetMap contributors” on every export.
In QGIS, add it as a Vector Tile connection (Layer → Add Layer → Add Vector Tile Layer → New), pasting the style URL — e.g. https://tiles.openfreemap.org/styles/bright. Do not add the style URL as an XYZ connection; XYZ expects raster {z}/{x}/{y}.png URLs and the style URL won’t work there. If a style fails to load (“invalid data source”), try another style — compatibility varies by QGIS version.
The real payoff: open Layer Properties → Symbology on the vector tile layer and adjust roads, labels, and colors directly — line widths, label sizes, everything. That’s the label control raster tiles can’t give you. One caveat: OpenFreeMap is donation-funded with no uptime guarantee — fine for desktop figure production, think twice before depending on it in a public-facing web app. The project is fully open source and can be self-hosted.
Coordinate systems: the 5-minute primer
Almost every “my points landed in the wrong place” problem is a coordinate-system problem. Two concepts cover 95% of cases:
- Geographic (lat/long, EPSG:4326 / WGS84): what GPS gives you and what OSM uses. Units are degrees — never measure distances in degrees.
- Projected (e.g. UTM): flat-grid coordinates in meters, used for measuring and for most engineering drawings. UTM divides the world into 60 zones, 6° wide each.
| Working area | Common projected CRS |
|---|---|
| Hawaii (most islands) | UTM Zone 4N, WGS84 (EPSG:32604) |
| Hawaii, Big Island (east) | UTM Zone 5N, WGS84 (EPSG:32605) |
| US East Coast | UTM Zone 17N–19N, or NAD83 State Plane |
| Anywhere (quick look) | WGS84 / Pseudo-Mercator (EPSG:3857) — what web maps use |
Plot sampling points from a spreadsheet
- Save your table as CSV with latitude and longitude columns in decimal degrees (negative for W/S).
- Layer → Add Layer → Add Delimited Text File, pick the CSV, set X = longitude, Y = latitude, geometry CRS = EPSG:4326.
- Right-click the layer → Export → Save Features As to reproject into your project’s UTM zone for distance work.
Report-ready figures: Print Layouts and Atlas
Use Project → New Print Layout for report figures: add the map, scale bar, north arrow, and legend, then export to PDF or PNG. If you need one map per site (e.g. a figure per sampling location), the Atlas feature iterates over a coverage layer and generates them all automatically — set it up once under Layout → Atlas Settings.
Troubleshooting
My points plot in the wrong place (often near Africa or mirrored).
Latitude and longitude are swapped, or the layer CRS doesn’t match the data. CSV lat/long is EPSG:4326 — set that explicitly on import, and make sure X = longitude.
The OSM basemap is blank / won’t load.
Check the XYZ URL is exactly https://tile.openstreetmap.org/{z}/{x}/{y}.png (https, not http). Heavy use can get temporarily throttled — wait, reduce zoom, or try the Humanitarian variant.
Distances look wrong.
You’re measuring in a geographic CRS (degrees). Reproject the layer or set the project CRS to a UTM zone, then measure.
Labels show in a foreign language.
That’s OSM rendering local names — expected behavior, not an error. Switch basemap variants if you need a different look.
QGIS runs slowly with a big project.
Use a file geodatabase/GeoPackage instead of shapefiles for large layers, build spatial indexes (Vector → Data Management Tools), and avoid live XYZ basemaps at very high zoom when exporting.
A plugin fails after upgrading QGIS.
Plugins lag behind major releases. Check Plugins → Manage for an update, or temporarily roll back to the LTR, which plugin authors target first.
CARTO basemap exports show “API KEY REQUIRED” across the tiles.
Since August 2026, CARTO’s raster basemaps (Positron, Dark Matter, Voyager) require a free API key — requests without one return HTTP 200 with a watermark stamped on every tile, which only shows up when you actually open or export the map. Fix: request a free key at carto.com/basemaps/apikey and append ?key=YOUR_KEY to the XYZ URL. The free non-commercial tier allows up to 5M tile requests/month, and commercial use — including contract deliverables — is free up to 1M/month on the same key, both far above what desktop figure exports consume. Or switch the basemap to plain OSM raster or an OpenFreeMap vector style, which need no key. Check an exported PDF at 100% before the figure goes into a report. Heads-up: CARTO is phasing raster basemaps out in favor of vector tiles, so the key is a fix for now, not forever.
I added a field to a KMZ layer and the layer broke (error mark, sublayer list gone).
Treat KMZ as read-only artwork: the format doesn’t support adding fields, and a “new column” edit can corrupt the file in place — symptoms are a layer with a red error mark and the sublayer picker (e.g. building polygon) no longer appearing. If you didn’t save the project, the fix is to replace the KMZ with a backup (OneDrive/cloud version history usually has one), delete the broken layer, and re-add it. Working rule: import the KMZ as a basemap, then immediately export what you need to a GeoPackage (.gpkg) and edit that instead.
Overview map in a print layout is illegible.
Increase the overview frame size, zoom the overview map further in, or make the extent marker thicker and higher-contrast. If labels stay blurry, switch the overview to a vector basemap (e.g. OpenFreeMap) — vector labels stay sharp at any zoom.
Can’t resize the overview extent indicator directly.
The red rectangle always mirrors the referenced map’s extent — you can’t drag it. Its size follows the referenced map item’s paper size × scale, so point the overview at a dedicated (possibly hidden) map item and adjust that to control the rectangle. For a finalized figure, you can also skip Overviews entirely and draw the rectangle with Add Shape — full control, but it won’t auto-sync if the main map moves.
Official resources
- Download QGIS — official installers (get the LTR for stable work)
- QGIS Documentation — user manual & training manual
- OpenStreetMap — the map itself; create a free account to fix errors you spot
- LearnOSM — beginner-friendly OSM guides
- OSM Tile Usage Policy — the rules for using OSM tiles in apps and sites
- OpenFreeMap — free vector tiles from OSM data (no API key); sharper labels and more style control for figures
- OSM Copyright & License — attribution requirements (ODbL)
Version notes verified October 2026 (QGIS LTR 3.44.15, latest 4.2.3; CARTO key pricing per carto.com, terms version 29 Sep 2026). QGIS and OpenStreetMap are independent open-source projects; this page is an unofficial guide.