[GIS] How to reproject a raster to Winkel Tripel projection

coordinate systemgdalwarpgrassrraster

I'm trying to project a raster map (in ASCII grid format) from longlat to the Winkel Tripel projection. But I'm running into errors, for instance gdalwarp won't accept the proj-string.

$ gdalwarp -t_srs '+proj=wintri +ellps=WGS84 +datum=WGS84 +units=m +no_defs +towgs84=0,0,0' popd.asc popd_wintri.tif
ERROR 1: Translating source or target SRS failed:
+proj=wintri +ellps=WGS84 +datum=WGS84 +units=m +no_defs +towgs84=0,0,0

And if I try it in GRASS I get the following output

GRASS 6.5.svn (Wintri):~ > r.proj input=popd_2000AD location=Latlong output=test22 --o
Input Projection Parameters:  +proj=longlat +no_defs +a=6378137 +rf=298.257223563 +towgs84=0,0,0,0,0,0,0
Input Unit Factor: 1
Output Projection Parameters:  +proj=wintri +lat_0=0.0000000000 +lat_1=0.0000000000 +lon_0=20.0000000000 +a=6378137 +rf=298.257223563 +no_defs
Output Unit Factor: 1
WARNING: pj_transform() failed: non-convergent inverse meridional dist
(...)
ERROR: Input raster map is outside current region

I got the same error when I tried projectRaster() in R:

Error in projectRaster(test, wintri) : 
  error in pj_transform: non-convergent inverse meridional dist

On the GRASS website there's a screenshot of a raster map in Winkel Tripel-projection, so I'm guess it's possible to accomplish this in GRASS. Any help would be appreciated!

Best Answer

I think its because there's no inverse Winkel-Tripel projection in Proj4.

You need the inverse to project a grid forward, since the target grid is derived by inverse projection from its grid points to the source grid.

If you did it the other way, by mapping each source grid to a grid square in the target projection, you wouldn't end up with a regular grid in the target!

Discussed here:

http://comments.gmane.org/gmane.comp.gis.proj-4.devel/5740

Related Question