ArcGIS Desktop

  • ドキュメント
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

フィーチャの座標変換 (Transform Features)

  • サマリー
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリー

対応する既知のコントロール ポイント間の変換リンクに基づき、スケーリング、シフト、回転を通じて、ある位置から別の位置に入力フィーチャの座標を変換します。

使用法

    注意:

    このツールを使用すると入力データが変更されます。詳しい説明および不適切なデータ変更を防ぐための方法については、「出力を伴わないツール」をご参照ください。

    注意:

    すべての入力は、同じ座標系に存在する必要があります。

  • 入力フィーチャとしてポイント、ライン、またはポリゴンを指定できます。

  • 入力リンク フィーチャは、対応する既知のコントロール ポイント間の変換リンクを表すラインです。リンクの始点はソース コントロール ポイントの位置で、リンクの終点は対応するターゲット コントロール ポイントの位置です。

  • 変換は、直交座標系または平面座標系で機能します。PCS (投影座標系) を強くお勧めします。緯度と経度の値を持つ GCS (地理座標系) を使用すると、不要な歪みや計算エラーが発生する可能性があります。

  • すべての入力フィーチャは、アフィン変換、相似変換、射影変換という 3 つの変換方式のいずれかを使用して変換されます。各方式では、最低限必要な変換リンクの数が決まっています。変換式などの詳細については、「アジャスト変換について」をご参照ください。

    • アフィン変換 - アフィン変換には、少なくとも 3 つの変換リンクが必要です。
    • 射影変換 - 射影変換には、少なくとも 4 つの変換リンクが必要です。
    • 相似変換 - 相似変換には、少なくとも 2 つの変換リンクが必要です。
  • 変換結果は、入力リンクの質によって異なります。リンクは既知のソース位置から開始し、対応するターゲット位置で終了します。これらの位置は、コントロール ポイントとも呼ばれます。コントロール ポイントがよりよく確立されているほど、変換結果の精度が高くなります。リンクの始点と終点の座標を使用して、ソース コントロール ポイントとターゲット コントロール ポイント間の最適な変換パラメーターが取得されます。変換パラメーターに基づいて実際のソース コントロール ポイントを変換した場合でも、結果の位置はターゲット コントロール ポイントの位置と一致しません。この不一致は残差エラーと呼ばれ、各変換リンクで発生します。オプションとして、次のフィールドを含むテーブルに入力リンクの残差エラーを書き込むことができます。

    • Orig_FID: 入力リンク フィーチャの ID
    • X_Source: リンクのソース位置つまり始点の X 座標
    • Y_Source: リンクのソース位置つまり始点の Y 座標
    • X_Destination: リンクのターゲット位置つまり終点の X 座標
    • Y_Destination: リンクのターゲット位置つまり終点の Y 座標
    • Residual_Error: 変換後の位置の残差エラー

    RMSD (二乗平均平方根偏差) とも呼ばれる RMSE (二乗平均平方根誤差) は、残差エラーに基づいて計算され、通常、得られた変換結果の適切さの尺度となります。RMSE 値は、処理メッセージに書き込まれます。これは、スクリプトまたはモデル ワークフローで使用できる派生出力パラメーターにもなります。

    残差エラーと RMSE の計算の詳細については、「アジャスト変換について」の「残差と平均二乗偏差について」のセクションをご参照ください。入力フィーチャとコントロール ポイントの位置正確度に関する知識を基に、許容可能な RMSE 値を決めるのはユーザーです。RMSE 値が大きすぎると、残差エラーを確認して、残差エラーの大きいリンクを破棄または置換する必要が生じます。

構文

TransformFeatures_edit (in_features, in_link_features, {method}, {out_link_table})
パラメーター説明データ タイプ
in_features

入力フィーチャ。このフィーチャの座標が変換されます。

Feature Layer
in_link_features

変換のために既知のコントロール ポイントをリンクする入力リンク フィーチャ。

Feature Layer
method
(オプション)

入力フィーチャの座標変換に使用する変換方式。

  • AFFINE —アフィン変換には、少なくとも 3 つの変換リンクが必要です。これがデフォルトです。
  • PROJECTIVE —射影変換には、少なくとも 4 つの変換リンクが必要です。
  • SIMILARITY —相似変換には、少なくとも 2 つの変換リンクが必要です。
String
out_link_table
(オプション)

入力リンクとその残差エラーを含む出力テーブル。

Table

コードのサンプル

TransformFeatures (フィーチャの座標変換) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、TransformFeatures (フィーチャの座標変換) 関数をイミディエイト モードで使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.TransformFeatures_edit("source_Roads.shp","control_Links.shp",
                               "AFFINE")
TransformFeatures (フィーチャの座標変換) の例 2 (スタンドアロン Python スクリプト)

次のスタンドアロン スクリプトは、TransformFeatures (フィーチャの座標変換) 関数をスクリプティング環境で適用する方法の例を示しています。

import arcpy
import os

# Set geoprocessing environments
arcpy.env.overwriteOutput = True

# function to convert link info in a text file to a line feature class
def CreateLinkFeatures(in_text_file, in_data):

    sr = arcpy.Describe(in_data).spatialReference
    features = []  # a list to hold polyline geometry objects

    f = open(in_text_file, "r")
    
    for line in f.readlines():

        # take start/end blank spaces off
        # separate the start and end point coordinates
        points = line.strip().split()   
        
        point1 = arcpy.Point(float(points[1]), float(points[2]))
        point2 = arcpy.Point(float(points[3]), float(points[4]))
        
        features.append(arcpy.Polyline(arcpy.Array([point1, point2]), sr))
        
    f.close()   # close the text file

    # copy the geometry objects into a feature class named Links
    result = arcpy.CopyFeatures_management(features, in_data + "_links")

    return result.getOutput(0)
    
if __name__ == "__main__":

    # Make a copy of the data because
    # TransformFeatures tool modifies the input data
    arcpy.CopyFeatures_management(r"C:\data\Tutorial.gdb\Parcels", r"C:\data\Tutorial.gdb\Parcels_copy")

    links_file = r"C:\data\TF_links.txt"
    tf_link_features = CreateLinkFeatures(links_file, r"C:\data\Tutorial.gdb\Parcels")
    
    try:
        arcpy.TransformFeatures_edit(r"C:\data\Tutorial.gdb\Parcels_copy", tf_link_features)
        print(arcpy.GetMessages())
        
    except arcpy.ExecuteError as aex:
        print(arcpy.GetMessages(2))

    except Exception as ex:
        print(ex.args[0])

環境

  • 現在のワークスペース
  • 範囲

ライセンス情報

  • ArcGIS Desktop Basic: いいえ
  • ArcGIS Desktop Standard: いいえ
  • ArcGIS Desktop Advanced: はい

関連トピック

  • 補正ツールセットの概要

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2018 Esri. | プライバシー | リーガル