This page explains how the GPXZ dataset is built. To learn more about how to use the gpxz.io API see API docs.
The GPXZ elevation dataset is a composite dataset made by combining multiple sources of elevation data.
Our dataset covers the entire globe, including bathymetry (depth below sea level) in the ocean and ice-surface elevation at the poles.
Like most large elevation datasets, the GPXZ dataset is split up into separate files, each covering a small part of the globe. Resampling and reprojection is avoided as much as possible: each tile is kept in the resolution and projection of the highest-resolution source dataset used in that tile.
The GPXZ dataset starts with a base of ocean depth from GEBCO 2020 and land elevation from Copernicus 30m. From there, high-resolution (up to 1m) lidar datasets are added.
Here's how the coverage looks around the world. While lidar coverage for your country of interest may look patchy, these source datasets usually prioritise areas where people live and which researchers study.
The process for building a single tile of the GPXZ dataset is
- Find and preprocess all source datasets that overlap the tiles.
- Merge all the land elevation datasets.
- Merge the merged land data with the bathymetry data.
- The highest resolution raster is cropped to cover the tile area. All other rasters are resampled (if needed) to be the same resolution, projection, and bounds as the cropped hires raster.
- For datasets that have a "0" elevation over ocean areas, this is removed.
- Small holes are filled using kriging. (Large holes will be filled during merging).
- Some dataset-specific preprocessing is done to remove known areas of corruption and noise.
2. Land merge
- Land source rasters are merged using the algorithm described in Petrasova et al (2017). A max merge angle of 2° is used.
3. Ocean merge
- The merged land elevation raster is then merged with bathymetry.
- The algorithm used to merge the land data leaves a zone of intermediary-quality inside the edge of the hi-res raster. This would be a problem bathymetry merging as these datasets are often low resolution, and coastal data is important for many end users.
- Instead, an estimated elevation profile is linearly interpolated from the edge of the land data out to a distance of 1km offshore. Next, a distance-weighted blend is made between this estimated elevation profile and the bathymetry data.
- As a result, the land data is unchanged during this process, preserving the accuracy of the coastline.