FAQ
ラインが直線か曲線かを判別したい

ナレッジ番号:5390 | 登録日:2023/07/26 | 更新日:2024/11/21

概要

ラインやポリゴンのアウトラインが、直線のみで構成されているか、曲線が含まれているかをチェックする方法をご紹介いたします。

操作手順

ArcGIS Pro の場合

  1. 判別結果を格納するためのフィールドを追加します。ここでは「curve」と「segment」の 2 種の文字列を格納するため TEXT タイプのフィールドを追加します。
    フィールドの追加方法は ★関連ナレッジがみつかりませんでした★こちらのFAQ でご確認いただけます。
  2. 属性テーブルで追加したフィールドを右クリック → [フィールド演算] をクリックします。
    [フィールド演算] ツールが起動します。[入力テーブル] と [フィールド名] はすでに入力済みの状態であることを確認します。
  3. 条件式の入力欄に以下の式を入力します。
    checkCurve(!shape!)
    
  4. [コード ブロック] に以下の式を入力します。
    def checkCurve(shape):
      jsonGeometry = shape.JSON
      if 'curve' in jsonGeometry:
        return "curve"
      else:
        return "segment"
    
  5. [実行] ボタンで処理を開始します。

ArcMap の場合

  1. 判別結果を格納するためのフィールドを追加します。ここでは「curve」と「segment」の 2 種の文字列を格納するため TEXT タイプのフィールドを追加します。
    フィールドの追加方法は ★関連ナレッジがみつかりませんでした★こちらのFAQ でご確認いただけます。
  2. 属性テーブルで追加したフィールドを右クリック → [フィールド演算] をクリックします。
  3. [形式] で 「Python」 を選択します。
  4. [コードブロックを表示] にチェックを入れます。
  5. 条件式の入力欄に以下の式を入力します。
    checkCurve(!shape!)
    
  6. [Pre-Logic Script Code:] に以下の式を入力します。
    def checkCurve(shape):
      jsonGeometry = shape.JSON
      if 'curve' in jsonGeometry:
        return "curve"
      else:
        return "segment"
    
  7. [OK] ボタンで処理を開始します。

メタデータ

機能

種類

製品