Unire la tabella Excel al file di forma in ArcMap?


9

Ho uno shapefile di aree super output di livello inferiore (LSOA) per Inghilterra e Galles e ho un foglio di calcolo degli indici di privazione per ciascuno degli LSOA in Inghilterra. Voglio unire i dati di deprivazione allo shapefile in modo che possa essere mappato in ArcMap. Ho provato a unire la tabella tramite l'opzione Unisci e collega> Unisci e ho inserito i campi per i dati LSOA sia per il file di forma che per il foglio di calcolo (i dati corrispondenti). la tabella degli attributi ha aggiunto i campi di dati alla tabella degli attributi dal foglio di calcolo Excel ma tutti i dati sono vuoti !!

Ho provato a guardare il campo "tipo" come ho letto che è stato un problema prima, ma sembra essere OK.

C'è qualcosa che qualcuno può suggerire?


Vedi il thread correlato su gis.stackexchange.com/questions/12242/…
whuber

1
Esportalo in qualche altro formato, come CSV, Access o DBF. Excel è terribile per la coerenza dei dati: la risposta di Whuber a questa domanda correlata spiega perché.
blah238,

Risposte:



5

I tipi sono uguali (cioè entrambi i numeri interi / entrambi i doppi) sia in Excel che in ArcMap? Inoltre, potrebbe essere necessario trasformare il file Excel in un database o CSV per unirli (basta usare 'salva con nome' in Excel per cambiare il tipo di file). Ho avuto problemi con i file Excel in passato, a volte è anche perché è il .xlsx (nuovo tipo di file per il nuovo MS Office) piuttosto che .xls (che dovrebbe funzionare con Arc).


Ho provato a salvarlo come CSV ma non mi permette di unirmi a esso, ho importato la tabella in un database ma che non verrà visualizzato come uno dei file con cui unirmi! qualunque altra cosa?
dpc1989,

Il database è aperto altrove mentre si sta tentando di unirlo ad Arc? Inoltre puoi selezionarlo anche dalla sua posizione sul tuo computer, forse non viene visualizzato correttamente?
Emily,

i database non vengono visualizzati nel catalogo Arc neanche? lo ho fatto tramite Access ... sono solo fogli di calcolo e cose del genere
dpc1989

Inoltre puoi fare il join in ArcCatalogue, riflettendo sul punto di Dave. Dovresti utilizzare la funzione Aggiungi join nella casella degli strumenti (in Gestione dei dati).
Emily,

rimuovi spazi e caratteri speciali dai nomi dei campi
Brad Nesom,

5

Nella mia esperienza, è necessario aggiungere un objectID al foglio di calcolo di Excel, assegnando a ciascun post un numero univoco (intero) prima di effettuare il join in ArcMap. Puoi aggiungere il campo aggiuntivo e quindi iniziare a digitare 1 nella prima riga, 2 nella successiva, quindi contrassegnare i due valori e trascinare il markup verso il basso, quindi Excel riempie gli spazi vuoti per te.


4

Assicurarsi che non vi siano spazi nei nomi di file, nomi di foglio o campi.


4

Controlla tutti i campi numerici per il riempimento nascosto. Excel può essere molto cattivo, attaccare silenziosamente gli zeri E nasconderli da te. L'ho sperimentato in diverse occasioni, di recente in una colonna di codici FIPS del tratto di censimento. (Qualcuno sa perché?)

Entra in una cella vuota e tira la prima cifra da un valore che non dovrebbe iniziare con zero usando LEFT ([cell], 1). Quindi capovolgilo e verifica un valore che non deve terminare con zero utilizzando la funzione DESTRA ([cella], 1). È possibile utilizzare le funzioni di taglio di Excel se si trovano clandestini.


3

i campi a cui stai tentando di unirti corrispondono esattamente ?, se le righe non sono nello stesso ordine in entrambe le tabelle otterrai sempre spazi vuoti.

se fai una copia del file di forma e apri il dbf della copia in Excel puoi incollare i tuoi dati nella copia e applicare "salva con nome" e sovrascrivere i dati nel nuovo file di forma


2
"se le righe non sono nello stesso ordine in entrambe le tabelle" - Non credo sia vero. La posizione della riga non è correlata per l'unione; un esempio di questo sarebbe un join uno-a-molti che può essere fatto con un file di forma e una tabella di Excel.
DJ

questo sembra accadere per me ogni volta che provo a unire dati spaziali con dati non spaziali finisco con campi di dati vuoti. se ordino le righe in modo che corrispondano, allora si unisce perfettamente. ma penso che tu abbia ragione Celenius, questo non dovrebbe accadere alcuna idea del perché questo accada?
ghostfacemapper

1
Sei sicuro di avere tipi di dati corrispondenti? Ad esempio, "1" memorizzato come stringa e "1" memorizzati come float non coincideranno, anche se il nome del campo è lo stesso. Penso che un modo sicuro di unirsi sia esportare i dati come un CSV, assicurandomi che non ci siano spazi nei nomi dei file o dei nomi dei campi, assicurandomi che i tipi di dati corrispondano. Starei attento a modificare direttamente lo shapefile - penso che le cose potrebbero andare male abbastanza facilmente.
DJ

grazie celenius la prossima volta proverò a fare un join userò un file csv e vedrò cosa succede
ghostfacemapper

1

@ghostfacemapper i record non devono essere nello stesso ordine. Per niente vero.

Ora, se ricevi un errore che dice:

ERRORE 000339: input [YOUR FILE NAME] non ha eseguito OID non riusciti (campo Join).

È possibile risolvere il problema "aggiungendo" un campo objectID utilizzando arcGIS per creare una nuova tabella con un objectID. Puoi farlo esportando il tuo file nel formato tabella dBASE. Per fare ciò, aggiungi il file (tabella) a una mappa, sarai in grado di vedere il file nel sommario nella scheda Elenca per sorgente:

  1. tasto destro del mouse sulla tabella
  2. fai clic su Dati
  3. fai clic su Esporta
  4. fai clic sul pulsante Sfoglia
  5. modifica "Salva come tipo" in "Tabella dBase"
  6. dagli un nuovo nome e posizione
  7. fai clic su salva
  8. usa il nuovo file che hai appena creato per il join
  9. trova qualcuno con il cinque!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.