Rejoindre des tables sans perdre les noms de champs d'origine dans ArcGIS for Desktop?

11

Je me demande s'il existe une méthode pour conserver les noms de champs d'origine dans ArcGIS lorsque je rejoins csv. tables à un Shapefile.

Je demande, parce que parfois je joint des tables avec 10, 20 ou même plus de colonnes et lors de l'exportation des données jointes, ArcGIS les renomme toujours en fonction du nom de la table d'origine et de l'ordre de la colonne (par exemple table_xy_1, table_xy_2, etc.).

Puisqu'il n'y a pas de moyen facile de renommer les champs de la table attributaire de façon permanente (c'est-à-dire que vous devez créer une nouvelle colonne et copier l'ancienne dans cette nouvelle colonne ET supprimer l'ancienne colonne), cela crée un tas de travail (malgré le fait que vous devez vous orienter dans ce gâchis de noms de champs).

Dspanes
la source
1
Pourriez-vous mettre une capture d'écran de ce qui se passe? Lorsque j'ajoute un csv, il prend la première ligne comme nom de champ et les affiche lorsque vous ouvrez la table. Il semble que vous n'ayez pas de noms valides dans votre csv ou que vous ayez des noms de champ en double entre l'original et la table de jointure. Quoi qu'il en soit, un graphique aiderait à illustrer plus clairement votre problème.
Obtenez
Hey. ce problème se produit uniquement lorsque vous exportez les données vers un nouveau fichier de formes. Au sein de l'ancien, ça va toujours. J'ai édité la question pour qu'elle soit parfaitement compréhensible
Dspanes
Notez que vous pouvez désormais utiliser Alter Fields pour "Renommer les champs et les alias de champs" dans n'importe quelle classe ou table d'entités de géodatabase.
PolyGeo

Réponses:

21

Je pense que ce que vous essayez peut-être de faire, ce n'est PAS d'utiliser des "noms de table complets".

Pour ce faire, dans Paramètres d'environnement -> Paramètres généraux, décochez "Conserver le nom complet".

Jetez un œil à ce forum de support Esri et à cet article d'aide en ligne .

Notez que cela fonctionnera lors de la jonction de fichiers DBF mais pas lors de la jonction de CSV. (Pour contourner ce problème, vous pouvez convertir des fichiers CSV en DBF, puis les rejoindre.)

RyanKDalton
la source
merci pour votre conseil Ryan. je viens de vérifier les informations recommandées et en théorie cela devrait résoudre mon problème oui. J'ai donc désactivé cette option dans ArcGIS et j'ai également enregistré cette option non cochée par défaut. Mais pour une raison quelconque, lorsque j'exporte mes données, cela ne fonctionne tout simplement pas. ArcGIS exporte toujours les données sous la forme: tableName.fieldName. Dans mon cas, la sortie est quelque chose comme ça Rural_I_1, Rural_I_2, Rural_I_3 et ainsi de suite ... Cela peut être un bogue puisque j'utilise ArcGIS 10.1 ... Je ne sais pas. Une solution de contournement consiste à donner à la table un nom très court comme "1", de sorte que l'avant-poste est "1_csv_su" et je sais que su signifie sugercane
Dspanes
Je pense que cela se résume aux problèmes de base liés à l'utilisation du format de fichier de formes dans ArcGIS. Certaines de ces limitations impliquent par exemple les 10 limites de nombre pour les noms de champs (voir gis.stackexchange.com/questions/15784/… ) ou l'impossibilité d'exporter les alias de champ ( ideas.arcgis.com/ideaView?id=087300000008DwdAAE ). Cela m'amène à la conclusion qu'il est préférable de travailler sur des tables en dehors d'ArcGIS.
Dspanes
3
@Johannes, Avant de travailler sur vos données en dehors d'ArcGIS, pourquoi ne pas essayer de convertir vos données dans un format de base de données plus moderne pris en charge par ArcGIS comme un fichier géodatabsae, ou même une géodatabase personnelle. Au moins, vous saurez alors qu'il s'agit d'une limitation de fichier de formes et non d'une limitation / problème / bogue d'arc.
RyanKDalton
2

J'ai résolu ce problème pour un cas particulier. J'avais joint un fichier .csv à un fichier .shp et exporté les données. J'obtenais le problème Rural_I_1 décrit ci-dessus ... il ajoutait le nom de fichier du .csv aux noms de champ.

Mon travail a consisté à exporter d'abord le fichier .csv en tant que table .dbf (depuis arcgis). Effectuez ensuite la jointure sur le .dbf plutôt que sur le .csv. Lorsque vous exportez les données maintenant, vous obtiendrez simplement les noms de champ d'origine, sans le nom de fichier ajouté.

user24029
la source
1

En supposant que vous avez des coordonnées (lat, long) dans la table attributaire (sinon créez-les en utilisant le calcul de la géométrie) ...

  • Ouvrez la table attributaire du fichier de formes auquel était associé un fichier csv et copiez tous les enregistrements (sélectionnez tout et cliquez avec le bouton droit sur la petite flèche noire dans la première colonne, première ligne (sous le nom des champs dans le coin supérieur gauche).
  • Ouvrez un livre Excel, collez les résultats.
  • Enregistrer en tant que nouveau .csv.
  • Importez ce csv dans ArcMap et les noms de champs seront corrects
ChrisGIS
la source