ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

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

ArcGIS Online

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

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

スカイライン バリア (Skyline Barrier)

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

概要

スカイライン バリアまたはシャドウ ボリュームを表すマルチパッチ フィーチャクラスを生成します。

スカイライン バリア ツールの詳細

図

スカイライン バリア ツールの図
1 つ目の画像は、スカイライン バリア ツールへの入力を示しています。 [スカイライン ] ツールによる観測ポイントとスカイラインの出力で構成されています。 2 つ目の画像は、[スカイライン バリア] ツールの出力を示しています。

使用法

  • バリアは、観測ポイントからスカイラインの最初の頂点にラインを描き、スカイラインのすべての頂点を通るラインを一掃することによって形成された三角形ファンに似ています。 このツールを使用すると、建物を表すマルチパッチなどのフィーチャがはみ出てバリアを妨害していないかどうか、または提案された建物がスカイラインを変えていないかどうかを判別することができます。

  • 最初に [スカイライン] ツールを使用して、スカイラインまたはシルエットを生成します。 シルエットは、観測点からの光による影の体積表現を提供します。

  • [最小半径] パラメーターと [最大半径] パラメーターは、観測ポイントを起点とする三角形エッジの長さを定義します。 [最小半径] または [最大半径] にデフォルト値の 0 が指定されている場合、最小長または最大長は解析に使用されません。

  • クローズド マルチパッチを作成する場合、出力は、[ベース標高] パラメーターで定義された高さに立ち上げられ、閉じたジオメトリの底を形成する水平リングが作成されます。 指定したベース標高がスカイライン バリア内で最も高い頂点よりも高い場合、底面がシーリング (天井面) になります。

  • 新しいマルチパッチ フィーチャクラスには、次のフィールドが含まれます。

    • OBSV_PT_ID- このスカイライン バリアのマルチパッチを作成するために使用された、スカイラインの作成に使用された観測点の FID。
    • ORIGFTR_ID- このシャドウ ボリュームを作成するために使用されたスカイライン セグメントまたはシルエットによって表される元のフィーチャ (建物など) の FID。
    • SILHOUE_ID- シャドウ ボリュームの作成に使用されたマルチパッチ フィーチャ (シルエット) の FID (シルエットの場合のみ)。

構文

arcpy.ddd.SkylineBarrier(in_observer_point_features, in_features, out_feature_class, {min_radius_value_or_field}, {max_radius_value_or_field}, {closed}, {base_elevation}, {project_to_plane})
パラメーター説明データ タイプ
in_observer_point_features

観測ポイントを含むポイント フィーチャクラス。

Feature Layer
in_features

スカイラインを表す入力ライン フィーチャクラス、またはシルエットを表す入力マルチパッチ フィーチャクラス。

Feature Layer
out_feature_class

スカイライン バリアまたはシャドウ ボリュームが配置される出力フィーチャクラス。

Feature Class
min_radius_value_or_field
(オプション)

三角形エッジが観測ポイントから延長される最小半径。 たとえば、10 メートルの値は、すべての出力バリア フィーチャがその起点から 10 メートル以上長くなることを意味します。 デフォルトは 0 です。これは、最小距離が適用されないことを意味します。

Linear Unit; Field
max_radius_value_or_field
(オプション)

三角形エッジが観測ポイントから延長される最大半径。 デフォルトは 0 です。これは、最大距離が適用されないことを意味します。

Linear Unit; Field
closed
(オプション)

結果のマルチパッチが閉じた実線に見えるように、側面と底面をスカイライン バリアに追加するかどうかを指定します。

  • NO_CLOSED —側面と底面をマルチパッチに追加しません。観測点からスカイラインまでのサーフェスを表すマルチパッチのみが表されます。 これがデフォルトです。
  • CLOSED —側面と底面がマルチパッチに追加され、閉じた実線の外観を形成します。
Boolean
base_elevation
(オプション)

クローズド マルチパッチの底面の標高。 このパラメーターは、closed パラメーターを NO_CLOSED に設定した場合、無視されます。 デフォルトは 0 です。

Linear Unit; Field
project_to_plane
(オプション)

バリアのフロント エンド (観測点に近い) とバック エンド (観測点から遠い) がそれぞれ垂直面に投影されるかどうかを指定します。 シャドウ ボリュームを作成する場合、これは通常 PROJECT_TO_PLANE に設定されます。

  • NO_PROJECT_TO_PLANE —バリアは観測点からスカイラインまで (または、最小半径と最大半径にゼロ以外の値が指定されている場合は近くまたは遠く) 延長します。 これがデフォルトです。
  • PROJECT_TO_PLANE —バリアは垂直面から垂直面まで延長します。
Boolean

コードのサンプル

スカイライン バリアの例 1 (Python ウィンドウ)

次のサンプルは、Python ウィンドウでこのツールを使用する方法を示しています。

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.SkylineBarrier_3d("observers.shp", "skyline_outline.shp", "barrier_output.shp")
スカイライン バリアの例 2 (スタンドアロン スクリプト)

次のサンプルは、スタンドアロン Python スクリプトでこのツールを使用する方法を示しています。

'''****************************************************************************
Name: Skyline Barrier Example
Description: This script demonstrates how to use the 
             Skyline Barrier tool.

****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
from arcpy import env

try:
    # Obtain a license for the ArcGIS 3D Analyst extension
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    env.workspace = 'C:/data'
    # Set Local Variables
    inPts = 'observers.shp'
    inLine = 'skyline.shp'
    outFC = 'output_barriers.shp'
    minRadius = '0 METERS'
    maxRadius = '200 METERS'
    
    #Execute SkylineBarrier
    arcpy.SkylineBarrier_3d(inPts, inLine, outFC, minRadius,
                          maxRadius, 'CLOSED')

except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

環境

  • 現在のワークスペース
  • 範囲
  • 出力座標系
  • 地理座標系変換
  • 出力データの XY ドメイン
  • 出力データの Z ドメイン
  • 出力データのコンフィグレーション キーワード
  • 自動コミット

ライセンス情報

  • Basic: 次のものが必要 3D Analyst
  • Standard: 次のものが必要 3D Analyst
  • Advanced: 次のものが必要 3D Analyst

関連トピック

  • 可視性ツールセットの概要
  • サーフェスの基礎
  • 可視領域の特定

ArcGIS Desktop

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

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

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