Où se trouve l'outil de mesure d'angle dans ArcMap 10?
Je n'arrive pas à le trouver.
Où se trouve l'outil de mesure d'angle dans ArcMap 10?
Je n'arrive pas à le trouver.
Réponses:
Dans ArcGIS 10.1 et versions ultérieures, il existe un outil appelé COGO - situé dans la barre d'outils Editeur / Autres outils d'édition / COGO. Sur la barre d'outils, il y a un bouton appelé Reporting COGO descriptions . Cet outil de création de rapports a une fonction appelée " Angle entre deux lignes " qui rapporte l'angle entre 3 points sur une ligne.
Cet outil de script Python fera l'affaire. Pour l'utiliser, ajoutez-le comme outil de script, définissez le paramètre sur Feature Set - et définissez son schéma sur une classe d'entités linéaires. Ce script devrait fonctionner avec 10.0 et versions ultérieures.
# 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"
Pour mesurer un azimut à partir d'un point avec seulement une licence de base, vous pouvez utiliser des outils d'édition de fonctionnalités:
Créer un fichier de forme factice avec des fonctions linéaires
Lancer la session d'édition
Sélectionnez "Outil Ligne" pour commencer à créer une nouvelle fonction
Faites un clic gauche sur le point à partir duquel vous souhaitez mesurer votre azimut
Cliquez avec le bouton droit sur le point auquel vous souhaitez mesurer l'azimut (le menu contextuel apparaîtra)
Sélectionnez l'option "Direction ..."
La zone d'édition où vous êtes censé mettre dans la direction aura l'azimut actuel.
Clarifie la réponse de @TvsGIS . Dans ArcMap 10.3, utilisez la barre d'outils COGO, sélectionnez Rapport COGO (7ème bouton de gauche) puis sélectionnez "Description COGO d'une entité existante" (2ème à partir de la droite: flèche pointant vers le milieu d'une ligne). Cliquez ensuite sur la fonction en ligne. Cela donne l'angle et la longueur en coordonnées Grille (Carte) et Sol (mesures de levé). La transformation de la grille au sol est le décalage de direction ADD et divisée par le facteur de distance des options d'édition> Unités>.
Si vous utilisez "Direction et distance d'une ligne" (1er bouton à gauche), sélectionnez interactivement les points de début et de fin de la ligne. L'angle est de votre point de départ à votre point d'arrivée. Cependant, le segment de ligne peut être tracé dans la direction opposée.
Avec Ajouter des attributs de géométrie dans la boîte à outils Gestion des données \ Fonctions - vous pouvez créer un relèvement de ligne - Ajoute un attribut pour stocker le relèvement de bout en bout de chaque entité de ligne. Les valeurs vont de 0 à 360, 0 signifiant nord, 90 est, 180 sud, 270 ouest, etc.