Где находится инструмент измерения углов в ArcMap 10?
Я не могу найти это.
Где находится инструмент измерения углов в ArcMap 10?
Я не могу найти это.
Ответы:
В ArcGIS 10.1 и более поздних версиях есть инструмент под названием COGO, расположенный на панели инструментов редактора / Дополнительные инструменты редактирования / COGO. На панели инструментов есть кнопка под названием « Отчеты об описаниях COGO» . Этот инструмент отчетности имеет функцию под названием « Угол между двумя линиями », которая сообщает угол между 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"
Чтобы измерить азимут от точки только с базовой лицензией, вы можете использовать инструменты редактирования объектов:
Создать фиктивный файл формы с линейными элементами
Начать редактирование
Выберите «Line Tool», чтобы начать создавать новую функцию
Щелкните левой кнопкой мыши на точке, из которой вы хотите измерить азимут
Щелкните правой кнопкой мыши точку, в которой вы хотите измерить азимут (появится всплывающее контекстное меню)
Выберите опцию «Направление ...»
Поле ввода, в которое вы должны поместить направление, будет иметь текущий азимут.
Уточняется , ответ @TvsGIS» . В ArcMap 10.3 используйте панель инструментов COGO, выберите COGO Report (7-я кнопка слева), затем выберите «COGO-описание существующего объекта» (2-е справа: стрелка, указывающая на середину линии). Затем нажмите на функцию линии. Это дает угол и длину в координатах сетки (карта) и грунта (измерения при съемке). Преобразование из сетки в землю - это смещение направления ADD и деление на коэффициент расстояния диалогового окна Параметры редактирования> Единицы>.
Если вы используете «Направление и расстояние линии» (1-я кнопка слева), тогда интерактивно выберите начальную и конечную точки линии. Угол от вашей начальной точки до вашей конечной точки. Однако отрезок может быть нарисован в противоположном направлении.
С помощью Добавить атрибуты геометрии в наборе инструментов Управление данными \ Возможности - вы можете создать линейный подшипник - Добавляет атрибут для хранения начального подшипника каждого линейного объекта. Значения варьируются от 0 до 360, где 0 означает север, 90 восток, 180 юг, 270 запад и т. Д.