Gdzie jest narzędzie pomiaru kąta w ArcMap 10?
Nie mogę tego znaleźć.
Gdzie jest narzędzie pomiaru kąta w ArcMap 10?
Nie mogę tego znaleźć.
Odpowiedzi:
W ArcGIS 10.1 i nowszych istnieje narzędzie o nazwie COGO - znajdujące się na pasku narzędzi edytora / Więcej narzędzi do edycji / COGO. Na pasku narzędzi znajduje się przycisk o nazwie Raportowanie opisów COGO . To narzędzie do raportowania ma funkcję o nazwie „ Kąt między dwiema liniami ”, która zgłasza kąt między 3 punktami na linii.
To narzędzie skryptowe w języku Python załatwi sprawę. Aby go użyć, dodaj go jako narzędzie skryptowe, ustaw parametr na Zestaw cech - i ustaw jego schemat na klasę elementów liniowych. Ten skrypt powinien działać z wersją 10.0 i nowszą.
# 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"
Aby zmierzyć azymut od punktu za pomocą licencji Basic, możesz użyć narzędzi do edycji funkcji:
Utwórz fikcyjny plik kształtu z elementami liniowymi
Rozpocznij edycję sesji
Wybierz „Narzędzie liniowe”, aby rozpocząć tworzenie nowej funkcji
Kliknij lewym przyciskiem myszy punkt, od którego chcesz zmierzyć azymut
Kliknij prawym przyciskiem myszy punkt, w którym chcesz zmierzyć azymut (pojawi się wyskakujące menu kontekstowe)
Wybierz opcję „Kierunek ...”
Pole edycji, w którym należy ustawić kierunek, będzie miało bieżący azymut.
Wyjaśnia odpowiedź @ TVSIS . W ArcMap 10.3 użyj paska narzędzi COGO, wybierz Raport COGO (siódmy przycisk od lewej), a następnie wybierz „Opis COGO istniejącej operacji” (drugi od prawej: strzałka wskazująca środek linii). Następnie kliknij funkcję linii. Daje to kąt i długość we współrzędnych siatki (mapy) i ziemi (pomiary geodezyjne). Transformacja z siatki do ziemi jest przesunięciem kierunkowym ADD i dzieli się przez współczynnik odległości opcji edycji> Jednostki> okno dialogowe.
Jeśli użyjesz „Kierunku i odległości linii” (pierwszy przycisk po lewej stronie), wybierz interaktywnie punkty początkowe i końcowe linii. Kąt jest od punktu początkowego do punktu końcowego. Jednak odcinek linii może być rysowany w przeciwnym kierunku.
Za pomocą opcji Dodaj atrybuty geometrii w przyborniku Zarządzanie danymi \ Funkcje - możesz utworzyć łożysko liniowe - dodaje atrybut, aby przechowywać od początku do końca łożysko każdego elementu liniowego. Wartości mieszczą się w zakresie od 0 do 360, przy czym 0 oznacza północ, 90 wschód, 180 południe, 270 zachód i tak dalej.