The GIS Professional Group

ポリライン フィーチャに放物線を描く Z値を格納するツール

2020/5/10 (日)

はじめに

このツールは、ライン フィーチャに放物線を描くための Z値を格納します。Z値は一律の計数とフィーチャの属性値が指定できます。

数年前に ArcObjects で作成した VBA マクロを ArcGIS Pro で動作する Python スクリプトとして移植したものです。

https://www.wingfield.gr.jp/archives/7091

ダウンロード

以下からダウンロードして利用してください。ソースコードも含まれています。

使用方法

ArcGIS Pro プロジェクトから解凍した ZIP ファイル内の *.tbx ファイルを参照し、ジオプロセシング ツールを実行してください。

パラメーター

パラメーター説明データ タイプ
入力フィーチャ処理するポリライン フィーチャFeatureLayer
出力フィーチャクラス処理後のフィーチャクラスFeatureclass
係数値全フィーチャに一律でZ値をするための係数Double
係数フィールド個々のフィーチャ毎に最大Z値を変更するためのフィールド値Field

処理イメージ

ライン フィーチャの Z値を放物線で描画

補足

  • ライン フィーチャクラスの座標系は地理座標系でも投影座標系でも処理できますが、ライン フィーチャの頂点間は測地線(最短経路)で結ばれます。
  • Z値はライン フィーチャの座標系に基づく距離に対して、距離の中間地点のZ値が計数値となるよう放物線を描く値が内挿されます。
  • 入力ライン フィーチャの距離値は座標系の値をデカルト座標とみなして計算するため、地理座標系の場合は緯度経度1度が等距離とみなされます。そのため高緯度ほど期待する放物線を描く Z値は内挿されません。
  • 係数は「係数値×係数フィールド」で計算されます。係数フィールドが未指定の場合は計数値が一律で設定されます。
  • 入力フィーチャの座標系が地理座標系で最短距離が経度180度を跨ぐ場合、ポリラインはマルチパートに分割され、経度180度を考慮した M値が格納されます。
    ※意図的に作成されたマルチ パート フィーチャの各パート M値も逆転されるため、期待する結果にはなりません。
  • 本ツールは ArcGIS Pro Basic 2.5 で動作確認をしました。

コード スニペット

  • B!