问题:
Error: Projection: The CRS of a map projection could not be parsed. (Error code: 3)
EPSP
EPSP
的英文全称是European Petroleum Survey Group
,中文名称为欧洲石油调查组织
。这个组织成立于1986
年,2005
年并入IOGP(International Association of Oil & Gas Producers)
,中文名称为国际油气生产者协会
。
EPSG
对世界的每一个地方都制定了地图,但是由于座标系不同,所以地图也各不相同。
中国地图
比如对于中国来讲,以地球的几何球心为中心的地图就是EPSG:4479
,以地球的椭球焦点为中心就是EPSG:4480
,此外还有EPSG:4490
,因为选择不同的座标系对于油气勘探的成本至关重要,所以有不同的座标系。
世界地图
EPSG:4326
在世界地图方面,EPSG:4326
是比较著名的一个,因为由美国主导的GPS
系统就是在用它,它还有一个名气更大的别名叫作WGS84
,WGS(World Geodetic System)
是世界大地测量系统
的意思,由于是1984
年定义的,所以叫WGS84
,之前的版本还有WGS72
、WGS66
、WGS60
。
EPSG:3857
另一个比较知名的编码是EPSG:3857
,这也是一张世界地图,目前主要是各大互联网地图公司以它为基准,例如Google
地图,Microsoft
地图都在用它。
具体的地址:EPSG.io: Coordinate Systems Worldwide
参考与:EPSG是什么? - 知乎
解析:
Earth Engine 可以将图像重新投影到非 EPSG 坐标参考系统。
在GEE中:
crs (Object):
The base coordinate reference system of this Projection, given as a well-known authority code (e.g. 'EPSG:4326') or a WKT string.
该投影的基础坐标参考系统,以众所周知的权威代码(如 "EPSG:4326")或WKT字符串形式给出。
transformWkt (String, default: null):
The transform between projected coordinates and the base coordinate system, specified as a WKT string. May not specify both this and 'transform'.
投影坐标与基础坐标系之间的转换,以WKT字符串形式指定。不可以同时指定这个和 "变换"。
Earth Engine 使用 Java GeoTools库进行坐标系转换,该库支持坐标系众所周知的文本 (WKT)格式和一组基础投影。
大家可以点击上面的WKT链接,将代码作为一个变量放入到自己的参数当中,然后进行投影变化
// 加载一个简单的Landsat8影像 var image = ee.Image('LANDSAT/LC08/C01/T1_TOA/LC08_044034_20170614'); // 获取研究区的边界坐标 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' }) );
以上代码大家可以去试试