ArcMap 10の角度測定ツールはどこにありますか?
見つけられないようです。
ArcMap 10の角度測定ツールはどこにありますか?
見つけられないようです。
回答:
ArcGIS 10.1以降では、COGOと呼ばれるツールがあります-エディターツールバー/その他の編集ツール/ COGOにあります。ツールバーには、「COGOの説明を報告する」というボタンがあります。このレポートツールには、「2線間の角度」と呼ばれる機能があり、線上の3点間の角度を報告します。
このPythonスクリプトツールでうまくいきます。これを使用するには、スクリプトツールとして追加し、パラメーターを[フィーチャセット]に設定し、そのスキーマをラインフィーチャクラスに設定します。このスクリプトは10.0以降で動作するはずです。
# calculate an azimuth angle from a interactively entered
# line (feature set)
#
# Curtis Price, cprice@usgs.gov, 9/18/2013 11:51:10 AM
import math
import arcpy
# read line (This parameter should be a line feature set)
line = arcpy.GetParameterAsText(0)
# to see how this is used, see the help:
# http://resources.arcgis.com/en/help/main/10.1/index.html#//001500000028000000
# http://resources.arcgis.com/en/help/main/10.1/index.html#//002w00000023000000
def get_angle(xy1, xy2):
"""Calculate azimuth angle from two points. (Zero is north.)"""
import math
try:
# ArcPy point objects
x1, y1, x2, y2 = xy1.X, xy1.Y, xy2.X, xy2.Y
except:
# xy strings, e.g. "0 0"
x1, y1 = [float(x) for x in xy1.split()]
x2, y2 = [float(x) for x in xy2.split()]
dx, dy = (x2 - x1, y2 - y1)
return 90 - math.degrees(math.atan2(dy, dx))
try:
# get first and last point of a line
SHAPE = arcpy.Describe(line).shapeFieldName
Rows = arcpy.SearchCursor(line,"","",SHAPE)
feat = Rows.next().getValue(SHAPE)
pt1 = feat.firstPoint
pt2 = feat.lastPoint
angle = get_angle(pt1, pt2)
msg1 = " First point: {0:.1f}, {0:.1f}".format(pt1.X, pt1.Y)
msg2 = " Last point: {0:.1f}, {0:.1f}".format(pt2.X, pt2.Y)
msg3 = " Azimuth angle (in degrees): {0:.1f}".format(angle)
arcpy.AddMessage("{0}\n{1}\n{2}".format(msg1, msg2, msg3))
except:
raise Exception, "Invalid line input"
@TvsGISの回答を明確にします。ArcMap 10.3でCOGOツールバーを使用して、COGOレポート(左から7番目のボタン)を選択し、[既存のフィーチャのCOGO説明]を選択します(右から2番目:線の中央を指す矢印)。次に、ラインフィーチャをクリックします。これにより、グリッド(マップ)と地面(調査測定)の座標の角度と長さが得られます。グリッドから地面への変換は、追加方向オフセットであり、編集オプション>単位>ダイアログの距離係数で除算します。
「線の方向と距離」(左側の最初のボタン)を使用する場合、対話的に線の始点と終点を選択します。角度は開始点から終了点までです。ただし、線分は反対方向に描画される場合があります。
Data Management \ FeaturesツールボックスのAdd Geometry Attributesを使用して、ラインベアリングを作成できます。各ラインフィーチャの開始から終了までの方位を格納する属性を追加します。値の範囲は0〜360で、0は北、東90、南180、西270などを意味します。