ArcMap 10에서 각도 측정 도구는 어디에 있습니까?
나는 그것을 찾을 수없는 것 같습니다.
ArcMap 10에서 각도 측정 도구는 어디에 있습니까?
나는 그것을 찾을 수없는 것 같습니다.
답변:
이 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 Use COGO 툴바에서 COGO Report (왼쪽에서 7 번째 버튼)를 선택한 다음 "기존 피처의 COGO 설명"(오른쪽에서 두 번째 : 선 중간을 가리키는 화살표)을 선택하십시오. 그런 다음 회선 기능을 클릭하십시오. 그리드 (지도) 및지면 (측량 측정) 좌표로 각도와 길이를 제공합니다. 그리드에서지면으로의 변환은 ADD 방향 오프셋이며 편집 옵션> 단위> 대화 상자의 거리 계수로 나눕니다.
"선의 방향과 거리"(왼쪽의 첫 번째 버튼)를 사용하는 경우 선의 시작점과 끝점을 대화식으로 선택하십시오. 각도는 시작점에서 끝점까지입니다. 그러나 선분은 반대 방향으로 그려 질 수 있습니다.
Data Management \ Features 도구 상자에 형상 속성 추가를 사용하여 라인 베어링을 생성 할 수 있습니다.-속성을 추가하여 각 라인 형상의 시작점 간 베어링을 저장합니다. 값의 범위는 0-360이며 0은 북쪽, 90 동쪽, 180 남쪽, 270 서쪽 등을 의미합니다.