Convertir la notation de coordonnées (Gestion des données)
Récapitulatif
Convertit des notations de coordonnées représentant des emplacements d'un format vers un autre.
Utilisation
La table en entrée peut représenter un fichier texte ou toute table prise en charge par ArcGIS.
La sortie est une classe d'entités ponctuelles dans laquelle chaque emplacement en entrée présentant une notation valide est représenté par un point. Les enregistrements qui présentent des notations non valides ne comportent aucune géométrie et les champs en sortie ajoutés sont vides.
Les ID des enregistrements comportant des notations non valides dont la conversion est impossible sont répertoriés dans un fichier texte appelé ConvertCoordinateNotation<x>.log (<x> étant un numéro arbitraire). Le fichier est stocké dans le dossier Temp. Par exemple, dans Windows 7, le répertoire est le suivant : Users\<utilisateur>\AppData\Local\Temp. Sur les systèmes UNIX, le fichier se trouve dans le répertoire d'accueil de l'utilisateur, sous $TMP.
Les formats suivants sont pris en charge :
- Degrés décimaux (DD)
- Degrés Minutes Décimales (DDM)
- Degrés Minutes Secondes (DMS)
- Global Area Reference System (GARS)
- GEOREF (World Geographic Reference System)
- Universal Transverse Mercator (UTM)
- United States National Grid (USNG)
- Military Grid Reference System (MGRS)
Vous pouvez utiliser un format quelconque en entrée ou en sortie. Par exemple, vous pouvez utiliser DMS comme format en entrée et en sortie pour convertir des valeurs et obtenir une classe d'entités ponctuelles pour les emplacements.
DD_1, DDM_1 et DMS_1 nécessitent deux valeurs pour représenter un emplacement : une pour la latitude et l'autre pour la longitude. Les deux valeurs sont concaténées dans une chaîne unique, puis stockées dans un champ.
Pour DD_2, DDM_2 et DMS_2, les valeurs de latitude et de longitude sont représentées par deux champs distincts.
GARS, GEOREF, UTM, USNG et MGRS sont des formats de coordonnées à chaîne simple, ce qui signifie que les coordonnées sont contenues dans un seul champ.
Consultez la description du paramètre Format de coordonnées en entrée pour plus d'informations.
Tous les champs non-système provenant de la table en entrée, y compris les champs de format en entrée, sont transférés vers la classe d'entités points en sortie.
Les noms des champs en sortie correspondent au nom de la notation des coordonnées en sortie. Par exemple, si le format en sortie est MGRS, le nouveau nom de champ en sortie est MGRS.
Si un champ portant le même nom que le champ en entrée existe déjà dans la sortie, le nom du champ copié est ajouté avec un numéro unique.
L'outil Ajouter les coordonnées XY permet d'ajouter les champs POINT_X et POINT_Y à la classe d'entités ponctuelles en sortie. Ces champs contiennent les coordonnées d'un point dans l'unité du système de coordonnées de la classe d'entités.
Syntaxe
Paramètre | Explication | Type de données |
in_table |
Table qui contient les champs des notations de coordonnées à convertir. | Table View |
out_featureclass |
Classe d'entités ponctuelles en sortie. La table attributaire contiendra tous les champs de la table en entrée, ainsi que les champs contenant les valeurs converties dans le format en sortie. | Feature Class |
x_field |
Champ de la table en entrée qui contient la valeur de longitude. Pour les formats DD_2, DDM_2 et DMS_2, il s'agit du champ de longitude. Pour DD_1, DDM_1, DMS_1, GARS, GEOREF, UTM, USNG et MGRS, c'est le champ qui contient la latitude et la longitude. | Field |
y_field |
Champ de la table en entrée qui contient la valeur de latitude. Pour DD_2, DDM_2 et DMS_2, il s'agit du champ de latitude. Ce paramètre est ignoré pour DD_1, DDM_1, DMS_1, GARS, GEOREF, UTM, USNG et MGRS. | Field |
input_coordinate_format |
Format de coordonnées des champs en entrée. La valeur par défaut est DD_2.
DD, DDM et DMS sont également des mots-clés valides. Vous pouvez les entrer dans une boîte de dialogue ou indiquer la valeur dans un script. Toutefois, les mots-clés comprenant des traits de soulignement indiquent que les valeurs proviennent d'un champ ou de deux champs. | String |
output_coordinate_format |
Format de coordonnées vers lequel les notations en entrée sont converties. La valeur par défaut est DD_2.
DD, DDM et DMS sont également des mots-clés valides. Vous pouvez les entrer dans une boîte de dialogue ou indiquer la valeur dans un script. Toutefois, les mots-clés comprenant des traits de soulignement indiquent que les valeurs proviennent d'un champ ou de deux champs. | String |
id_field (Facultatif) |
Champ quelconque de la table en entrée. Le champ sélectionné est copié dans la table en sortie. Si les valeurs de ce champ sont uniques, il permet de joindre à nouveau les enregistrements en sortie vers la table en entrée. | Field |
spatial_reference (Facultatif) |
Référence spatiale de la classe d'entités ponctuelles en sortie. La valeur par défaut est GCS_WGS_1984. Si la sortie présente un système de coordonnées différent de celui de l'entrée, l'outil projette les données. Si l'entrée et la sortie se trouvent dans un datum différent, une transformation par défaut est calculée en fonction des systèmes de coordonnées de l'entrée et de la sortie, puis de l'étendue des données. | Spatial Reference |
Exemple de code
Utilisation de l'outil ConvertCoordinateNotation avec un champ de format en entrée.
#Imports
import arcpy
#Locals
in_tab = r"c:\workspace\inmed.gdb\loc_mgrs"
out_pts = r"c:\workspace\inmed.gdb\loc_final"
#Convert Coordinate Notation with MGRS as input field.
arcpy.ConvertCoordinateNotation_management(in_tab,out_pts,"m10d","#","MGRS","DD_1")
Utilisation de l'outil ConvertCoordinateNotation avec deux champs de format en entrée.
# imports
import arcpy
arcpy.env.workspace = r"c:\data\mtf.gdb"
# set parameter values
input_table = 'rit_up_DD'
output_points = 'ritLOC'
x_field = 'LON'
y_field = 'LAT'
input_format = 'DD_2'
output_format = 'GARS'
id_field = 'CITY_NAME'
spatial_ref = arcpy.SpatialReference('WGS 1984')
try:
arcpy.ConvertCoordinateNotation_management(input_table, output_points, x_field, y_field,
input_format, output_format, id_field, spatial_ref)
print(arcpy.GetMessages(0))
except arcpy.ExecuteError:
print(arcpy.GetMessages(2))
except Exception as ex:
print(ex.args[0])