Wo befindet sich das Winkelmesswerkzeug in ArcMap 10?
Ich kann es nicht finden.
Wo befindet sich das Winkelmesswerkzeug in ArcMap 10?
Ich kann es nicht finden.
Antworten:
In ArcGIS 10.1 und höher gibt es ein Tool namens COGO, das sich in der Editor-Symbolleiste / Weitere Bearbeitungswerkzeuge / COGO befindet. In der Symbolleiste befindet sich eine Schaltfläche mit dem Namen COGO-Beschreibungen melden . Dieses Berichterstellungstool verfügt über eine Funktion namens " Winkel zwischen zwei Linien ", die den Winkel zwischen 3 Punkten auf einer Linie meldet.
Dieses Python-Skript-Tool erledigt den Trick. Um es zu verwenden, fügen Sie es als Skriptwerkzeug hinzu, setzen Sie den Parameter auf Feature Set - und setzen Sie sein Schema auf eine Linien-Feature-Class. Dieses Skript sollte mit 10.0 und höher funktionieren.
# 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"
Um einen Azimut von einem Punkt mit nur einer Basislizenz aus zu messen, können Sie Tools zur Funktionsbearbeitung verwenden:
Erstellen Sie eine Dummy-Formdatei mit linearen Features
Starten Sie die Bearbeitungssitzung
Wählen Sie "Linienwerkzeug", um eine neue Funktion zu erstellen
Klicken Sie mit der linken Maustaste auf den Punkt, an dem Sie Ihren Azimut messen möchten
Klicken Sie mit der rechten Maustaste auf den Punkt, an dem Sie den Azimut messen möchten (das Kontext-Popup-Menü wird angezeigt).
Wählen Sie die Option "Richtung ..."
Das Bearbeitungsfeld, in das Sie die Richtung einfügen sollen, hat den aktuellen Azimut.
Klärt die Antwort von @TvsGIS . Wählen Sie in ArcMap 10.3 die COGO-Symbolleiste aus, wählen Sie COGO-Bericht (7. Schaltfläche von links) und dann "COGO-Beschreibung eines vorhandenen Features" (2. von rechts: Pfeil zeigt auf die Mitte einer Linie). Klicken Sie dann auf Linienfunktion. Dies gibt den Winkel und die Länge in den Koordinaten Gitter (Karte) und Boden (Vermessungsmessungen) an. Die Transformation vom Raster zum Boden ist der ADD-Richtungsversatz und wird durch den Abstandsfaktor des Dialogfelds Bearbeitungsoptionen> Einheiten> dividiert.
Wenn Sie "Richtung und Entfernung einer Linie" verwenden (1. Schaltfläche links), wählen Sie interaktiv Start- und Endpunkte der Linie aus. Der Winkel ist von Ihrem Startpunkt zu Ihrem Endpunkt. Das Liniensegment kann jedoch in die entgegengesetzte Richtung gezeichnet werden.
Mit Geometrieattribute hinzufügen in der Toolbox Datenverwaltung \ Features können Sie eine Linienpeilung erstellen. - Fügt ein Attribut hinzu, um die Anfang-zu-Ende-Peilung jedes Linien-Features zu speichern. Die Werte reichen von 0 bis 360, wobei 0 Nord, 90 Ost, 180 Süd, 270 West usw. bedeutet.