2
ビッグデータ用のPythonコードの合理化
次のワークフローでポイントシェープファイルを取得するように設計されたPythonコードがあります。 ポイントをマージ 互いに1 m以内のポイントが1つのポイントになるようにポイントを統合します フィーチャレイヤーを作成します。z<10のポイントが選択されています バッファポイント ポリゴンからラスター1mの解像度 再分類、ここで1-9 = 1; NoData = 0 各シェープファイルには、約5x7 kmをカバーする約250,000〜350,000ポイントがあります。入力として使用されるポイントデータは、ツリーの位置を表します。各ポイント(つまりツリー)には、クラウン半径を表す「z」値が関連付けられており、バッファプロセスで使用されます。私の目的は、最終的なバイナリ出力を別のプロセスで使用して、天蓋カバーを記述するラスターを作成することです。 4つのシェープファイルでテストを実行したところ、700MBのラスターが生成され、35分かかりました(i5プロセッサと8GB RAM)。このプロセスを3500個のシェープファイルで実行する必要があるので、プロセスを合理化するためのアドバイスをいただければ幸いです(添付コードを参照)。一般的に、ジオプロセシングビッグデータを処理する最良の方法は何ですか?より具体的には、効率を高めるのに役立つ可能性のあるコードまたはワークフローの調整はありますか? 編集: ジオプロセシングタスクの時間(全体の%): マージ= 7.6% 積分= 7.1% Lyrへの機能= 0 バッファー= 8.8% ポリゴンからラスター= 74.8% 再分類= 1.6% # Import arcpy module import arcpy # Check out any necessary licenses arcpy.CheckOutExtension("spatial") # Script arguments temp4 = arcpy.GetParameterAsText(0) …