Google Earth Engine (GEE) - ベクターからラスターへの初心者の最も一般的な間違い

ベクターとラスターを変換する必要がある場合があることは誰もが知っています.この目的は、画像の統一された操作またはその他の処理を容易にすることです. ここでは、GEE で vector-to-raster 関数を使用します.この関数を使用すると、ベクトルをラスターにすばやく変換できますが、ここで注意する必要があるのは、ベクトル コレクションに多くの詳細があるかどうかを確認する必要があることです。また、ノードが多すぎます. 多すぎると、変換プロセスが非常に困難になり、オーバーランの状況が発生する場合があります. 変換前に、大きな領域の複雑なベクターコレクションを単純化する必要があることをお勧めします.大丈夫だから/、

reduceToImage(プロパティ、レデューサー)

各ピクセルと交差するすべてのフィーチャの選択したプロパティにレデューサーを適用して、フィーチャ コレクションからイメージを作成します。

各ピクセルが交差するすべてのフィーチャの選択した属性にレデューサーを適用して、フィーチャのコレクションからイメージを作成します。

引数:

this:コレクション (FeatureCollection):

各出力ピクセルと交差する機能コレクション。

プロパティ (リスト):

各機能から選択してレデューサーに渡すプロパティ。

レデューサー (レデューサー):

交差する各フィーチャのプロパティを最終結果に結合してピクセルに格納するための Reducer。

戻り値: 画像

 

simple(maxError,  proj )

フィーチャのジオメトリを特定の誤差範囲内に単純化します。maxError が明示的に null に指定されていない限り、これはこのアルゴリズムのコンシューマによって要求されたエラー マージンを考慮しないことに注意してください。

これは、エラー マージンを伝播するためのデフォルトの Earth Engine ポリシーをオーバーライドするため、出力からリクエストされたジオメトリの精度に関係なく、このアルゴリズムの引数で指定されたエラー マージンで入力がリクエストされます。これにより、レンダリングされたベクター マップのすべてのズーム レベルで一貫したレンダリングが行われますが、ズーム レベルが低い (ズーム アウトされた) 場合、ジオメトリは単純化されず、パフォーマンスが低下する可能性があります。

指定された誤差範囲内にフィーチャのジオメトリを単純化します。maxError が null として明示的に指定されていない限り、アルゴリズムのユーザーが要求する誤差の範囲は考慮されないことに注意してください。

これは、誤差範囲を伝播するためのデフォルトの Earth Engine 戦略をオーバーライドするため、出力から要求された幾何学的精度に関係なく、このアルゴリズムのパラメータで指定された誤差範囲で入力が要求されます。これにより、ベクター グラフィックスがレンダリングされるすべてのズーム レベルで一貫したレンダリングが行われますが、ズーム レベルが低い (ズームアウトする) と、ジオメトリが単純化されず、パフォーマンスが低下する可能性があります。

 

引数:

this:feature (要素):

ジオメトリが簡略化されるフィーチャ。

maxError (エラーマージン):

結果が入力と異なる可能性がある誤差の最大量。

proj (投影、デフォルト: null):

指定した場合、結果はこの射影になります。それ以外の場合は、入力と同じ投影になります。エラー マージンが投影単位の場合、マージンはこの投影の単位として解釈されます。

戻り値: 機能

元のコード:


var feat_col = ee.FeatureCollection('users/spotter/fire_cnn/buffered_polys/2015')

print(feat_col.first())
Map.addLayer(feat_col, {}, 'Features ')

var img  =  feat_col.reduceToImage({
    properties: ['Year'],
    reducer: ee.Reducer.mean()
    })
    
print(img)

Map.addLayer(img, {}, 'Image')

エラーコード:


var img  =  feat_col.reduceToImage({
    properties: ["Date",'Day',"ID","Month",'Year',"count","label"],
    reducer: ee.Reducer.mean()
    })
    
print(img)

 もう 1 つの誤りは、複数の属性割り当ての変換を実行できず、変換のために 1 つの属性しか選択できないことです。

さらに、画像変換プロセス中にそれらの 1 つしか変換できない場合は、ベクター コレクションをローカルでマージしてからアップロードする必要があります。これにより、完全なベクターからラスターへの変換を実行できます。 

おすすめ

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