Excel-Tabelle mit Shapefile in ArcMap verbinden?

9

Ich habe ein Shapefile von LSOA (Lower Layer Super Output Areas) für England und Wales und eine Tabelle der Deprivationsindizes für jede der LSOAs in England. Ich möchte die Deprivationsdaten mit dem Shapefile verknüpfen, damit sie in ArcMap zugeordnet werden können. Ich habe versucht, die Tabelle über die Option Verbinden und Verwandte> Verbinden zu verbinden und die Felder für die LSOA-Daten für Shapefile und Tabellenkalkulation (die übereinstimmenden Daten) einzugeben. Die Attributtabelle hat die Datenfelder zur Attributtabelle aus der Excel-Tabelle hinzugefügt, aber alle Daten sind leer !!

Ich habe versucht, das Feld "Typ" zu betrachten, als ich gelesen habe, dass es zuvor ein Problem war, aber es scheint in Ordnung zu sein.

Gibt es etwas, das jemand vorschlagen kann?

dpc1989
quelle
Siehe den zugehörigen Thread unter gis.stackexchange.com/questions/12242/…
whuber
1
Exportieren Sie es in ein anderes Format, z. B. CSV, Access oder DBF. Excel ist für die Datenkonsistenz schrecklich - die Antwort von whuber auf diese verwandte Frage erklärt, warum.
blah238

Antworten:

5

Sind die Typen in Excel und ArcMap gleich (dh beide Ganzzahlen / beide Doppelwerte)? Möglicherweise müssen Sie die Excel-Datei auch in eine Datenbank oder CSV umwandeln, um sie zu verknüpfen (verwenden Sie einfach 'Speichern unter' in Excel, um den Dateityp zu ändern). Ich hatte in der Vergangenheit Probleme mit Excel-Dateien. Manchmal liegt dies auch daran, dass es sich um die XLSX-Datei (neuer Dateityp für das neue MS Office) und nicht um die XLS-Datei (die mit Arc funktionieren sollte) handelt.

Emily
quelle
Ich habe versucht, es als CSV zu speichern, aber es lässt mich nicht beitreten. Ich habe die Tabelle in eine Datenbank importiert, aber das wird nicht als eine der Dateien angezeigt, mit denen ich mich verbinden möchte! noch etwas?
dpc1989
Haben Sie die Datenbank an einer anderen Stelle geöffnet, während Sie versuchen, sie in Arc zu verbinden? Sie können es auch von seinem Speicherort auf Ihrem Computer auswählen. Vielleicht wird es einfach nicht richtig angezeigt?
Emily
Werden die Datenbanken auch nicht im Arc-Katalog angezeigt? Ich habe es über Access gemacht ... es sind nur Tabellenkalkulationen und ähnliches
dpc1989
Sie können den Join auch in ArcCatalogue durchführen und dabei Daves Standpunkt berücksichtigen. Sie würden die Funktion Join hinzufügen in der Toolbox verwenden (unter Datenverwaltung).
Emily
Entfernen Sie Leerzeichen und Sonderzeichen aus den Feldnamen
Brad Nesom
5

Nach meiner Erfahrung müssen Sie Ihrer Excel-Tabelle eine Objekt-ID hinzufügen, die jedem Beitrag eine eindeutige Nummer (Ganzzahl) gibt, bevor Sie den Join in ArcMap durchführen. Sie können das zusätzliche Feld hinzufügen und dann 1 in die erste Zeile, 2 in die nächste eingeben, dann die beiden Werte markieren und das Markup nach unten ziehen - dann füllt Excel die Lücken für Sie aus.

Steen Kjeldsen
quelle
4

Stellen Sie sicher, dass Dateinamen, Blattnamen oder Feldnamen keine Leerzeichen enthalten.

djq
quelle
4

Überprüfen Sie alle Ihre numerischen Felder auf versteckte Auffüllung. Excel kann sehr ungezogen sein, Nullen still anheften UND sie vor Ihnen verstecken. Ich habe dies mehrmals erlebt, zuletzt in einer Spalte mit FIPS-Codes für Zensus-Traktate. (Weiß jemand warum?)

Gehen Sie in eine leere Zelle und ziehen Sie mit LEFT ([cell], 1) die erste Ziffer von einem Wert, der nicht mit Null beginnen sollte. Drehen Sie es dann um und überprüfen Sie mit der Funktion RECHTS ([Zelle], 1) einen Wert, der nicht mit Null enden soll. Sie können die Trimmfunktionen von Excel verwenden, wenn Sie blinde Passagiere finden.

rec.thegeom
quelle
3

Stimmen die Felder, die Sie verbinden möchten, genau überein? Wenn die Zeilen in beiden Tabellen nicht in derselben Reihenfolge sind, erhalten Sie immer Leerzeichen.

Wenn Sie eine Kopie des Shapefiles erstellen und die Datenbank der Kopie in Excel öffnen, können Sie Ihre Daten in die Kopie einfügen und "Speichern unter" anwenden und Daten auf ein neues Shapefile überschreiben

Ghostfacemapper
quelle
2
"Wenn die Zeilen in beiden Tabellen nicht in derselben Reihenfolge sind" - ich glaube nicht, dass dies wahr ist. Die Zeilenposition hat nichts mit dem Verbinden zu tun. Ein Beispiel hierfür wäre eine Eins-zu-Viele-Verknüpfung, die mit einem Shapefile und einer Excel-Tabelle durchgeführt werden kann.
DJQ
Dies scheint mir jedes Mal zu passieren, wenn ich versuche, räumliche Daten mit nicht räumlichen Daten zu verbinden. Am Ende habe ich leere Datenfelder. Wenn ich die Zeilen passend sortiere, verbindet es sich perfekt. aber ich denke du hast recht celenius das sollte keine ideen passieren warum warum das passiert?
Ghostfacemapper
1
Sind Sie sicher, dass Sie übereinstimmende Datentypen haben? Zum Beispiel stimmen '1', die als Zeichenfolge gespeichert sind, und '1', die als Float gespeichert sind, nicht überein, selbst wenn der Feldname identisch ist. Ich denke, eine sichere Möglichkeit, eine Verbindung herzustellen, besteht darin, die Daten als CSV zu exportieren und sicherzustellen, dass in Dateinamen oder Feldnamen keine Leerzeichen enthalten sind und dass Ihre Datentypen übereinstimmen. Ich würde vorsichtig sein, wenn ich das Shapefile direkt bearbeite - ich denke, es könnte leicht schief gehen.
DJQ
danke celenius nächstes mal werde ich versuchen, einen join zu machen ich werde eine csv datei verwenden und sehen was passiert
ghostfacemapper
1

@ghostfacemapper Die Datensätze müssen nicht in derselben Reihenfolge sein. Überhaupt nicht wahr.

Wenn Sie nun eine Fehlermeldung erhalten, die besagt:

FEHLER 000339: Eingabe [IHR DATEINAME] hat keine OIDs, die nicht ausgeführt werden konnten (Verknüpfungsfeld).

Sie können das Problem beheben, indem Sie ein Objekt-ID-Feld hinzufügen, indem Sie mit arcGIS eine neue Tabelle mit einer Objekt-ID erstellen. Sie können dies tun, indem Sie Ihre Datei in das dBASE-Tabellenformat exportieren. Fügen Sie dazu die Datei (Tabelle) zu einer Karte hinzu. Sie können die Datei im Inhaltsverzeichnis auf der Registerkarte Liste nach Quelle anzeigen:

  1. Klicken Sie mit der rechten Maustaste auf die Tabelle
  2. Klicken Sie auf Daten
  3. Klicken Sie auf Exportieren
  4. Klicken Sie auf die Schaltfläche Durchsuchen
  5. Ändern Sie "Als Typ speichern" in "dBase-Tabelle".
  6. Gib ihm einen neuen Namen und Ort
  7. Klicken Sie auf Speichern
  8. Verwenden Sie die neue Datei, die Sie gerade für den Join erstellt haben
  9. finde jemanden zu High-Five!

JMers
quelle