Is it possible to reproject an image in earth engine to non-EPSG defined coordinates? In particular either Goode Homosline (SR-ORG:7619) or Mollweide (ESRI:54009). Passing either to .reproject()
returns an error stating that the CRS cannot be parsed.
1 Answer
Yes, Earth Engine can reproject images to non-EPSG coordinate reference systems.
Earth Engine uses the Java GeoTools library for coordinate system transformations which supports the Coordinate System Well-Known Text (WKT) format, and a set of base projections.
Mollweide
The ESRI:54009 World Mollweide coordinate reference system (CRS) has a WKT representation that includes a base projection entry PROJECTION["Mollweide"]
that is supported by GeoTools. The following Earth Engine code shows how to reproject to World Mollweide:
// Get a sample image (Landsat 8) which uses a UTM projection.
var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20170614');
// Get the bounding coordinates of the Landsat image.
var bounds = image.geometry().bounds().getInfo()['coordinates'];
print('Original image (UTM) URL:',
image.getThumbURL({
bands: ['B4', 'B3', 'B2'],
min: 0,
max: 0.3,
dimensions: '400'
})
);
// Project the image to Mollweide.
var wkt = ' \
PROJCS["World_Mollweide", \
GEOGCS["GCS_WGS_1984", \
DATUM["WGS_1984", \
SPHEROID["WGS_1984",6378137,298.257223563]], \
PRIMEM["Greenwich",0], \
UNIT["Degree",0.017453292519943295]], \
PROJECTION["Mollweide"], \
PARAMETER["False_Easting",0], \
PARAMETER["False_Northing",0], \
PARAMETER["Central_Meridian",0], \
UNIT["Meter",1], \
AUTHORITY["EPSG","54009"]]';
var proj_mollweide = ee.Projection(wkt);
var image_mollweide = image.reproject({
crs: proj_mollweide,
scale: 300
});
print('Projected image (World Mollweide) URL:',
image_mollweide.getThumbURL({
bands: ['B4', 'B3', 'B2'],
min: 0,
max: 0.3,
region: bounds,
dimensions: '400'
})
);
(Link to the code: https://code.earthengine.google.com/5b50ad250e83ec994335615c4db72a00)
The original image in a UTM projection looks like:
While the World Mollweide projected images looks like:
Goode Homosline
By contrast the SR-ORG:7619 (Interrupted Goode Homosline) has a CRS WKT that includes a base projection entry PROJECTION["Interrupted_Goode_Homolosine"]
that is not supported by GeoTools, so it is not supported by Earth Engine.