ArcMap / ArcPyでのバッチ地理参照?


9

約50のpdfマップがあり、ジオリファレンスやジオコレクションをバッチ処理したいと考えています。1つをjpgとして保存し、手動で地理参照し、同じ場所にあり、同じ範囲の残りを自動化したいと思います。

ここに画像の説明を入力してください

密度勾配はケースごとに変わりますが、マップ(現在はjpgとして保存)は、50ケースすべてで同じ範囲になります。

誰もが、Arcmap 10.2のみでのバッチ処理を扱うステップバイステップのチュートリアルへのリンクを知っていますか?[ファイルからワープ ] コードまたはおそらく自動登録オプションを使用することを考えていますが、どこから始めればよいかわかりませんか?

サンプルコードは次のとおりです。

import arcpy
arcpy.WarpFromFile_management(
"\\cpu\data\raster.img", "\\cpu\data\warp_out.tif",
"\\cpu\data\gcpfile.txt", "POLYORDER2", "BILINEAR")

彼らは同じスペースを占めていますか?ファイルは互いに隣接していますか?

質問を編集して、言及したWrap from Fileコードへのリンクを含めることができますか?
PolyGeo

物理ファイルは同じフォルダー内にあります。マップデータは、50の例すべてでまったく同じスペースを占めています。
Codesurfer 2014

回答:


15

あなたの場合(jpgラスタとすべてのラスタでまったく同じ範囲)、ファイルからワープツールは問題ありません。

リンクファイルをまだ保存していない場合は、最初にこれを行う必要があります。ArcMapで1つのラスターを地理参照し、[リンクテーブルの表示]ボタンをクリックし、[保存]ボタンを使用してリンクをテキストファイルに保存します。

リンクテーブルを表示 次に、さまざまなオプションがあります。

  • バッチ:ツールボックスで右クリックして、バッチモードでファイルからワープツールを使用できます。

バッチ

  • arcpy:次のコードの変数を変更し、好きなように実行します。ArcMapまたはArcCatalogのPythonウィンドウにコピーして貼り付けます。
import arcpy, os

# Variables
arcpy.env.workspace = r"C:\InFolder"    # Folder with rasters to be georeferenced"
OutF = r"C:\OutFolder"                  # Output folder
Suf = "_georef"                         # Suffix added to the output (if necessary)
Ext = ".jpg"                            # Format of the output rasters
LinkFile = r"C:\linkfile.txt"           # Your link file
Transf = "POLYORDER0"                   # Transformation type - to choose from:
                                        #"POLYORDER0", "POLYORDER1", "POLYORDER2", "POLYORDER3", "ADJUST SPLINE" or "PROJECTIVE"
Resampl = "NEAREST"                     # Resampling type - to choose from:
                                        # "NEAREST", "BILINEAR", "CUBIC" or "MAJORITY"

# Process
ListRas = arcpy.ListRasters()
for ras in ListRas:
    basename = arcpy.Describe(ras).baseName
    outpath = os.path.join(OutF, basename + Suf + Ext)
    arcpy.WarpFromFile_management(ras, outpath, LinkFile, Transf, Resampl)
    print "Georeferenced {} successfully".format(basename)
  • ModelBuilder:ラスターイテレーター(挿入>イテレーター>ラスター)でラスターを反復処理できます。出力パスで%Name%.pngを使用して、入力(または%Name%_suffix.png)と同じ方法で出力に名前を付けます。

ここに画像の説明を入力してください


ありがとうございました。私は今晩それを試すつもりであり、結果で更新します。
Codesurfer
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.