Short answer
For terrain work that crosses national borders or UTM zones, choose one project-wide projected CRS sized to your extent, and reproject every input into it before any analysis or mosaicking. The right grid depends on the question: an equal-area projection (such as ETRS89-LAEA, EPSG:3035, for Europe, or an Albers Equal Area for the Americas) when you compute areas, densities, or zonal statistics; a conformal projection (Lambert Conformal Conic, or a wide Transverse Mercator) when local shape, angles, and slope fidelity matter most.
The trap in multi-country projects is UTM. UTM is excellent inside a single 6°-wide zone, but a region spanning two or three zones cannot live in one UTM zone without unacceptable distortion at the edges, and DEM tiles left in different zones will not mosaic cleanly. The fix is a single regional grid plus a deliberate datum harmonisation.
Why UTM breaks down across borders
A UTM zone is a Transverse Mercator centred on a 6° meridian, with scale error growing toward the zone boundary (the standard scale factor at the central meridian is 0.9996). Within one zone, distortion is small. Span two zones and you face a choice, both bad:
- Keep tiles in their native zones — then they are in different grids, and
gdal_merge/VRT mosaics show seams, overlaps, or nodata gaps because a coordinate in zone 32N means a different place than the same coordinate in 33N. - Force everything into one UTM zone — then areas near the far edge of the region accumulate scale and shape distortion well beyond what terrain analysis tolerates.
For anything wider than roughly a single zone, you want a projection designed for the region's whole footprint.
Choosing the project CRS
Match the projection family to the dominant analytical task and the region's geometry:
- Equal-area (LAEA, Albers Equal Area Conic). Areas, drainage-basin sizes, land-cover statistics, density surfaces. ETRS89-LAEA (EPSG:3035) is the standard European pan-continental analysis grid. For a custom region, define an Albers with two standard parallels bracketing your latitude band.
- Conformal (Lambert Conformal Conic, Transverse Mercator). Mid-latitude regions wider east-west than north-south where shape and local angle preservation matter; LCC with two standard parallels is the classic aeronautical/mapping choice. Slope and aspect are best computed on a conformal or near-conformal grid because they depend on local angles.
- Web Mercator (EPSG:3857) for display tiles only — never for terrain measurement, because its scale distortion with latitude makes slopes and areas wrong.
A pragmatic rule: pick one project CRS, document why, and do all analysis there. If you genuinely need both area-correct and shape-correct outputs, produce two derived datasets and label each.
For the vertical dimension, harmonise too. National DEMs use different vertical datums (various national orthometric systems); a pan-European product like the Copernicus DEM references EGM2008. Mixing vertical datums offsets elevations by up to a few metres, which corrupts cross-border slope, hydrology, and volume calculations.
Harmonising horizontal datums
National grids sit on plate-fixed or legacy datums (OSGB36, RGF93, DHDN, etc.). Transforming them all to one common datum — commonly ETRS89 or WGS84/ITRF — must use a proper datum transformation, not an assumption of equivalence. PROJ chooses an operation automatically, but for reproducible, accurate work specify the pipeline or operation explicitly so the same grid shift / Helmert parameters are applied every time. Differences between, say, OSGB36 and ETRS89 reach ~100+ m in raw terms (different ellipsoid and origin) and even modern datums differ by ~1 m, so this step is not optional.
Worked example: a seamless DEM across three UTM zones
Region spans UTM 31N, 32N, 33N (EPSG:32631/32632/32633). Target a single equal-area grid, EPSG:3035.
- Inspect every tile.
gdalinfo tile.tif— confirm CRS, pixel size, nodata, and vertical reference. - Reproject each into the project CRS with consistent resampling. For continuous elevation use bilinear or cubic; keep one target resolution:
Repeat for tiles from each zone. Now they share one grid.gdalwarp -t_srs EPSG:3035 -tr 25 25 -r bilinear \ -srcnodata -9999 -dstnodata -9999 \ zone32_tile.tif zone32_3035.tif - Build a virtual mosaic instead of a giant physical merge:
A VRT references the reprojected tiles; analysis tools read it as one seamless raster.gdalbuildvrt region.vrt *_3035.tif - Align the grid so cells coincide exactly.
gdalwarp -tap(target-aligned pixels) forces a consistent origin so tiles register cell-for-cell and derivatives have no seam. - Validate at the seams. Sample elevation along the former zone boundaries and check there is no step. Differences there usually mean a vertical-datum mismatch, not a horizontal one.
- Derive terrain on the unified raster.
gdaldem slope region.vrt slope.tif -compute_edges— computing slope on the mosaic, not per-zone, avoids artificial edges along the joins.
Common pitfalls and why they happen
- Mosaicking tiles still in different UTM zones. Produces seams and gaps because each zone is a different planar grid. Reproject to one CRS first.
- Using one UTM zone for a multi-zone region. Edge distortion grows away from the central meridian; areas and slopes drift. Use a regional LCC or LAEA.
- Assuming national datums are interchangeable. Skipping the datum transformation offsets cross-border data by metres. Apply explicit PROJ operations.
- Ignoring vertical datums. A step in elevation at a border is almost always a vertical-datum difference, which corrupts hydrology and volumes. Harmonise heights.
- Analysing in Web Mercator. Its latitude-dependent scale makes regional areas and slopes wrong. Reserve EPSG:3857 for display tiles.
- Misaligned pixel grids. Without
-tap, reprojected tiles have offset origins and derivatives show hairline seams. Align target pixels.
QA and validation
After building the mosaic, profile elevation across each former zone boundary and confirm continuity. Compare a known area (a lake, an administrative unit) against an authoritative figure to confirm the equal-area choice behaves. Verify all inputs report the single project CRS and one vertical datum in gdalinfo. Inspect hillshade of the full mosaic — seams and ramps are immediately visible in shaded relief and are the fastest seam detector you have.
Bathyl perspective
For cross-border terrain we commit to one project CRS chosen for the dominant question, harmonise both horizontal and vertical datums explicitly, and reproject before mosaicking so the DEM is genuinely seamless. The deliverable records the projection rationale and the transformations used, so a second analyst can reproduce the surface rather than rediscover the seams.
Related reading
- CRS for Field GPS Data
- Coordinate Precision vs Coordinate Accuracy
- How to Document CRS Assumptions
- Terrain intelligence