FAQ ラインの長さを属性テーブルに出力するには?

ナレッジ番号:1024 | 登録日:2023/05/29 | 更新日:2023/08/16

概要

ArcGIS for Desktop にて、ラインの長さを属性テーブルに出力する方法をご紹介します。

ジオデータベースに存在するライン フィーチャの属性には、自動的に長さを表すフィールド([Shape_Length] フィールド)が追加されます。ただし、その値はデータの座標系に依存し、長さを計測するのに適していない座標系がデータに設定されている場合は、適切な値が表示されません。

手順

方法1 ジオプロセシング ツール [ジオメトリ属性の追加] ツールを使用する(ArcGIS 10.2.1 以降)

ArcToolbox → [データ管理 ツール] → [フィーチャ] → [ジオメトリ属性の追加] にて、 [LENGTH] または [LENGTH_GEODESIC] を選択して実行します。

ジオメトリ属性の追加 ツールのヘルプ ページ

このツールはフォアグラウンドで行ってください。

方法2 「ジオメトリ演算」の機能を使用する(ArcGIS 9.2以降)

準備

属性テーブルにフィールドを作成します。フィールドタイプは [Double] 型にしてください。

フィールドの作成方法は こちらをご確認ください。

手順

  1. 作成したフィールドの最上部にあるフィールド名を右クリックし、[ジオメトリ演算] をクリックします。
  2. [ジオメトリ演算]のダイアログ が表示されましたら「プロパティ」の部分で [長さ] を選択します。[座標系] の部分でデータソースの座標系かデータ フレーム (マップ) の座標値を選択します。[単位] の部分で出力する長さの単位を指定します。

    座標系では、地理座標系を選択することはできません。したがって、データソースまたはデータ フレームの座標系が投影座標系である必要があります。

    Image
  3. [OK] をクリックします。

方法3 フィールド演算にて Python 式を使用してラインの長さを計算する

フィールド演算にて Python の式「!shape.length!」を入力して実行すると、ラインの長さを算出できます。単位の指定も可能です。詳細はこちらのヘルプをご覧ください。

方法4 フィールド演算にて VBA スクリプトを使用してラインの長さを計算する(ArcGIS 9.x または8.x)

ArcGIS 10 以降は、VBAスクリプトは使用できません。

フィールド演算機能を使って計算します。出力先フィールドを用意した後、VBAスクリプトに以下のコードを利用してください。この方法では、ラインの長さの単位はマップの単位(例:緯度経度のデータの場合は、緯度経度の単位)で計算されます。

手順

  1. 作成したフィールドを右クリックし、[フィールド演算] をクリックします。
  2. [編集セッション外で・・・]のメッセージが表示される場合がありますが、そのまま[OK]をクリックしてください。
  3. [フィールド演算]のダイアログが表示されます。ダイアログ内にある「高度な編集」にチェックを入れます。
  4. [Pre-Logic VBA Script Code]の部分に以下のVBAスクリプトを入力します。
Dim pGeo As IGeometry
Set pGeo = [Shape]
Dim pPolyline As IPolyline
Set pPolyline = pGeo
Dim pCurve As IPolycurve
Set pCurve = pPolyline

下部にある フィールド名= の箇所には、以下のように入力してください。

pCurve.Length

ArcGIS 9.3、9.2 をお使いの場合

フィールド演算の詳細は、日本語化サプリメントCDに含まれている、\Document_Library_old91\ArcGIS_Desktop にある「Using_ArcMap_J.pdf」(『ArcMapユーザーズ・ガイド(9)』 のp336の「高度なフィールド演算を行う」の項をご参照ください。

ArcGIS 9.0、9.1 または ArcGIS 8.x をお使いの場合

フィールド演算の詳細は、『ArcMapユーザーズ・ガイド(9)』のp336 、または、『ArcMapユーザーズ・ガイド(8)』のp311 の「高度なフィールド演算を行う」の項をご参照ください。

 

関連する質問

メタデータ

カテゴリ

製品

バージョン