3

ラスターの属性テーブルを作成する Python スクリプトがあります。これは、フロートであるすべてのラスターを実行し、それらを int に変換してから、属性テーブルを作成します。

最初の 3 つのラスターで、警告メッセージが表示されます。

Value range for c:\raster2 exceeds 100000 and number of unique values exceeds 500.
Please use BUILDVAT if a VAT is required.

ただし、属性テーブルが生成されます。しかし、この後、プログラムがクラッシュし、修正方法がわかりません。これは、画面に表示されるエラー メッセージです。

Value range for c:\raster2 exceeds 100000 and number of unique values exceeds 500.
Please use BUILDVAT if a VAT is required.
Traceback (most recent call last):
  File "LEED_raster_attribute.py", line 50, in <module>
    make_attribute( 20, 'C:\\Analysis\\Raster_Distances\\city' )
  File "Raster_attribute.py", line 40, in make_attribute
    gp.BuildRasterAttributeTable_management(outRaster)
arcgisscripting.ExecuteError: ERROR 000521: The number of unique values exceeds the limit.
Failed to execute (BuildRasterAttributeTable).

エラーメッセージをグーグルで検索しても、ヘルプファイルも役に立ちません。この問題の解決策はありますか?

ありがとう。

4

2 に答える 2

1

グリッドの場合、ラスター内の値の範囲が100,000未満の場合、またはラスター内の一意の値の数が500未満の場合、式から生じる整数グリッドのラスター属性テーブルがデフォルトで作成されます。範囲がが100,000未満の場合、ラスター内の一意の値の数は100,000まで大きくなる可能性があります。範囲が100,000を超える場合でも、一意の値の数が500未満であれば、ラスター属性テーブルが作成されます。値の範囲が100,000を超え、一意の値の数が500を超える場合、ラスター属性テーブルは自動的に作成されません。デフォルトでは、ラスター属性テーブルのサイズは65,535の一意の値に制限されています。[オプション]ダイアログボックスで、[ラスター]タブの[ラスター属性テーブル]タブをクリックすると、この数を増やすことができます。

ラスターのドキュメントを読み直しただけで、GUIを使用して属性テーブルを作成できる値を手動で増やすことができます。手動で巨大な値を入力し、スクリプトが機能しました。


この質問/回答が役立つかどうかはわかりません。ここに1日か2日置いて見てみます。

于 2010-09-10T18:11:55.647 に答える