Rejoindre un tableau Excel pour un fichier de formes dans ArcMap?

9

J'ai un fichier de formes de super zones de sortie superflues (LSOA) pour l'Angleterre et le Pays de Galles et j'ai un tableur des indices de privation pour chacun des LSOA en Angleterre. Je souhaite joindre les données de privation au fichier de formes afin qu'elles puissent être mappées dans ArcMap. J'ai essayé de joindre la table via l'option Join and Relates> Join et j'ai mis les champs pour les données LSOA pour le fichier de formes et la feuille de calcul (les données qui correspondent). la table attributaire a ajouté les champs de données à la table attributaire de la feuille de calcul Excel mais toutes les données sont vides !!

J'ai essayé de regarder le champ "type" en lisant ive que c'était un problème auparavant mais il semble être OK.

Y a-t-il quelque chose que quelqu'un puisse suggérer?

dpc1989
la source
Voir le fil connexe à gis.stackexchange.com/questions/12242/…
whuber
1
Exportez-le dans un autre format, tel que CSV, Access ou DBF. Excel est terrible pour la cohérence des données - la réponse de Whuber à cette question connexe explique pourquoi.
blah238

Réponses:

5

Les types sont-ils les mêmes (c'est-à-dire les deux entiers / les deux doubles) à la fois dans Excel et ArcMap? Vous devrez peut-être également transformer le fichier Excel en une base de données ou CSV afin de les rejoindre (utilisez simplement `` enregistrer sous '' dans Excel pour changer le type de fichier). J'ai eu des problèmes avec les fichiers Excel dans le passé, parfois c'est aussi parce que c'est le .xlsx (nouveau type de fichier pour le nouveau MS Office) plutôt que .xls (qui devrait fonctionner avec Arc).

Emilie
la source
J'ai essayé de l'enregistrer en tant que CSV mais cela ne me permet pas de le rejoindre, j'ai importé la table dans une base de données mais cela n'apparaîtra pas comme l'un des fichiers à rejoindre! rien d'autre?
dpc1989
La base de données est-elle ouverte ailleurs pendant que vous essayez de la rejoindre dans Arc? Vous pouvez également le sélectionner à partir de son emplacement sur votre ordinateur, peut-être qu'il ne s'affiche tout simplement pas correctement?
Emily
les bases de données n'apparaissent pas non plus dans le catalogue Arc? ive l'a fait via Access ... c'est juste des feuilles de calcul et des trucs comme ça
dpc1989
Vous pouvez également faire la jointure dans ArcCatalogue, en réfléchissant au point de Dave. Vous utiliseriez la fonction Ajouter une jointure dans la boîte à outils (sous Gestion des données).
Emily
supprimer les espaces et les caractères spéciaux des noms de champ
Brad Nesom
5

D'après mon expérience, vous devez ajouter un objectID à votre feuille de calcul Excel, en donnant à chaque publication un numéro unique (entier) avant de faire la jointure dans ArcMap. Vous pouvez ajouter le champ supplémentaire, puis commencer à taper 1 dans la première ligne, 2 dans la suivante, puis marquer les deux valeurs et faire glisser le balisage vers le bas - puis Excel remplit les blancs pour vous.

Steen Kjeldsen
la source
4

Assurez-vous qu'il n'y a pas d'espace dans les noms de fichiers, les noms de feuilles ou les noms de champs.

djq
la source
4

Vérifiez tous vos champs numériques pour un remplissage masqué. Excel peut être très méchant, clouer silencieusement les zéros ET vous les cacher. Je l'ai vécu à plusieurs reprises, plus récemment dans une colonne de codes FIPS des secteurs de recensement. (Quelqu'un sait pourquoi?)

Entrez dans une cellule vide et tirez le premier chiffre d'une valeur qui ne doit pas commencer par zéro en utilisant GAUCHE ([cellule], 1). Ensuite, retournez-le et vérifiez une valeur qui ne doit pas se terminer par zéro à l'aide de la fonction DROITE ([cellule], 1). Vous pouvez utiliser les fonctions de découpage d'Excel si vous trouvez des passagers clandestins.

rec.thegeom
la source
3

les champs que vous essayez de joindre correspondent-ils exactement?, si les lignes ne sont pas dans le même ordre dans les deux tables, vous obtiendrez toujours des espaces vides.

si vous faites une copie du fichier de formes et ouvrez le dbf de la copie dans Excel, vous pouvez coller vos données dans la copie et appliquer "enregistrer sous" et écraser les données dans le nouveau fichier de formes

ghostfacemapper
la source
2
"si les lignes ne sont pas dans le même ordre dans les deux tableaux" - je ne crois pas que ce soit vrai. La position de la ligne n'est pas liée à la jonction; un exemple de ceci serait une jointure un-à-plusieurs qui peut être effectuée avec un fichier de formes et une table Excel.
djq
cela semble se produire pour moi chaque fois que j'essaie de joindre des données spatiales à des données non spatiales, je me retrouve avec des champs de données vides. si je trie les lignes pour qu'elles correspondent, elles se rejoignent parfaitement. mais je pense que vous avez raison celenius cela ne devrait pas arriver aucune idée pourquoi cela se produit?
ghostfacemapper
1
Êtes-vous sûr d'avoir des types de données correspondants? Par exemple, «1» stocké sous forme de chaîne et «1» stocké sous forme de flottant ne correspondront pas, même si le nom du champ est le même. Je pense qu'un moyen sûr de rejoindre est d'exporter les données au format csv, en s'assurant qu'il n'y a pas d'espaces dans les noms de fichiers ou de champs, en s'assurant que vos types de données correspondent. Je ferais attention à ne pas éditer directement le fichier de formes - je pense que les choses pourraient mal tourner assez facilement.
djq
merci celenius la prochaine fois que j'essaierai de faire une jointure j'utiliserai un fichier csv et verrai ce qui se passe
ghostfacemapper
1

@ghostfacemapper les enregistrements n'ont pas besoin d'être dans le même ordre. Pas vrai du tout.

Maintenant, si vous obtenez une erreur qui dit:

ERREUR 000339: L'entrée [VOTRE NOM DE FICHIER] n'a pas d'OID à exécuter (champ de jointure).

Vous pouvez résoudre le problème en «ajoutant» un champ objectID en utilisant arcGIS pour créer une nouvelle table qui a un objectID. Vous pouvez le faire en exportant votre fichier au format de table dBASE. Pour ce faire, ajoutez le fichier (tableau) à une carte, vous pourrez voir le fichier dans la table des matières sous l'onglet Liste par source:

  1. clic droit sur le tableau
  2. cliquez sur Données
  3. cliquez sur Exporter
  4. cliquez sur le bouton Parcourir
  5. changer le "Save as Type" en "dBase Table"
  6. lui donner un nouveau nom et un nouvel emplacement
  7. cliquez sur enregistrer
  8. utiliser le nouveau fichier que vous venez de créer pour la jointure
  9. trouver quelqu'un à high-five!

JMers
la source