Blog posts for GIS and Earth data work.
Practical explanations for the moments when GIS tools, projections, file formats, and terrain workflows slow a project down.
Field notes
Clear answers before the workflow slows down.
The series focuses on practical decisions teams face when spatial data has to become reliable analysis, readable maps, or usable interfaces.
EPSG Codes for WGS 84 / UTM Zones
Find the EPSG code for any WGS 84 / UTM zone. Complete reference table for all 60 UTM zones, north and south, plus how to choose the right one.
Jun 15, 2026 / 8 min readAssign CRS vs Reproject
Assigning a CRS relabels coordinates without moving them; reprojecting recomputes them. Learn which to use, the diagnostic test, and the exact QGIS and GDAL steps.
May 9, 2026 / 8 min readWhy Your GIS Layers Do Not Line Up
GIS layers not lining up is almost always a CRS problem: missing .prj, wrong projection, datum shift, or axis order. How to diagnose and fix each case.
May 9, 2026 / 8 min readWGS84 vs UTM
WGS84 vs UTM for GIS: when to keep EPSG:4326 degrees and when to reproject to a UTM zone in meters for buffers, areas, and terrain. Worked examples.
May 9, 2026 / 8 min readEPSG:4326 vs EPSG:3857
EPSG:4326 vs EPSG:3857 explained — degrees vs Web Mercator metres, why measurements distort, and how to pick the right CRS for display and analysis.
May 8, 2026 / 8 min readProject CRS vs Layer CRS in QGIS
Project CRS vs layer CRS in QGIS: how on-the-fly reprojection works, why exports and analysis use different CRS, and how to set each one correctly.
May 8, 2026 / 8 min readWhy DEM Slope Values Are Wrong in Geographic Coordinates
DEM slope is wrong in a lat/long CRS because pixel spacing is in degrees while elevation is in metres. Fix it by reprojecting to UTM or setting the right z-factor.
May 8, 2026 / 9 min readCRS Checklist Before GIS Analysis
A practical CRS checklist before GIS analysis: inventory source CRS, separate assigning from reprojecting, pick a metric processing CRS, and verify units and datum shifts.
May 7, 2026 / 8 min readHow to Choose a CRS for Distance Measurement
Choose the right projected or geodesic CRS for distances: UTM, equidistant projections, and PostGIS geography compared with worked examples.
May 7, 2026 / 8 min readWhat Is a PRJ File?
A .prj file stores a shapefile's CRS as WKT. What it contains, what breaks when it goes missing, why you must not guess, and how to recreate it correctly.
May 7, 2026 / 8 min readHow to Choose a CRS for Area Measurement
Pick an equal-area projection for reliable polygon areas: Albers, LAEA, and UTM compared, with QGIS and PostGIS worked examples.
May 6, 2026 / 8 min readUTM Zones Explained for GIS Projects
Understand UTM zones for GIS: the 60 six-degree zones, EPSG 326xx/327xx codes, false easting/northing, cross-zone problems, and when to use UTM vs a national grid.
May 6, 2026 / 9 min readWhy Web Mercator Is Not an Analysis Projection
Web Mercator (EPSG:3857) inflates area toward the poles and distorts distance. Learn why it fails for measurement and which projected CRS to use instead.
May 6, 2026 / 8 min readGeographic vs Projected CRS
Geographic CRS uses angular degrees; projected CRS uses meters. Learn when to reproject, how to avoid distorted areas, buffers, and bad measurements.
May 5, 2026 / 8 min readNAD83 vs WGS84 for North American GIS Data
NAD83 vs WGS84: why the datums now differ by 1-2 m, when that matters, the right PROJ transformation, and how to pick an analysis CRS in North America.
May 5, 2026 / 9 min readVertical CRS for Elevation Data
Vertical CRS explained: ellipsoidal vs orthometric height, geoid models, EGM2008, NAVD88, compound CRS, and how to convert elevations correctly with PROJ and GDAL.
May 5, 2026 / 9 min readLongitude Latitude vs Latitude Longitude
Why coordinate order flips between GIS, GeoJSON, and APIs, the lat/lon vs lon/lat rule per format, and how to stop points landing in the ocean.
May 4, 2026 / 8 min readWhat an EPSG Code Means in GIS
An EPSG code is a numeric ID for a coordinate reference system, like 4326 for WGS84 or 32650 for UTM 50N. What the number encodes and how to use it.
May 4, 2026 / 8 min readWhy Coordinates Look Reversed in GIS Data
Points landing in the ocean? Coordinates look reversed because GIS tools disagree on lat/lon vs lon/lat axis order. Here is why, and how to detect and fix it.
May 4, 2026 / 8 min readOn-the-Fly Reprojection in QGIS
How on-the-fly reprojection works in QGIS: project CRS vs layer CRS, why measurements can mislead, datum transforms, and when to actually reproject a layer.
May 3, 2026 / 8 min readReproject Raster Data Without Damaging Resolution
Reproject rasters in GDAL and QGIS without blurring data: pick the right resampling method, set output resolution explicitly, and preserve DEMs and categorical layers.
May 3, 2026 / 8 min readReproject Vector Data Without Moving It Wrong
Reproject vector layers correctly: confirm the source CRS, separate assigning from transforming, pick the right datum shift, and verify against control points.
May 3, 2026 / 8 min readDatum Transformations for GIS Teams
Datum shifts cause silent offsets of metres to hundreds of metres. Learn NTv2 grids, PROJ pipelines, and how to pick the right transformation and verify it.
May 2, 2026 / 8 min readWhy Area Calculations Are Wrong in Latitude Longitude
Area and distance measured in WGS84 degrees are wrong because lat/long is angular, not metric. Learn why, and how to fix it with projected CRS or geodesic math.
May 2, 2026 / 8 min readWhy Buffers Are Wrong in Degrees
A 0.01-degree buffer is not a fixed distance: it stretches and shrinks with latitude. Why WGS84 breaks buffers and how to reproject or use geography correctly.
May 2, 2026 / 8 min readCRS Metadata Checklist for Consultants
A field-tested CRS metadata checklist for GIS consultants: verify datums, axis order, vertical units, and transformations before any spatial deliverable.
May 1, 2026 / 8 min readHow to Audit CRS Problems in a GIS Project
Diagnose misaligned layers, wrong measurements, and broken datum transforms with a systematic CRS audit using QGIS, GDAL, and PROJ.
May 1, 2026 / 8 min readHow to Repair Missing CRS Metadata
Fix missing or wrong CRS metadata in GIS: diagnose the real CRS from coordinate ranges, then assign with gdal_edit or reproject with gdalwarp safely.
May 1, 2026 / 9 min readCRS for Drone Mapping Outputs
Choosing the right CRS for drone orthomosaics and DEMs: GNSS vs PPK vs GCPs, ellipsoidal vs orthometric height, UTM zones, and EPSG codes that prevent errors.
Apr 30, 2026 / 9 min readCRS for Field GPS Data
Set the right CRS for field GPS data: WGS84 vs ITRF, datum and epoch drift, NMEA vs RTK, and reprojecting to a measurement grid in QGIS, GDAL, and PostGIS.
Apr 30, 2026 / 9 min readCRS for Geological Cross Sections
How to choose a projected CRS and vertical exaggeration for geological cross sections so horizontal and vertical scales stay measurable and defensible.
Apr 30, 2026 / 8 min readCoordinate Precision vs Coordinate Accuracy
Precision is decimal places, accuracy is closeness to truth. How many decimals a coordinate needs, why extra digits are false precision, and how to audit both.
Apr 29, 2026 / 8 min readCRS for Multi-Country Terrain Projects
Choose a CRS for terrain projects spanning multiple countries or UTM zones: equal-area vs conformal grids, datum harmonisation, and seamless DEM mosaics.
Apr 29, 2026 / 9 min readCRS for Web Maps vs Desktop Analysis
Web Mercator (EPSG:3857) is fine for basemaps but distorts distance and area. Learn which projected CRS to use for trustworthy GIS measurement.
Apr 29, 2026 / 8 min readHow to Create a Slope Map in QGIS
Make a correct slope map in QGIS: check DEM CRS and z-factor, run the Slope algorithm in degrees or percent, then classify and QA the raster before styling.
Apr 28, 2026 / 9 min readHow to Document CRS Assumptions
Record CRS, datum transforms, vertical datums, and units so spatial work is reproducible: a practical metadata template for GIS projects.
Apr 28, 2026 / 8 min readSlope, Aspect, and Hillshade From DEM Data
Slope, aspect and hillshade from a DEM explained: degrees vs percent, the Horn algorithm, azimuth and altitude, and exact gdaldem and QGIS commands.
Apr 28, 2026 / 9 min readHillshade vs Slope
Hillshade is a lighting visualisation; slope is a measured terrain variable. How they differ, how each is computed, and when to use which in GIS.
Apr 27, 2026 / 8 min readWhat Is Aspect in GIS?
Aspect in GIS is the downslope compass direction of each DEM cell, 0-360 deg. Learn how it's computed, the -1 flat code, circular stats, and gdaldem steps.
Apr 27, 2026 / 8 min readZ Factor in Hillshade and Slope Analysis
How the z-factor reconciles vertical and horizontal DEM units in slope and hillshade. Latitude tables, GDAL/QGIS/ArcGIS values, and worked examples.
Apr 27, 2026 / 8 min readContours From DEM Data
Generate clean contour lines from a DEM: choosing intervals, smoothing without faking precision, and avoiding stair-step and noise artifacts.
Apr 26, 2026 / 8 min readDEM Quality Control Checklist
A step-by-step DEM QA checklist: CRS and vertical datum, NoData, voids, spikes, striping and seams, plus gdalinfo and QGIS checks before deriving slope.
Apr 26, 2026 / 8 min readDEM Resolution for Terrain Analysis
How DEM cell size changes slope, drainage and ruggedness. Match 1 m, 10 m or 30 m resolution to landform scale, with gdalwarp resampling guidance.
Apr 26, 2026 / 8 min readDEM vs DTM vs DSM
DEM vs DTM vs DSM explained: bare-earth vs first-surface elevation, how to derive a CHM, and when each model is right for slope, hydrology, and viewsheds.
Apr 25, 2026 / 9 min readTerrain Ruggedness Index Explained
Terrain Ruggedness Index explained: Riley's TRI formula, the Vector Ruggedness Measure, gdaldem and QGIS workflows, and how to choose a window size.
Apr 25, 2026 / 8 min readTopographic Position Index Explained
Topographic Position Index explained: the TPI formula, choosing annulus radii, slope-position and landform classification in QGIS, SAGA, and GDAL.
Apr 25, 2026 / 8 min readHow Cell Size Changes Terrain Outputs
DEM cell size controls slope, curvature, and drainage detail. See how resolution flattens steep gradients, why finer is not always better, and how to choose it.
Apr 24, 2026 / 8 min readLiDAR-Derived DEMs for Terrain Work
How LiDAR DTMs and DSMs are built from point clouds, when to use 1 m resolution, smoothing for clean derivatives, and QA for terrain analysis.
Apr 24, 2026 / 9 min readWhy Slope Maps Look Noisy
Noisy slope rasters come from DEM artifacts, tiny vertical steps, and resolution. Learn the causes, the role of the 3x3 window, and how to smooth without lying.
Apr 24, 2026 / 8 min readPercent Slope vs Slope Degrees
Percent slope vs degrees explained: the rise/run vs arctangent formulas, the conversion, where each unit is required, and how to compute both in GIS.
Apr 23, 2026 / 8 min readPlanar vs Geodesic Terrain Analysis
Planar vs geodesic terrain analysis: why projected-CRS slope distorts over large areas, when ellipsoidal measurement matters, and how to choose for DEM work.
Apr 23, 2026 / 8 min readWhen to Smooth a DEM
Smoothing a DEM can fix noise or destroy real terrain. Learn when to filter, which kernel to use, and how to match the smoothing scale to your analysis.
Apr 23, 2026 / 9 min readFlow Direction and Flow Accumulation Basics
Flow direction and flow accumulation from a DEM: D8 vs D-infinity, why you must fill pits first, and how to QC a drainage network before trusting it.
Apr 22, 2026 / 9 min readSink Filling Before Hydrology Analysis
Why DEM sink filling comes before flow direction and watershed analysis: spurious vs real pits, the Wang & Liu method, breaching, and QGIS/GDAL steps.
Apr 22, 2026 / 9 min readWatershed Delineation From DEM Data
Delineate watersheds from a DEM step by step: fill sinks, flow direction (D8), flow accumulation, stream definition, and pour-point snapping in QGIS and ArcGIS.
Apr 22, 2026 / 9 min readCurvature in Terrain Analysis
Understand profile, plan, and total curvature from a DEM: sign conventions, units, how to compute it in GDAL, SAGA, and QGIS, and why noise wrecks it.
Apr 21, 2026 / 9 min readHillshade Azimuth and Altitude Explained
What azimuth and altitude do in a hillshade, the standard 315 degrees / 45 degrees defaults, and how to set them in GDAL, QGIS and ArcGIS for clear relief.
Apr 21, 2026 / 8 min readViewshed Analysis From Elevation Data
Compute viewsheds from a DEM in QGIS, GRASS, and ArcGIS: observer height, Earth curvature, refraction, and the pitfalls that break line-of-sight maps.
Apr 21, 2026 / 8 min readExtracting Ridge and Valley Patterns
Extract ridge and valley lines from a DEM using curvature, flow accumulation, and TPI — with GDAL, QGIS, and SAGA commands and thresholds that work.
Apr 20, 2026 / 8 min readMultidirectional Hillshade for Relief Maps
Build multidirectional hillshade from a DEM with gdaldem -multidirectional: how it reduces shadowing bias, when to use it, and why it is a visual not a measured layer.
Apr 20, 2026 / 8 min readTerrain Classification From DEM Derivatives
Classify landforms from a DEM using slope, curvature, TPI, and TRI. A worked workflow with thresholds, GDAL and QGIS steps, and validation for geomorphology.
Apr 20, 2026 / 9 min readDEM NoData Problems and Edge Effects
Diagnose and fix DEM NoData voids, edge artefacts, and the 1-pixel borders that corrupt slope, aspect, and hillshade derivatives.
Apr 19, 2026 / 9 min readDEM Units and Vertical Datum Checks
Check DEM vertical units and datum before analysis: ellipsoidal vs geoid heights, EGM96/EGM2008, metres vs feet, and the geoid offset that breaks comparisons.
Apr 19, 2026 / 8 min readResampling DEMs Without Losing Meaning
How to resample a DEM correctly: choose bilinear vs cubic vs nearest, handle NoData and vertical units, and avoid distorting slope, aspect, and hillshade derivatives.
Apr 19, 2026 / 9 min readSlope Thresholds for Site Screening
How to set defensible slope-angle thresholds for site screening: degrees vs percent, DEM resolution effects, reclassification and validation in QGIS and GDAL.
Apr 18, 2026 / 8 min readTerrain Analysis for Geological Interpretation
Use DEM derivatives to read geology: how slope, curvature, multidirectional hillshade, and drainage networks expose faults, bedding, and lithological contrasts.
Apr 18, 2026 / 9 min readTerrain Analysis for Infrastructure Corridors
Plan road, rail, and pipeline corridors with DEM-based slope, cut-and-fill, and least-cost path analysis using GDAL, GRASS r.walk, and QGIS cost surfaces.
Apr 18, 2026 / 9 min readBuilding a Terrain Layer Stack
Build a terrain layer stack from a DEM the right way: slope, aspect, hillshade, curvature, and ruggedness with correct units, cell size, and CRS handling.
Apr 17, 2026 / 9 min readDEM Sources for Early Project Screening
Compare free global DEMs for early screening: Copernicus GLO-30, SRTM, ASTER, ALOS AW3D30 and NASADEM, with resolution, datum and download notes.
Apr 17, 2026 / 8 min readUsing DEMs With Geological Maps
Combine DEMs with geological maps the right way: align CRS and resolution, drape units on hillshade, derive slope and curvature, and read structure from terrain.
Apr 17, 2026 / 9 min readCross Sections From Terrain Data
Build elevation profiles and cross sections from a DEM: sampling along a line, vertical exaggeration, and combining terrain with subsurface data.
Apr 16, 2026 / 8 min readElevation Profiles From DEM Data
Extract accurate elevation profiles from a DEM in QGIS, GDAL, and PostGIS — handle sampling interval, interpolation, vertical exaggeration, and gradient.
Apr 16, 2026 / 9 min readHow to Compare Two DEMs
Align, difference, and validate two DEMs to map elevation change: gdalwarp resampling, DoD rasters, and uncertainty thresholds in QGIS and GDAL.
Apr 16, 2026 / 9 min readRaster Cell Alignment and Snap Raster Concepts
Why raster grids misalign and how to fix it: snap raster, the affine geotransform, gdalwarp -tap, and matching extent, cell size, and origin.
Apr 15, 2026 / 8 min readWhen Contours Are Better Than Hillshade
Contours vs hillshade for terrain maps: when measurable elevation lines beat shaded relief, the azimuth-bias trap, scale, and how to combine both well.
Apr 15, 2026 / 8 min readWhen Hillshade Misleads Interpretation
Hillshade looks like terrain truth but isn't. Learn how azimuth bias, vertical exaggeration, and resampling create artifacts that fool geological reads.
Apr 15, 2026 / 8 min readShapefile vs GeoPackage vs GeoJSON
Shapefile vs GeoPackage vs GeoJSON compared: field-name limits, file size, CRS rules, encoding and when to use each format, with ogr2ogr commands.
Apr 14, 2026 / 9 min readTerrain Analysis Checklist for Client Reports
A field-tested QA checklist for terrain deliverables: DEM provenance, CRS and vertical datums, slope units, hillshade caveats, and reproducible documentation.
Apr 14, 2026 / 8 min readWhy Does a Shapefile Have Multiple Files?
A shapefile is not one file but a set: .shp, .shx, .dbf, .prj and more. Learn what each does, why missing ones break your layer, and how to package them safely.
Apr 14, 2026 / 8 min readGeoJSON for Web Maps
How to deliver GeoJSON that loads fast in a browser: simplify geometry, cut precision, trim attributes, and switch to vector tiles when files get heavy.
Apr 13, 2026 / 8 min readGeoPackage for QGIS Projects
How to use GeoPackage in QGIS: store many layers in one SQLite file, save styles and the project itself, set up indexes and avoid the multi-writer trap.
Apr 13, 2026 / 8 min readGeoPackage vs PostGIS
GeoPackage vs PostGIS: when a single SQLite file beats a spatial database, concurrency limits, indexing, and how to migrate with ogr2ogr.
Apr 13, 2026 / 8 min readBest GIS File Format for Geological Mapping
GeoPackage vs shapefile vs GeoJSON vs PostGIS for geological mapping: pick the format that preserves the full data model, attributes, and relationships.
Apr 12, 2026 / 8 min readCloud Optimized GeoTIFF Explained
What makes a GeoTIFF cloud-optimized: internal tiling, overviews, IFD layout and HTTP range requests, plus how to create and validate a COG with GDAL.
Apr 12, 2026 / 9 min readWhat Is a GeoTIFF?
A GeoTIFF explained: how geotags embed CRS and georeferencing into a TIFF, what gdalinfo shows you, tiling, overviews, NoData, and the Cloud Optimized variant.
Apr 12, 2026 / 8 min readCSV Coordinates to GIS Layers
Turn a CSV of coordinates into a clean GIS layer: pick the right CRS, fix lon/lat order, parse DMS, and export to GeoPackage with QGIS, GDAL, and PostGIS.
Apr 11, 2026 / 8 min readField Name Limits in Shapefiles
Shapefile field names are capped at 10 characters and silently truncated on export. Learn the dBF limits, why names collide, and how to avoid data loss.
Apr 11, 2026 / 8 min readKML vs GeoJSON for Spatial Data Sharing
KML vs GeoJSON compared: structure, CRS, styling, attributes, and size. When to send KML for Google Earth and when GeoJSON wins for web apps and APIs.
Apr 11, 2026 / 9 min readWhen to Use GeoPackage Instead of Shapefile
Shapefile's 10-char fields, 2 GB limit, and DBF encoding break modern data. Learn when GeoPackage wins and how to convert cleanly with ogr2ogr.
Apr 10, 2026 / 8 min readWhen to Use PostGIS Instead of Files
Files break down with concurrent edits, big data, and shared queries. Learn the signals that mean it's time to move spatial data into PostGIS.
Apr 10, 2026 / 9 min readWhy Shapefile Encoding Breaks Accents
Accents turn into garbage in shapefiles because the .dbf has no reliable encoding tag. Learn how .cpg, code pages, and UTF-8 work, and how to fix mojibake.
Apr 10, 2026 / 8 min readMultiPolygon Problems in GIS
Fix MultiPolygon vs Polygon mismatches, invalid geometries, and ring-order errors with ogr2ogr, PostGIS ST_MakeValid, and QGIS geometry tools.
Apr 9, 2026 / 8 min readPoint Line Polygon Geometry Types
The OGC geometry model explained: Point, LineString, Polygon and their Multi- variants, rings and winding, dimensionality, and how each format stores them.
Apr 9, 2026 / 8 min readRaster vs Vector GIS Data
Raster vs vector GIS data explained: data models, when each wins, conversion with gdal_rasterize and gdal_polygonize, and resolution vs precision trade-offs.
Apr 9, 2026 / 8 min readGeometry Validity Explained
Geometry validity in GIS: what self-intersections, ring orientation and unclosed rings mean, how ST_IsValid detects them, and how to repair invalid features.
Apr 8, 2026 / 8 min readMBTiles for Offline Maps
Package raster and vector tiles into MBTiles for offline field use: how the SQLite schema works, building with tippecanoe and gdal, and PMTiles alternatives.
Apr 8, 2026 / 8 min readSpatial Indexes in GIS Files
How spatial indexes work across shapefile .qix, GeoPackage R-tree, and PostGIS GiST: what they accelerate, how to build them, and how to confirm they are used.
Apr 8, 2026 / 9 min readGeoJSON Coordinate Order Explained
GeoJSON stores coordinates as [longitude, latitude] in WGS84 per RFC 7946. Learn why axis order breaks maps, how it differs from WKT, and how to fix swaps.
Apr 7, 2026 / 8 min readVector Tiles for Web Maps
Vector tiles explained for web maps: how MVT works, the tile grid and zoom pyramid, building with tippecanoe or ST_AsMVT, and when to choose them over raster or GeoJSON.
Apr 7, 2026 / 9 min readWMS vs WFS vs OGC API Features
WMS serves rendered map images, WFS serves raw vector features, and OGC API Features is the modern REST/JSON successor. Compare them and choose the right one.
Apr 7, 2026 / 8 min readFile Geodatabase vs GeoPackage
File geodatabase vs GeoPackage compared: Esri's .gdb folder vs the open OGC SQLite .gpkg. Limits, edit-locking, raster support, and ogr2ogr conversion.
Apr 6, 2026 / 8 min readGeoParquet for Spatial Analytics
GeoParquet brings columnar Parquet to geospatial: how the format works, why it speeds up analytics, and how to read and write it with GDAL and Python.
Apr 6, 2026 / 8 min readTopoJSON vs GeoJSON
TopoJSON vs GeoJSON compared: shared-arc topology, file-size and precision trade-offs, RFC 7946 rules, and how to convert with ogr2ogr and geo2topo.
Apr 6, 2026 / 8 min readFlatGeobuf for Fast Spatial Exchange
FlatGeobuf is a single-file, streamable vector format with a spatial index for fast bbox reads over HTTP. When to use it vs GeoPackage, and how to convert.
Apr 5, 2026 / 8 min readMetadata Every GIS Dataset Needs
The metadata fields every GIS dataset needs: CRS and EPSG, lineage, schema, accuracy, temporal extent and license, with ISO 19115 and GDAL examples.
Apr 5, 2026 / 9 min readSpatial Data Delivery Checklist
A field-tested checklist for delivering GIS data: CRS, geometry validity, encoding, format choice, metadata and ogr2ogr validation before handoff.
Apr 5, 2026 / 8 min readData Schema for Faults and Structures
Design a GIS schema for faults and structural geology: line geometry, dip/strike fields, fault type domains, certainty, and PostGIS constraints that hold up.
Apr 4, 2026 / 9 min readData Schema for Geological Units
Design a GIS schema for geological units: polygon coverage, lithology and age controlled vocabularies, GeoSciML alignment, and topology rules that prevent gaps.
Apr 4, 2026 / 9 min readPreparing GIS Data for Web Visualization
Turn analyst GIS data into fast web maps: reproject to 4326/3857, simplify geometry, build vector tiles, and trim attributes for the browser.
Apr 4, 2026 / 9 min readBest GIS Software for Geology
Best GIS software for geology compared: QGIS, ArcGIS Pro, GDAL, PostGIS, and Earth Engine. What each does well and how to assemble a mapping stack.
Apr 3, 2026 / 9 min readBest GIS Software for Terrain Analysis
Compare QGIS, ArcGIS Pro, GDAL, GRASS, SAGA and Earth Engine for slope, hillshade, hydrology and viewsheds — algorithms, edge cases and when each wins.
Apr 3, 2026 / 9 min readQGIS vs ArcGIS for Geological and Terrain Workflows
QGIS vs ArcGIS Pro for geology and terrain: a feature-by-feature comparison of terrain tools, automation, geodatabases, licensing, and publishing to pick a stack.
Apr 3, 2026 / 9 min readGDAL vs QGIS
GDAL vs QGIS explained: a processing library and CLI versus a desktop GIS, how they overlap, when to script, and why QGIS runs on GDAL underneath.
Apr 2, 2026 / 8 min readQGIS vs ArcGIS Online
QGIS vs ArcGIS Online compared honestly: a free desktop analysis workbench versus Esri's hosted SaaS sharing platform, plus the QGIS + QGIS Server publishing path.
Apr 2, 2026 / 8 min readQGIS vs Google Earth Engine for Remote Sensing
QGIS vs Google Earth Engine for remote sensing: cloud-scale image collections and time series in GEE, local inspection, cartography, and delivery in QGIS.
Apr 2, 2026 / 9 min readArcGIS Pro vs QGIS for DEM Analysis
ArcGIS Pro vs QGIS for DEM analysis: how slope, hillshade, hydrology, and LiDAR tools, algorithms, cost, and reproducibility compare for terrain work.
Apr 1, 2026 / 9 min readIs QGIS Good Enough for Professional GIS Work?
Where QGIS matches or beats ArcGIS Pro for professional GIS, where it falls short, and how to build a defensible open-source geospatial stack.
Apr 1, 2026 / 8 min readOpen Source Alternatives to ArcGIS
The open-source GIS stack that replaces ArcGIS: QGIS, GDAL, PostGIS, GeoServer, GRASS, SAGA and the web layer, with what each tool actually replaces.
Apr 1, 2026 / 9 min readArcGIS Pro vs ArcGIS Online
ArcGIS Pro vs ArcGIS Online: desktop analysis and editing versus SaaS web mapping and sharing, how they connect, and which licensing fits your workflow.
Mar 31, 2026 / 8 min readGoogle Earth Engine vs Desktop GIS
When to use Google Earth Engine versus QGIS or ArcGIS: cloud-scale image collections vs local editing, layout and control, with a hybrid workflow.
Mar 31, 2026 / 9 min readQGIS vs ArcGIS for Coordinate Systems
How QGIS and ArcGIS Pro really differ on CRS: the PROJ vs Esri engine, datum transformation control, on-the-fly handling, and which to trust for accuracy.
Mar 31, 2026 / 8 min readArcGIS Extensions for Terrain Analysis
Which ArcGIS extensions you need for terrain analysis: Spatial Analyst for raster DEMs, 3D Analyst for TINs and surfaces, and Image Analyst for LiDAR and imagery.
Mar 30, 2026 / 8 min readPostGIS vs Desktop GIS
PostGIS vs desktop GIS compared: concurrency, repeatable SQL analysis, large datasets, and editing — and why most real stacks use both together.
Mar 30, 2026 / 8 min readQGIS Plugins for Geology Workflows
The QGIS plugins that actually earn their place in geology: structural stereonets, profile and DEM tools, geocoding, QField sync, and how to vet them safely.
Mar 30, 2026 / 8 min readGIS Software Stack for Environmental Projects
Choose a GIS stack for environmental projects: QGIS, PostGIS, GDAL, Earth Engine and web mapping — what each does best and how to wire them together.
Mar 29, 2026 / 9 min readGIS Software Stack for Mining Projects
A practical GIS stack for mining: QGIS and ArcGIS for desktop, GDAL and PostGIS for the pipeline, plus drillhole and 3D tools — mapped to the project lifecycle.
Mar 29, 2026 / 9 min readGIS Software Stack for Small Consulting Teams
How a 2-10 person geo consultancy builds a GIS stack: QGIS, GDAL, PostGIS and a Git-backed data layout that stays auditable as projects scale.
Mar 29, 2026 / 8 min readPython GIS vs Desktop GIS
Python GIS vs desktop GIS: when GeoPandas, Rasterio, and Shapely beat QGIS clicks, what desktop tools still do best, and how to combine the two.
Mar 28, 2026 / 8 min readR vs Python for Geospatial Analysis
R vs Python for geospatial work: sf and terra vs GeoPandas and rasterio, where each is stronger for stats, rasters, and pipelines, and how to combine them.
Mar 28, 2026 / 9 min readWeb GIS vs Desktop GIS
Web GIS vs desktop GIS compared: rendering models, tiling and vector tiles, data limits, editing, and a decision framework for QGIS, ArcGIS, and web stacks.
Mar 28, 2026 / 9 min readChoosing a GIS Stack for Earth Data Teams
How to choose between QGIS, ArcGIS Pro, GDAL, PostGIS and Earth Engine for an Earth data team, based on data volume, automation and publishing needs.
Mar 27, 2026 / 8 min readWhen to Use Cesium Instead of a 2D Map
Cesium adds a real globe, terrain, and 3D tiles to web GIS. Learn when 3D earns its cost over Leaflet or MapLibre, and the data formats that make it work.
Mar 27, 2026 / 8 min readWhen to Use QGIS, GDAL, and PostGIS Together
QGIS, GDAL, and PostGIS each own one layer of the workflow. Learn how the database, the engine, and the workbench combine into one reproducible pipeline.
Mar 27, 2026 / 9 min readGIS Stack Checklist Before a Project Starts
A pre-kickoff GIS checklist: lock the project CRS, formats, storage, naming and reproducibility before any data lands, so deliverables stay auditable.
Mar 26, 2026 / 8 min readQGIS Project Setup Checklist
A QGIS project setup checklist that prevents broken paths, wrong CRS, and lost work: folder structure, relative paths, GeoPackage storage, and QA gates.
Mar 26, 2026 / 8 min readWhen to Use MapLibre Instead of Leaflet
MapLibre vs Leaflet: vector tiles and GPU rendering vs raster simplicity. When client-side styling, 3D terrain, and large layers tip the choice.
Mar 26, 2026 / 9 min readQGIS Field Calculator for GIS Cleanup
Use the QGIS Field Calculator to standardise codes, fix nulls, trim whitespace, recompute geometry, and clean attribute tables safely and repeatably.
Mar 25, 2026 / 8 min readQGIS Layer Styling for Geological Maps
Style geological maps in QGIS with categorized symbology, rule-based rendering, FGDC-style lithology fills, structural symbols, and reusable .qml/.sld styles.
Mar 25, 2026 / 9 min readQGIS Processing Modeler for Repeatable Workflows
Turn a click-path into an auditable QGIS model: chain algorithms, expose parameters, add expressions, run in batch, and call models from PyQGIS headlessly.
Mar 25, 2026 / 9 min readQGIS Clip vs Intersect vs Difference
When to use Clip, Intersection, or Difference in QGIS: how each overlay handles attributes and geometry, with worked examples and a decision guide.
Mar 24, 2026 / 8 min readQGIS Joins for Spatial Project Data
Master QGIS joins: attribute joins by key vs spatial joins by location, the temporary-join trap, and how to make joined data permanent.
Mar 24, 2026 / 8 min readQGIS Spatial Join Explained
Master spatial joins in QGIS: pick the right predicate (intersects, within, contains), handle one-to-many, and avoid CRS and duplicate-row traps.
Mar 24, 2026 / 8 min readQGIS Buffer Analysis Without CRS Mistakes
Buffer in metres, not degrees. How to set the right projected CRS in QGIS so buffer distances are accurate, plus geodesic options and validation checks.
Mar 23, 2026 / 8 min readQGIS Dissolve for Geological Units
Merge fragmented geological polygons in QGIS without losing attributes, faults, or topology. Dissolve by unit code, keep gaps, and validate the result.
Mar 23, 2026 / 8 min readQGIS Reproject Layer Workflow
Reproject vector layers in QGIS the right way: assign vs reproject, choosing a projected CRS, on-the-fly display, and verifying with ogr2ogr and ST_Transform.
Mar 23, 2026 / 8 min readQGIS Atlas for Map Series Production
Build repeatable QGIS Atlas map series: coverage layers, dynamic extents, variable scales, page numbering, and batch PDF export for geology and survey work.
Mar 22, 2026 / 8 min readQGIS Print Layout for Technical Maps
Produce print-ready technical maps in QGIS: lock the map scale, build a true scale bar and grid, add a north arrow, and export PDF/SVG at the right DPI.
Mar 22, 2026 / 8 min readQGIS Raster Reprojection Workflow
Reproject rasters in QGIS without degrading data: pick the right resampling, set target resolution, handle NoData, and verify alignment with gdalwarp.
Mar 22, 2026 / 8 min readQGIS Contours From DEM
Generate clean contour lines from a DEM in QGIS: choosing intervals, gdal_contour vs the Contour tool, smoothing, index lines, and labelling for geology maps.
Mar 21, 2026 / 8 min readQGIS Labels for Dense Geological Maps
Make QGIS labels readable on crowded geological maps: rule-based labeling, placement and priority, obstacles and callouts, and scale-driven label control.
Mar 21, 2026 / 8 min readQGIS Symbology for Faults and Contacts
Symbolize geological faults and contacts in QGIS: dashed/ticked line patterns, marker lines for thrusts, certainty by data-defined override, and clean rule-based legends.
Mar 21, 2026 / 9 min readQGIS Georeferencing Scanned Maps
Georeference scanned geological maps in QGIS: choose GCPs and transformation type, set the right CRS, read RMS error, and produce a clean GeoTIFF.
Mar 20, 2026 / 8 min readQGIS Hillshade Workflow
Build crisp hillshades in QGIS: choose azimuth and altitude, set the right Z-factor, fix CRS unit mismatches, and blend with multidirectional shading.
Mar 20, 2026 / 8 min readQGIS Slope Analysis Workflow
Compute reliable slope in QGIS: choose degrees vs percent, fix the projected-CRS trap, set the right Z factor, and validate with gdaldem.
Mar 20, 2026 / 8 min readQGIS Digitizing Best Practices
Digitize clean, topologically correct vectors in QGIS: snapping and tracing setup, topological editing, avoiding slivers and gaps, and geometry validation.
Mar 19, 2026 / 8 min readQGIS Topology Checks for Polygon Maps
Catch gaps, overlaps, slivers, and unclosed rings in QGIS polygon maps using the Topology Checker, Check Validity, and Fix Geometries tools.
Mar 19, 2026 / 8 min readQGIS Virtual Layers for Spatial Queries
QGIS virtual layers let you run SQL spatial joins and queries across layers without copying data. Syntax, ST_ functions, CRS handling, indexing, and pitfalls.
Mar 19, 2026 / 9 min readQGIS Export to Web Map Formats
Export QGIS layers to web-ready formats: reproject to EPSG:3857, generate GeoJSON or vector tiles, and avoid coordinate-precision and CRS bloat.
Mar 18, 2026 / 8 min readQGIS Expressions for Map Labels
Build smart QGIS labels with expressions: concatenate fields, format numbers, handle nulls, stack lines, and control placement for geological maps.
Mar 18, 2026 / 8 min readQGIS Package Project for Delivery
Hand off a self-contained QGIS project: Package Layers to GeoPackage, embed styles, save as .qgz, fix broken paths, and bundle fonts and metadata cleanly.
Mar 18, 2026 / 8 min readQGIS Data Source Management
Manage QGIS data sources without broken links: relative paths, the Data Source Manager, fixing unavailable layers, GeoPackage consolidation, and database connections.
Mar 17, 2026 / 8 min readQGIS QA Checklist Before Publication
A concrete QGIS quality-assurance checklist: CRS, geometry validity, attribute integrity, layout DPI and export checks before you ship a map or dataset.
Mar 17, 2026 / 8 min readQGIS Workflow for Consultant Reports
A repeatable QGIS workflow for consultant deliverables: project structure, GeoPackage data, print layouts, atlas maps, and a handover-ready package.
Mar 17, 2026 / 9 min readGDAL for GIS Teams
Practical GDAL/OGR for GIS teams: inspect with gdalinfo, reproject with gdalwarp, convert with ogr2ogr, batch with VRTs, and build reproducible pipelines.
Mar 16, 2026 / 9 min readgdalwarp for Raster Reprojection
Reproject and mosaic rasters with gdalwarp: choosing -t_srs, resampling methods, target resolution, NoData handling, cutlines and multithreaded warps.
Mar 16, 2026 / 9 min readogr2ogr for Format Conversion
A practical ogr2ogr reference: convert shapefile to GeoPackage, reproject with -t_srs, filter with -where and SQL, load PostGIS, and avoid silent data loss.
Mar 16, 2026 / 9 min readGDAL Build VRT Explained
Understand GDAL VRT files: mosaic tiles with gdalbuildvrt, virtual reprojection and band math, plus when a VRT speeds up or slows down a pipeline.
Mar 15, 2026 / 8 min readgdal_translate for Raster Conversion
Convert and subset rasters with gdal_translate: format change, COG creation, byte scaling, band selection, NoData handling and compression flags that matter.
Mar 15, 2026 / 8 min readgdalinfo for Raster Quality Checks
Read gdalinfo output like an engineer: CRS, geotransform, NoData, statistics, overviews, block size and metadata checks that catch broken rasters early.
Mar 15, 2026 / 8 min readGDAL Contours From DEM
Generate clean contour lines from a DEM with gdal_contour: set intervals, label elevations, smooth jagged lines, and avoid spaghetti contours.
Mar 14, 2026 / 8 min readGDAL Hillshade Workflow
A reproducible gdaldem hillshade workflow: z-factor, azimuth, multidirectional shading, and the reprojection steps that keep relief honest.
Mar 14, 2026 / 9 min readGDAL Slope Workflow
Compute terrain slope from a DEM with gdaldem: choose degrees vs percent, fix horizontal-vertical unit mismatch, and avoid edge artifacts.
Mar 14, 2026 / 8 min readGeometry vs Geography in PostGIS
PostGIS geometry vs geography explained: planar vs spheroidal math, when each type wins on speed and accuracy, and why ST_SetSRID is not reprojection.
Mar 13, 2026 / 8 min readPostGIS for Spatial Data Management
Managing spatial data in PostGIS: SRID vs transformation, GiST indexing, geometry vs geography, validity checks, and query patterns that stay fast at scale.
Mar 13, 2026 / 9 min readSRID in PostGIS Explained
What an SRID is in PostGIS, how it links to EPSG codes and spatial_ref_sys, why SRID 0 breaks queries, and how to set, check and fix it correctly.
Mar 13, 2026 / 8 min readPostGIS for Geological Map Databases
Design a PostGIS schema for geological maps: polygon topology, stratigraphic age fields, spatial indexes, and validation that keeps map sheets joinable.
Mar 12, 2026 / 8 min readSpatial Indexes in PostGIS
How spatial indexes work in PostGIS: GiST and BRIN, why ST_DWithin beats ST_Distance, EXPLAIN ANALYZE tuning, and avoiding the bounding-box recheck trap.
Mar 12, 2026 / 9 min readST_Transform vs ST_SetSRID
ST_Transform vs ST_SetSRID in PostGIS: one moves coordinates between CRS, the other only relabels them. When to use each, with examples and pitfalls.
Mar 12, 2026 / 8 min readImport Shapefiles Into PostGIS
Load shapefiles into PostGIS with ogr2ogr or shp2pgsql: set SRID correctly, fix encoding, create indexes, and validate the import.
Mar 11, 2026 / 8 min readPostGIS for Web Mapping Backends
Serve fast web maps from PostGIS: vector tiles with ST_AsMVT, ST_TileEnvelope, GiST indexes, simplification, and pg_tileserv vs custom API patterns.
Mar 11, 2026 / 9 min readPostGIS vs GeoPackage
PostGIS vs GeoPackage compared for real GIS work: single-file SQLite portability versus a concurrent, indexed PostgreSQL spatial database, with SRID and tuning notes.
Mar 11, 2026 / 8 min readExport PostGIS Data to GeoJSON
Export PostGIS to GeoJSON with ogr2ogr: reproject to EPSG:4326, control coordinate precision, run RFC 7946 output, and validate the result for web delivery.
Mar 10, 2026 / 8 min readManaging Large Raster Workflows With GDAL
Scale GDAL raster pipelines: COGs, gdalwarp tuning, VRT mosaics, gdal_translate creation options, overviews, and parallel batch processing that survives reruns.
Mar 10, 2026 / 8 min readSQL for Spatial Quality Control
Run spatial QC in PostGIS with SQL: catch invalid geometries, duplicate vertices, CRS mismatches, overlaps, gaps, and topology errors at scale.
Mar 10, 2026 / 9 min readBatch Reprojection With GDAL
Batch reproject rasters and vectors with gdalwarp and ogr2ogr: resampling choice, NoData handling, datum shifts, and a scripted loop over many files.
Mar 9, 2026 / 9 min readCommand Line GIS for Consultants
Practical command line GIS for consultants: GDAL, ogr2ogr, and PostGIS recipes for batch reprojection, conversion, and inspection that desktop clicks can't scale.
Mar 9, 2026 / 9 min readReproducible GIS Pipelines
Build reproducible GIS pipelines with GDAL, ogr2ogr, Make and PostGIS: deterministic commands, version-pinned inputs, validation gates and rerunnable workflows.
Mar 9, 2026 / 9 min readGIS Data Layers Every Geological Map Needs
The GIS layers every geological map needs: map units, contacts, faults, structure points, plus base, evidence and confidence layers, the GeMS way.
Mar 8, 2026 / 9 min readHow GIS Is Used in Geology
How geologists use GIS: digital geologic mapping, structural data, terrain and remote-sensing integration, mineral prospectivity and the GeMS schema.
Mar 8, 2026 / 9 min readQGIS for Geological Mapping
Build geological maps in QGIS the right way: a clean data model for units, contacts, and faults, GeoPackage storage, attribute-driven symbology, and QA.
Mar 8, 2026 / 9 min readGeological Units, Faults, and Structures in GIS
How to model geologic units, faults and structural measurements in GIS using the GeMS schema: feature classes, attributes, strike/dip points and topology.
Mar 7, 2026 / 9 min readGIS for Environmental Baseline Mapping
Build a defensible environmental baseline in GIS: receptor layers, buffers, sampling design, CRS discipline, and metadata that survives an EIA review.
Mar 7, 2026 / 9 min readGIS for Mineral Exploration
How GIS drives mineral exploration: building a multi-layer prospectivity model from geology, structure, geochemistry, and ASTER/Sentinel-2 remote sensing.
Mar 7, 2026 / 9 min readGeologic Map Digitization Workflow
A step-by-step workflow to digitize a scanned geologic map: georeferencing, contact and fault linework, topology, GeMS attribution, and QA in QGIS or ArcGIS.
Mar 6, 2026 / 9 min readGIS for Infrastructure Route Screening
Screen pipeline, road and transmission routes with GIS: constraint mapping, weighted cost surfaces, least-cost paths and geohazard checks that hold up.
Mar 6, 2026 / 9 min readTurn a Static Geological Map Into a Spatial Dataset
Turn a scanned geological map into a GIS dataset: georeferencing, digitizing units, contacts and faults, GeMS-style schema, topology, and QA in QGIS.
Mar 6, 2026 / 9 min readGeMS Schema for Geological Map Data
GeMS, the USGS geologic map schema: required feature classes, the DescriptionOfMapUnits table, controlled GeologicEvents, and how to implement it in GIS.
Mar 5, 2026 / 9 min readGeological Contacts in GIS
How to model geological contacts in GIS: line types, existence and identity confidence, concealed vs exposed, GeMS attribution, and topology with map units.
Mar 5, 2026 / 8 min readNGMDB and Geological Map Discovery
Find and reuse geological maps through the USGS NGMDB and MapView: how to search, what GeMS data gives you, and how to vet source scale.
Mar 5, 2026 / 8 min readBorehole Data in GIS
Model borehole collars, downhole surveys, and interval logs in GIS: schema design, 3D coordinate maths, sectioning, and the CRS pitfalls that wreck depth data.
Mar 4, 2026 / 9 min readFault Data in GIS
Model fault data in GIS the right way: geometry, attributes, GeMS schema, dip and kinematics, topology rules, and PostGIS storage for geologic faults.
Mar 4, 2026 / 8 min readStrike and Dip Data in GIS
How to store, symbolize, and analyze strike and dip measurements in GIS: azimuth conventions, rotated symbols, and structural point schemas.
Mar 4, 2026 / 8 min readGeochemistry Data in GIS
Bring geochemistry into GIS: detection limits, censored data, log transforms, IDW vs kriging interpolation, CRS discipline and QA/QC for assay datasets.
Mar 3, 2026 / 9 min readGeological Map Legends in Digital Systems
Turn a geologic map legend into structured data: map-unit tables, stratigraphic ordering, standard colors and patterns, and rule-based symbology in QGIS and ArcGIS.
Mar 3, 2026 / 8 min readGeophysics Layers in GIS
Bring magnetics, radiometrics, gravity and seismic data into GIS: grid handling, reduction-to-pole, colour stretches, and integrating geophysics with geology.
Mar 3, 2026 / 9 min readCross Section Data in GIS Workflows
How to store, georeference, and link geological cross-section data in GIS using line-of-section traces, GeMS, PostGIS, and 3D depth conventions.
Mar 2, 2026 / 8 min readMap Unit Polygons and Description Tables
Model geologic map units as polygons linked to a DescriptionOfMapUnits table the GeMS way: stable MapUnit keys, topology rules, and contact attribution that hold up.
Mar 2, 2026 / 9 min readSubsurface Data and Surface Maps
Linking boreholes, cross sections and 3D models to surface geology in GIS: datums, collar coordinates, interpolation pitfalls, and honest uncertainty.
Mar 2, 2026 / 9 min readGIS for Critical Minerals Screening
Build a critical-minerals prospectivity screen in GIS: combine geology, structure, geochemistry and geophysics with weighted overlay and fuzzy logic.
Mar 1, 2026 / 9 min readGIS for Hydrogeology Screening
Use GIS for hydrogeology screening: combine geology, terrain, recharge, and well data to map aquifer potential and vulnerability with reproducible overlays.
Mar 1, 2026 / 9 min readGIS for Quarry and Aggregate Projects
Use GIS across the quarry lifecycle: resource modelling, surface-difference volumetrics, stripping ratios, drone survey, buffers and restoration planning.
Mar 1, 2026 / 9 min readGIS for Engineering Geology
Use GIS for engineering geology: model boreholes in 3D, build slope and ground-condition layers, and turn site investigation data into design-ready maps.
Feb 28, 2026 / 9 min readGIS for Environmental Impact Studies
How to build a defensible GIS for environmental impact assessment: buffer zones, sensitivity overlays, viewsheds, CRS discipline and reproducible analysis.
Feb 28, 2026 / 8 min readGIS for Landslide Inventory Mapping
Build a defensible landslide inventory in GIS: scarp vs deposit mapping, attribute schema, DEM-difference and InSAR detection, completeness and QA.
Feb 28, 2026 / 9 min readGeological Map QA Checklist
A geological map QA checklist covering topology, GeMS attribution, CRS, label logic and confidence fields before you publish a digital geologic map.
Feb 27, 2026 / 8 min readGeological Visualization Workflow
A geological visualization workflow from field data to web map: separating observation from interpretation, building DEM context, styling units and shipping tiles.
Feb 27, 2026 / 9 min readGIS for Field Mapping Data Management
Design a field mapping data model that survives the office: schemas, GNSS accuracy, offline sync, GeoPackage workflows and QA for geological field data.
Feb 27, 2026 / 9 min readLandsat for Long-Term Terrain Change
Use the 50-year Landsat archive to map terrain and land-surface change: scene selection, surface reflectance, NDVI/NBR differencing, and pitfalls.
Feb 26, 2026 / 9 min readRemote Sensing for Geological Mapping
Map lithology, structure and alteration with Sentinel-2, Landsat, ASTER and radar: band composites, lineament extraction, DEM fusion and field validation.
Feb 26, 2026 / 9 min readSentinel-2 for Geological Interpretation
How to use Sentinel-2 for geology: structural lineaments, alteration mapping, ratios, cloud masking and the limits of a two-SWIR-band sensor.
Feb 26, 2026 / 9 min readASTER for Mineral Mapping
How to use ASTER SWIR and TIR bands for mineral mapping: band-ratio indices for clay, iron oxide, and silica alteration, with processing steps and validation.
Feb 25, 2026 / 9 min readMultispectral Imagery for Geology
Use Sentinel-2, Landsat and ASTER band ratios for geological mapping: which bands map iron oxides, clays and carbonates, and how to validate.
Feb 25, 2026 / 9 min readShortwave Infrared in Geological Remote Sensing
Why shortwave infrared (SWIR) is central to geological remote sensing: the 2200 nm Al-OH absorption, carbonate and Mg-OH features, and which sensors see them.
Feb 25, 2026 / 9 min readFalse Color Composites for Geological Mapping
Build false color composites for geology: best Sentinel-2, Landsat, and ASTER band combos for lithology, iron oxides, and clay alteration.
Feb 24, 2026 / 9 min readLineament Mapping From Satellite Imagery
Map geological lineaments from satellite and DEM data: directional filters, hillshade azimuths, manual vs automated extraction, and rose diagrams.
Feb 24, 2026 / 9 min readRemote Sensing for Alteration Mapping
Map hydrothermal alteration with ASTER, Sentinel-2 and Landsat: band ratios, SWIR clays, iron-oxide indices, and validation steps that hold up in the field.
Feb 24, 2026 / 8 min readBare Soil Mapping From Satellite Data
Map bare soil from Sentinel-2 and Landsat using NDVI, NBR2, BSI and bare-soil compositing — thresholds, formulas and pitfalls for geological exposure.
Feb 23, 2026 / 9 min readCloud Masking for Earth Observation
How to mask clouds and shadows in Sentinel-2 and Landsat: SCL classes, the QA60 and Fmask bands, s2cloudless, and dilation steps that catch thin cirrus.
Feb 23, 2026 / 9 min readNDVI and Geology: What It Can and Cannot Show
NDVI maps vegetation, not rock. Learn where vegetation patterns reveal geology, where NDVI misleads, and how to use it as an indirect proxy.
Feb 23, 2026 / 8 min readAtmospheric Correction for Geological Imagery
Why TOA radiance ruins mineral ratios, and how DOS, 6S/Sen2Cor surface reflectance and BRDF correction fix geological satellite imagery the right way.
Feb 22, 2026 / 9 min readLandsat vs Sentinel-2 for Geology
Landsat vs Sentinel-2 for geology: band-by-band SWIR comparison, resolution, revisit, and where ASTER beats both for alteration and clay mapping.
Feb 22, 2026 / 8 min readSpatial Resolution vs Spectral Resolution
Spatial vs spectral resolution explained for geology: pixel size, band count and width, the resolution trade-off, and which sensor fits which task.
Feb 22, 2026 / 8 min readASTER vs Landsat for Mineral Indicators
ASTER vs Landsat for mineral mapping: SWIR band geometry, clay and iron-oxide ratios, resolution, and when each sensor earns its place in exploration.
Feb 21, 2026 / 8 min readRemote Sensing Ground Truth Checklist
A field-ready ground truth checklist for remote sensing: sampling design, GNSS accuracy, georeferencing, accuracy assessment and confusion-matrix reporting.
Feb 21, 2026 / 8 min readSentinel-2 Band Combinations for Terrain
Sentinel-2 band combinations for terrain and geology: which RGB stacks reveal lithology, iron oxides, clays, and structure, with exact band numbers.
Feb 21, 2026 / 8 min readChange Detection for Terrain Projects
Detect terrain change with DEM differencing, image ratios and SAR coherence — co-registration, LoD thresholds and how to tell real change from noise.
Feb 20, 2026 / 9 min readRemote Sensing for Environmental Baselines
Build defensible environmental baselines with Sentinel-2 and Landsat: multi-year composites, NDVI/NBR trends, surface-water history and change-detection QA.
Feb 20, 2026 / 9 min readRemote Sensing for Mine Site Screening
Remote sensing for mineral exploration screening: ASTER vs Sentinel-2 vs Landsat, band ratios for iron oxides and clays, and validating alteration targets.
Feb 20, 2026 / 9 min readLiDAR vs Satellite Imagery
LiDAR measures 3D structure; satellite imagery measures surface reflectance. Compare resolution, coverage, cost, and when to use each or both.
Feb 19, 2026 / 8 min readRemote Sensing for Coastal Terrain
Map shorelines, intertidal zones and coastal change with Sentinel-2, Landsat and lidar: water indices, tidal datums, SDB and validation that survive review.
Feb 19, 2026 / 9 min readThermal Remote Sensing for Geology
Thermal infrared remote sensing for geology: ASTER and Landsat TIR bands, emissivity, silica and quartz indices, lithology mapping, and processing pitfalls.
Feb 19, 2026 / 9 min readData Fusion for Geological Interpretation
Fuse Sentinel-2, Landsat, ASTER, and DEM data for lithological mapping: pan-sharpening, band ratios, PCA, and co-registration with real EPSG and GDAL steps.
Feb 18, 2026 / 9 min readRemote Sensing Workflow for Consultants
A field-tested remote sensing workflow for geology consultants: choosing sensors, atmospheric correction, band ratios, masking, and validating against ground truth.
Feb 18, 2026 / 8 min readSAR Data for Terrain and Hazards
How to use Sentinel-1 SAR for terrain and hazard mapping: backscatter, coherence, InSAR for ground deformation, geometric distortions, and validation pitfalls.
Feb 18, 2026 / 9 min readGeological Map Viewer Features That Matter
The web map viewer features that matter for geology: queryable units, scale-aware legends, confidence display, cross-section linking and honest 2D/3D choices.
Feb 17, 2026 / 8 min readRemote Sensing Limitations in Geological Mapping
The real limits of remote sensing for geology: vegetation cover, spectral ambiguity, resolution, soil/regolith masking, atmosphere and what only fieldwork resolves.
Feb 17, 2026 / 8 min readWhat Is an Interactive Geological Map?
An interactive geological map lets users query, filter, and inspect geology in the browser using vector tiles, MapLibre, and attribute-driven styling, not a flat image.
Feb 17, 2026 / 8 min readDesigning Layer Toggles for Earth Data
Design layer toggles that respect Earth data: mutually exclusive basemaps, grouped overlays, opacity and swipe compare, plus MapLibre setLayoutProperty patterns.
Feb 16, 2026 / 8 min readFrom Static Geological Map to Web Map
Turn a static geological map into an interactive web map: vectorize units, build vector tiles, preserve the legend, and keep the geology scientifically honest.
Feb 16, 2026 / 9 min readGeological Map Legends for Interactive Interfaces
Build geological legends for MapLibre and deck.gl web maps: data-driven swatches, grouped stratigraphy, interactive filtering, and uncertainty kept visible to users.
Feb 16, 2026 / 9 min read3D Terrain Visualization for Web Maps
Build 3D terrain web maps: encode DEMs as Terrain-RGB tiles, set exaggeration and lighting in MapLibre GL, and use Cesium quantized-mesh for globe-scale relief.
Feb 15, 2026 / 9 min readCesiumJS for Terrain and Geology
Build 3D geological web apps with CesiumJS: quantized-mesh terrain, 3D Tiles, ITRF/WGS84 geometry, vertical exaggeration and subsurface visualization.
Feb 15, 2026 / 8 min readMap UX for Technical Decision Makers
Design geospatial UIs that support real decisions: legible legends, default layer states, query and compare tools, traceable sources, and honest uncertainty.
Feb 15, 2026 / 8 min readdeck.gl for Large Geospatial Layers
deck.gl for large geospatial layers: GPU layers, binary attributes, tile and aggregation layers, and interleaving with MapLibre for million-feature web maps.
Feb 14, 2026 / 9 min readMapLibre for Geological Web Maps
Build geological web maps with MapLibre GL JS: vector tiles, data-driven styling for units and faults, terrain and hillshade, popups, and performance tuning.
Feb 14, 2026 / 9 min readVector Tiles for Geological Maps
Serve geological maps as vector tiles: build MVT with tippecanoe, set zoom-dependent simplification, keep lithology attributes queryable, and style faults in MapLibre.
Feb 14, 2026 / 9 min readCross Sections in Interactive Maps
Build interactive geological cross sections on the web: link a map trace to a synced SVG/Canvas section panel with MapLibre, hover sync, and depth queries.
Feb 13, 2026 / 8 min readRaster Tiles for Terrain Visualization
Serve terrain on the web with raster tiles: XYZ vs WMTS, Terrain-RGB encoding, COG plus tile servers, and MapLibre hillshade from a DEM.
Feb 13, 2026 / 8 min readWebGL for Earth Data Visualization
How WebGL renders large Earth datasets in the browser: vector vs raster tiles, MapLibre and deck.gl, GPU buffers, COGs, and avoiding the main-thread bottleneck.
Feb 13, 2026 / 9 min readMetadata Panels for Geological Features
Build feature-level metadata panels in MapLibre and deck.gl that expose unit codes, contacts, age, source scale and confidence on click.
Feb 12, 2026 / 8 min readTime Sliders for Earth Observation Maps
Build time sliders for Earth observation web maps: temporal data models, MapLibre and deck.gl patterns, tile prefetching, and avoiding misleading transitions.
Feb 12, 2026 / 8 min readUncertainty Display in Geological Maps
How to render geological map uncertainty honestly: confidence attributes, dashed contacts, hachured boundaries, value-by-alpha, and bivariate styling in QGIS and MapLibre.
Feb 12, 2026 / 8 min readAccessibility for Technical Maps
Make technical and geological web maps accessible: colorblind-safe ramps, WCAG contrast, keyboard navigation, ARIA, and text alternatives for spatial data.
Feb 11, 2026 / 8 min readMap Storytelling Without Oversimplifying Science
Build geological scrollytelling that guides readers without lying about the data: encode uncertainty, keep classification honest, and let users inspect sources.
Feb 11, 2026 / 8 min readPerformance Checklist for Web GIS
A web GIS performance checklist: vector tiles vs GeoJSON, simplification, COGs, GPU layers in deck.gl, and the payload and render budgets that keep maps fast.
Feb 11, 2026 / 9 min readLandslide Susceptibility Mapping Workflow
A step-by-step GIS landslide susceptibility workflow: predictor layers, weights-of-evidence and logistic regression, AUC validation, and how to avoid overstating risk.
Feb 10, 2026 / 9 min readSlope Stability GIS Screening
How to build a landslide susceptibility screening layer in GIS using slope, geology, hydrology and inventory data, with thresholds and validation steps.
Feb 10, 2026 / 8 min readTerrain Risk Mapping Basics
Terrain risk mapping fundamentals: hazard vs risk, susceptibility models, weighted overlays, and how to combine slope, flood, and landslide layers in GIS.
Feb 10, 2026 / 8 min readCoastal Flooding and Sea Level Rise Viewers
How NOAA, FEMA and DEM-based coastal flooding and sea level rise viewers work, what the bathtub model misses, and how to screen exposure responsibly.
Feb 9, 2026 / 8 min readFlood Risk Mapping Data Layers
The terrain, hydrology, and exposure layers that drive GIS flood screening, why hazard is not risk, and how to combine HAND, DEMs, and FEMA zones correctly.
Feb 9, 2026 / 8 min readTerrain Constraints for Infrastructure Planning
Identify and map terrain constraints for siting infrastructure: slope, flood zones, landslide susceptibility, drainage, and protected areas as a GIS overlay.
Feb 9, 2026 / 8 min readDrainage and Terrain Risk Screening
Screen flow accumulation, slope, and wetness from a DEM to flag drainage and terrain risk early — with QGIS, GDAL, and PostGIS steps and thresholds.
Feb 8, 2026 / 8 min readErosion Risk Mapping With GIS
Build defensible erosion risk maps in GIS using RUSLE factors, slope and flow accumulation from a DEM, and clear screening-vs-assessment boundaries.
Feb 8, 2026 / 8 min readHazard Maps vs Risk Maps
Hazard maps show a damaging process; risk maps combine hazard with exposure and vulnerability. How to map, classify, and label each correctly in GIS.
Feb 8, 2026 / 8 min readCommunicating Uncertainty in Risk Maps
How to show uncertainty in terrain and hazard maps: classed vs continuous symbology, confidence layers, value-by-alpha, and honest legends that prevent misuse.
Feb 7, 2026 / 8 min readData Quality for Terrain Risk Models
DEM resolution, vertical datum, and source-scale errors propagate into slope, flood, and landslide screening. How to QA terrain risk inputs before you trust them.
Feb 7, 2026 / 9 min readLandslide Inventory Data in GIS
How to build and use a landslide inventory in GIS: attributes, completeness bias, and turning point and polygon records into susceptibility screening.
Feb 7, 2026 / 9 min readDrought and Terrain Exposure Mapping
Map drought exposure with SPI, SPEI, and NDVI/NDWI indices plus terrain controls — using Earth Engine, GDAL, and QGIS workflows and real thresholds.
Feb 6, 2026 / 9 min readEnvironmental Constraints Mapping
Build environmental constraints maps with buffers, overlays, and constraint scoring in QGIS and PostGIS — for siting, routing, and due diligence screening.
Feb 6, 2026 / 9 min readTerrain Risk for Site Selection
Terrain risk screening for site selection: slope, flood, and landslide-susceptibility layers, a weighted overlay workflow in GIS, and where specialists must take over.
Feb 6, 2026 / 9 min readNatural Hazard Screening for Early Projects
Run a GIS natural-hazard screening for early-stage projects: which flood, landslide, seismic and terrain layers to overlay, and where it stops.
Feb 5, 2026 / 9 min readTerrain Risk Report Checklist
A complete checklist for terrain risk reports: data provenance, hazard vs risk wording, validation, uncertainty, confidence notes, and review boundaries.
Feb 5, 2026 / 8 min readWhen GIS Risk Maps Need Specialist Review
When a GIS hazard map crosses from screening into a decision that needs a licensed specialist: triggers, susceptibility vs regulatory zones, and a referral checklist.
Feb 5, 2026 / 8 min readEarth Data Products Explained
Understand Earth observation data products — processing levels L0-L4, COG, STAC, GeoPackage, and APIs — and how to choose the right one for your workflow.
Feb 4, 2026 / 9 min readOGC API Features for Spatial Data
How OGC API - Features serves vector data over HTTP with GeoJSON, JSON paths, CQL2 filtering and pagination, plus pygeoapi setup and conformance testing.
Feb 4, 2026 / 8 min readSpatial Data APIs for GIS Teams
Spatial data APIs for GIS teams: OGC API - Features vs WFS, PostGIS-backed endpoints, vector tiles, and pagination patterns that keep payloads fast.
Feb 4, 2026 / 9 min readData Versioning for GIS Projects
Version GIS data the right way: semantic versions, immutable releases, checksums, DVC and git for spatial data, and reproducible exports from PostGIS.
Feb 3, 2026 / 8 min readDesigning a Geological Data API
Design a geological data API that lasts: OGC API - Features endpoints, a PostGIS schema, CRS and pagination rules, versioning and metadata for borehole and map data.
Feb 3, 2026 / 9 min readSpatial Data Catalogs for Project Teams
Build a spatial data catalog teams actually use: STAC and ISO 19115 metadata, search, versioning, and OGC API access so layers are findable and trustworthy.
Feb 3, 2026 / 9 min readFrom Consulting Output to Data Product
Turn one-off geospatial consulting deliverables into reusable data products: stable schemas, versioning, metadata, and an OGC API that survives the next project.
Feb 2, 2026 / 9 min readMetadata Strategy for Earth Data Platforms
Design ISO 19115, STAC and OGC-aligned metadata for Earth data platforms so datasets stay discoverable, versioned and trustworthy at scale.
Feb 2, 2026 / 9 min readReproducible Spatial Analysis Products
Turn one-off GIS deliverables into reproducible spatial analysis products: layered architecture, OGC APIs, versioned data, automated QA and traceable provenance.
Feb 2, 2026 / 8 min readData Licensing for Geospatial Products
How geospatial data licensing works: open vs proprietary terms, share-alike traps, attribution, derived-data rights, and tracking provenance across mixed sources.
Feb 1, 2026 / 9 min readProductizing Terrain Analysis Workflows
Turn one-off slope and hillshade jobs into a reusable terrain product: parameterised DEM pipelines, COG outputs, metadata, versioning, and an API.
Feb 1, 2026 / 9 min readQuality Control for Spatial Data Products
Build QC into spatial data products: geometry validation, attribute and domain checks, CRS conformance, and automated tests for GeoPackage, PostGIS, and APIs.
Feb 1, 2026 / 9 min readBuilding a GIS Knowledge Base
Build a GIS knowledge base that stays findable: a spatial catalog, consistent metadata, layer naming conventions, and a PostGIS or GeoPackage backbone.
Jan 31, 2026 / 9 min readData Delivery Portals for Consultants
Build a data delivery portal for consulting clients with OGC API Features, PMTiles, signed-URL downloads, and versioned metadata that survives audits.
Jan 31, 2026 / 8 min readSearchable Geological Data Indexes
Build searchable geological data indexes with STAC, spatial databases and OGC APIs: catalogue boreholes, samples and imagery so they're findable by place, time and type.
Jan 31, 2026 / 8 min readClient Dashboards for Earth Data
How to build client dashboards for Earth data: data model, OGC API or vector tiles, update logic, metadata and the pitfalls that make dashboards rot.
Jan 30, 2026 / 8 min readFrom PDF Report to Spatial System
Extract maps, tables, and coordinates from PDF reports and rebuild them as a queryable spatial system in PostGIS with proper CRS, schema, and provenance.
Jan 30, 2026 / 9 min readTerrain Intelligence Platform Strategy
Turn one-off terrain GIS into a platform: a layered architecture with PostGIS, OGC API - Features, COG, and vector tiles, plus versioning and metadata.
Jan 30, 2026 / 9 min read