Modification du type de données dans la table attributaire ArcGIS?

9

Comment puis-je modifier le type de données dans une table attributaire dans ArcGIS pour plusieurs champs?

Par exemple, si les champs ont été exportés sous forme de chaîne à partir d'Excel et que je voudrais les utiliser comme valeurs numériques?

Geoffrey West
la source
1
Vous ne pouvez pas effectuer de table à table si les types de données ne correspondent pas. Je sais que j'ai essayé.
Sam
veuillez échapper au format et à la version de la source de données. (base de données ent, shapefile, filegdb, gdb personnelle?)
Brad Nesom
Travail @Brad avec shapefiles dans arcgis 10.2, la source de données est localement sur mon ordinateur
Luttant

Réponses:

3

Vous ne mentionnez pas la version d'ArcGIS for Desktop que vous utilisez ni l'emplacement de stockage de vos données, mais une page de modification des propriétés de champ décrit comment, à l'aide d'ArcGIS 10.2 (ou version ultérieure):

Certaines propriétés de champ peuvent être modifiées après la création de la table ou de la classe d'entités

... mais cela ne s'applique qu'aux champs vides.

Depuis 10.3, la fonctionnalité ci-dessus est également disponible via l' outil Alter Fields :

Renommez les champs et les alias de champs ou modifiez les propriétés des champs.

PolyGeo
la source
besoin de précision. depuis le 10.2.1
GeoStoneMarten
@GeoStoneMarten Modifier les champs à 10.2.1 semble être uniquement pour renommer les champs alors que ma réponse concerne la modification des types de données et je pense qu'elle reste valide. Cependant, la réponse de @Paul suggère qu'Alter Fields a étendu ses fonctionnalités pour inclure la modification des types de données à 10.3.
PolyGeo
Non seulement, mais oui s'il existe des données existantes ... Ok pour le reste
GeoStoneMarten
2

Vous pouvez modifier le type de données de champ pour les champs que vous avez dans votre classe d'entités. Cependant, vous ne pourrez pas convertir les champs de texte en numérique. Cependant, vous pouvez convertir vos champs numériques en chaînes. Jetez un œil à la page d'aide d'Esri . Ce n'est pas seulement pour la géodatabase d'entreprise, cela fonctionne bien même pour les géodatabases de bureau telles que la géodatabase fichier.

Si la table ou la classe d' entités se trouve dans une géodatabase d' entreprise, de groupe de travail ou de bureau , vous devez vous connecter en tant que propriétaire de la table pour modifier les propriétés de champ.

Étant donné que vous traitez avec Excel, la meilleure façon de vous assurer que vos types de données sont corrects consiste à définir les types de données des cellules directement dans Excel avant d'importer des données. Si vous avez cependant un champ de texte avec des nombres, vous pouvez bien sûr créer un nouveau champ de type numérique (entier ou double par exemple) et calculer les valeurs en fonction de ce champ de texte. Cela fonctionnera bien si vos nombres sont vraiment des nombres ("12" fonctionnera, mais "12-1" ne fonctionnera pas).

Alex Tereshenkov
la source
2

À ma connaissance, ce n'est pas possible. Dans 10.3, Alter Field a été développé pour permettre de modifier le type de champ; cependant, il ne fonctionne toujours que lorsque la table n'a aucun enregistrement.

Voici une approche pour ce faire:

  1. Ajouter un nouveau champ avec un nom temporaire et le type de données correct
  2. Utilisez Calculate Fieldou cursors(avec moulage, si nécessaire)
  3. Supprimer l'ancien champ
  4. Alter Field renommer le champ temporaire
  5. (Facultatif) Copiez le tableau avec des mappages de champs pour restaurer l'ordre d'origine

Je ne l'ai jamais étudié, mais le mappage de champs peut fonctionner pour convertir des champs en nouveaux types de données, ce qui simplifierait considérablement ce processus. Quelque chose à examiner à coup sûr ....

Paul
la source
1
J'ai l'habitude de renommer d'abord l'ancien champ. de cette façon, je peux-recréer le nouveau champ, calculer les valeurs, puis supprimer l'ancien champ.Lorsque vous commencez à calculer les valeurs, vous devrez peut-être sélectionner toutes les valeurs non nulles. et ou convertir / diviser toutes les valeurs de chaîne
Brad Nesom
1
aussi et tools a quelques fonctions gratuites qui seraient utiles. ian-ko.com Regardez les fonctions gratuites des géo-assistants.
Brad Nesom
@Brad J'ai étudié les fonctions gratuites, xtools a été utile mais je suis toujours ouvert à des options plus / meilleures. merci pour la contribution
Lutte
@BradNesom, bon point! Cela aurait beaucoup plus de sens.
Paul
1

Une autre manière consiste à ouvrir votre .dbffichier dans OpenOffice Calc (ou équivalent) et à modifier soigneusement les en-têtes de ses colonnes. Par exemple, changez le type de C(Caractère) en N(Numérique). Un conseil simple: sauvegardez votre fichier avant d'essayer.

Antonio Falciano
la source
1

Bien que vous ne puissiez pas modifier le nom du champ et le type de données dans l'ensemble de données lui-même, il est possible de créer une copie avec les modifications souhaitées à l'aide de l'outil ArcGIS "Classe d'entités en classe d'entités". Dans les paramètres, vous pouvez modifier les noms, les types de données et d'autres caractéristiques des champs.

Mark Verschuur
la source
1

Avant toute chose, il faut essayer de comprendre pourquoi ArcGIS importe un champ en tant que type de chaîne au lieu d'un type de données numérique / double. J'ai trouvé que même si votre cellule (dans Excel) est vide, si elle contient des "espaces" (comme lorsque vous appuyez sur la barre d'espace), ArcGIS les interprétera comme des caractères. Si vous les supprimez, vous verrez qu'ils seront désormais enregistrés sous forme de champs numériques.

user3109467
la source
0

Jetez un œil à ce document . Vous devez généralement vous assurer que les données sont au bon format avant et après l'importation.

"ArcGIS convertit généralement les champs numériques de la feuille de calcul en double précision (Double), ce qui peut ne pas répondre à vos besoins. Si nécessaire, créez de nouveaux champs du type souhaité et calculez-y des valeurs"

Barbarossa
la source
0

Si votre objectif est d' ajouter les données d'une table X à une autre table Y , mais que vous ne le pouvez pas car les types de données ne correspondent pas , vous pouvez également suivre ces étapes:

  1. Exporter les deux tables (.dbf)

  2. Ouvrez la table Y en excel.

  3. Ouvrez la table X dans Excel.

  4. Copiez et collez les données du tableau X dans le tableau Y en vous assurant que vous copiez uniquement les valeurs, pas le formulaire.

  5. Vous avez maintenant une nouvelle table contenant les données des deux tables, avec les types de données correspondants.

6.Importez ce tableau dans ArcMap

Sam
la source
0

Personne n'a mentionné la suite d'outils X-Ray pour ArcGIS. Faites simplement une recherche Google pour "X-Ray ArcGIS". Il existe plusieurs variantes pour chaque version et plate-forme ArcGIS (ArcCatalog, ArcMap). Voici une version. En voici un autre. Il prend en charge de nombreuses fonctions liées aux champs et aux domaines, notamment la modification du type de champ, du nom, de l'alias, des domaines, etc. dans MS Excel et le téléchargement des modifications dans la GDB.

John
la source