GEE エラー - 元のベクトル次元を地理座標系に変換するにはどうすればよいですか。座標を再投影することはできません。

導入:

射影変換は、3 次元空間のオブジェクトとそのプロパティを 2 次元平面に変換する方法です。3次元の空間座標(x,y,z)を2次元の平面座標(x',y')にマッピングする技術です。コンピュータ グラフィックスやコンピュータ ビジョンでは、投影変換は 2 次元の画面上に 3 次元のオブジェクトを表示するのに役立ち、さまざまな変換や処理を実行できるため、非常に重要です。一般的な投影変換には、直交投影と透視投影が含まれます。GEE では、Sentinel-2 データの任意のバンドの座標を使用し、それをデフォルトの座標にして、再投影できます。

ここで変換できない理由は、ここでの座標が、(盲目的に) 指定した投影に組み込まれたアフィン変換によってスケーリングおよびオフセットされているためです。これらの値は、投影を印刷するときに確認できます。ただし、デフォルトの投影スケールとオフセットを取得するために、投影された wkt を使用して新しい投影を作成することもできます。

関数:

時間()

この投影の基本座標系の WKT 表現を返します。

この投影の基本座標系の WKT を返します。

引数:

this:projection (投影)

戻り値: 文字列

投影()

画像のデフォルトの投影を返します。画像のバンドがすべて同じ投影を持たない場合、エラーがスローされます。

引数:

これ:画像 (画像):

投影を取得する画像。

戻り値: 投影

変身()

この投影の変換の WKT 表現を返します。これは、投影座標からベース座標系に変換する変換です。

引数:

this:projection (投影)

戻り値: 文字列

元の投影コード:


// Coords in Australia
var jsonPoly = {'type': 'Polygon', 'coordinates': [[[151.2927484, -33.7224076], [151.2953236, -33.7345426], [151.3093994, -33.7331863], [151.3062239, -33.7205514], [151.2927484, -33.7224076]]]};
var ee_geom = ee.Geometry(jsonPoly, 'EPSG:4326'); // WGS84 geographic

var sr_data = ee.ImageCollection('COPERNICUS/S2').filterDate('2018-06-03', '2018-06-05').filter(ee.Filter.bounds(ee_geom));
var img = sr_data.first();
print(img.get('system:index') );

var projObj = img.select('B3').projection(); // a UTM EPSG, 32756

var eeGeomUtm = ee_geom.transform(projObj, 1).coordinates().get(0);
print(eeGeomUtm);

// Would have expected coords something in the approx vicinity of:

// Easting: 342228.66002316
// Northing: 6268389.4293557

投影が失敗した結果

リスト(5要素)

0:

[4181.8970063,3272.6363911]

1:

[4306.4270138,3249.9945839]

2:

[4338.1488216,3389.6226067]

3:

[4207.9833261,3406.8093767]

4:

[4181.8970063,3272.6363911]

変更されたコード:


// Coords in Australia
var jsonPoly = {'type': 'Polygon', 'coordinates': [[[151.2927484, -33.7224076], [151.2953236, -33.7345426], [151.3093994, -33.7331863], [151.3062239, -33.7205514], [151.2927484, -33.7224076]]]};
var ee_geom = ee.Geometry(jsonPoly, 'EPSG:4326'); // WGS84 geographic

var sr_data = ee.ImageCollection('COPERNICUS/S2').filterDate('2018-06-03', '2018-06-05').filter(ee.Filter.bounds(ee_geom));
var img = sr_data.first();
print(img.get('system:index') );

var projObj = img.select('B3').projection(); // a UTM EPSG, 32756
projObj = ee.Projection(projObj.wkt())

var eeGeomUtm = ee_geom.transform(projObj, 1).coordinates().get(0);
print(eeGeomUtm);

wkt関数を使った結果

リスト(5要素)

0:

[341818.970063,6267313.636089]

1:

[342079.833261,6265971.906233]

2:

[343381.488216,6266143.773933]

3:

[343064.270138,6267540.054161]

4:

[341818.970063,6267313.636089]

おすすめ

転載: blog.csdn.net/qq_31988139/article/details/132892360