Suite

Création d'un fichier de formes à partir d'une table basée sur le champ « nom du comté », alors qu'il existe plusieurs comtés

Création d'un fichier de formes à partir d'une table basée sur le champ « nom du comté », alors qu'il existe plusieurs comtés


J'ai ArcGIS 10.1. J'essaie de créer un fichier de formes à partir d'une feuille Excel contenant des données au niveau du comté. Je ne peux pas joindre ces données basées sur le champ "comté" à un fichier de formes de comté car j'ai plusieurs enregistrements dans le même comté (le même comté est répété avec des informations différentes dans d'autres champs). J'ai essayé Join One to Many mais vous utilisez cet outil sur une feuille Excel. Toute suggestion?


Si cela ne vous dérange pas que plusieurs comtés soient liés aux différentes informations dupliquées que vous avez pour chaque comté dans vos données Excel…

  1. Convertissez vos données dans Excel dans un fichier csv (les feuilles Excel peuvent désormais être importées directement dans ArcGIS mais CSV a moins de problèmes).
  2. Importez votre table csv dans ArcGIS et joignez-la aux données de votre fichier de forme de comté. Faites du fichier de forme du comté une cible et de la table la jointure. Pour éviter toute confusion lors de la jointure, cochez la case (Conserver uniquement les enregistrements joints) qui ne conserve que les comtés joints.
  3. Alors que la table est toujours jointe au fichier de forme, cliquez avec le bouton droit sur le calque et exportez-le dans une nouvelle forme. Ceci est important car après l'avoir exporté dans un autre fichier de forme, vous pouvez obtenir votre fichier de formes joint 1:many.

Vérifiez le nombre d'entités dans votre fichier nouvellement exporté et voyez s'il correspond aux enregistrements de votre table. Supprimez la jointure sur votre fichier de formes de comté d'origine.


Si vous souhaitez créer plusieurs enregistrements pour chaque comté, et donc plusieurs points de comté, vous pouvez le faire en :

  1. Création d'une géodatabase
  2. Importez votre tableau Excel dans la GDB sous forme de tableau
  3. Importez vos données de comté en tant que classe d'entités
  4. Joindre les données de la table aux données du comté
  5. Exporter en tant que classe d'entités dans la GDB

Cela devrait créer plusieurs points pour chaque comté avec les données Excel.

Essayez le script suivant :

import os import arcpy folder = r"/path/to/folder" result = arcpy.CreateFileGDB_management(folder, "my_gdb") gdb = result.getOutput(0) arcpy.env.workspace = gdb excelfile = r"path/to/ excel/file" feuille = "sheet_name" table = arcpy.ExcelToTable_conversion(excelfile, "exceltable", feuille) counties_shapefile = r"chemin/vers/shapefile" fc = arcpy.FeatureClassToFeatureClass_conversion(counties_shapefile, gdb, "counties") temp_fl = arcpy .MakeFeatureLayer_management(fc, "temp_fl", "", "in_memory") arcpy.env.qualifiedFieldNames = False arcpy.AddJoin_management(temp_fl, "COMMON_FIELD", table, "COMMON_FIELD", "KEEP_COMMON") arcpy.env.qualifiedFieldNames arcpy.CopyFeatures_management(temp_fl, "counties_table_data")

Voir la vidéo: ArcGIS - Selection - Create layer from selected features - Export to new shapefile