français

Procédure : calculer la direction de ligne par lot à l’aide de la calculatrice de valeurs de champs

Résumé

Il est possible de calculer la direction de plusieurs entités linéaires à partir des coordonnées de leur point de début et de leur extrémité à l’aide de Field Calculator (Calculatrice de valeurs de champs) .

Procédure

Les instructions ci-après indiquent comment calculer la direction de ligne de plusieurs entités à l’aide d’un processus par lot.

  1. Dans la table attributaire des entités linéaires, ajoutez quatre nouveaux champs : START_X, START_Y, END_X et END_Y. Définissez le type de ces champs sur Double.
  2. Utilisez la fonction Calculate Geometry (Calculer la géométrie) pour calculer les coordonnées X et Y des positions de début et de fin de la ligne dans les quatre nouveaux champs.
  3. Ajoutez un autre nouveau champ dans la table attributaire et nommez-le NorthAzimu. Définissez le type de champ sur Double.
  4. Calculez le champ NorthAzimu avec l’expression Python : Reportez-vous au code et à l’image ci-dessous.
    90-math.degrees(math.atan2(( !END_Y! - !START_Y! ),( !END_X! - !START_X! )))

    User-added image
  5. Pour effectuer la conversion de North Azimuth vers Quadrant Bearing, ajoutez un autre nouveau champ : Quadrant ; définissez le type de données sur String (Chaîne).
  6. Calculez le champ Quadrant à l’aide du bloc de code Python indiqué ci-dessous. Consultez l’image et vérifiez que chaque élément mis en surbrillance est indiqué de manière appropriée dans la fenêtre Field Calculator (Calculatrice de valeurs de champs) avant d’exécuter le code.
    def quadrant(NorthAzimuth):
        if ((NorthAzimuth>=0) & (NorthAzimuth<90)): quad="N " +str(northazimuth)+"="" e"="" elif="" ((northazimuth="">=90) & (NorthAzimuth<180)): quad="S " +str(180-northazimuth)+"="" e"="" elif="" ((northazimuth="">=180) & (NorthAzimuth<270)): quad="S " +str(northazimuth-180)+"="" w"="" else:="" quad="N " +str(360-northazimuth)+"="" w"="" return="">

    User-added image

Informations associées