Nicht räumliche CSV-Datei mit räumlichen Daten (Shapefile) mithilfe von QGIS verbinden?

40

Ich habe eine CSV-Datei, die PLZ-Daten in einem Feld enthält, aber nicht räumlich ist, z. B. keine Ost- und Nordrichtung.

Ich habe ein Shapefile mit einer Postleitzahl in einem Feld und einigen zusätzlichen Daten.

Ich möchte der CSV mit dem Shapefile beitreten, das auf Attributen (Postleitzahlenfeldern) basiert. Ich weiß, dass ich dies in ArcMap tun kann, aber wie kann ich dasselbe in QGIS erreichen?

gisuser
quelle
Wie machst du das in Version 2.3.0-Master?
In Version 2.8 (und in einigen früheren Versionen auch) kann ich das nicht zum Laufen bringen. Es wurde versucht, eine Verknüpfung zu den Postleitzahlendaten in Großbritannien herzustellen. Bei Verwendung von mmqgis erhalte ich die Fehlermeldung "Keine Geometrie in der PLZ-Ebene" oder etwas sehr Ähnliches. Mit der QGIS-Join-Funktion erhalte ich einen Join der Daten, der CSV wurde jedoch keine Geometrie hinzugefügt. Sehr, sehr frustriert über dieses Problem.
Rostranimin
1
Hi @Rostranimin. Tun Sie es auf die richtige Weise, dh verbinden Sie die CSV-Daten mit den Shapefile-Daten aus dem Dialogfeld "Eigenschaften" des Shapefiles?
Stragu

Antworten:

28

Eine schnelle Möglichkeit besteht darin, das mmqgis-Plugin zu verwenden, das Ihre CSV-Datei anhand von Postleitzahlenfeldern mit dem Shapefile verknüpft

Bildbeschreibung hier eingeben

Mapperz
quelle
4
Guck mal! Es gibt mein
Nathan W
1
Gute Arbeit Nathan - benutze es oft, funktioniert gut.
Mapperz
1
Das funktioniert gut, genau das, was wir brauchten. Großes Dankeschön!
gisuser
Hallo, ich versuche das zu tun, aber ich erhalte die folgende Fehlermeldung Traceback (letzter Aufruf zuletzt): Datei "C: /Users/Juan/.qgis/python/plugins \ mmqgis \ mmqgis_dialogs.py", Zeile 65, im Dialekt browse_infiles = csv.Sniffer (). sniff (infile.read (1024)) Datei "C: \ PROGRA ~ 1 \ QUANTU ~ 1 \ apps \ Python25 \ lib \ csv.py", Zeile 160, in sniff raise Error, "Could Begrenzer nicht ermitteln "Fehler: Begrenzer konnte nicht ermittelt werden
@ Carlos: Welches Trennzeichen verwenden Sie in der CSV-Datei?
Underdunkel
39

In der kommenden Version von QGIS Version 1.7 ist eine Join-Funktion in die Ebeneneigenschaften integriert. Auch die Geschwindigkeit der Joins ist beeindruckend.

Schritte zum Beitritt:

  1. Öffnen Sie die CSV über das Symbol "Vektor öffnen".
  2. Öffnen Sie die Registerkarte Eigenschaften auf dem Layer, dem Sie beitreten möchten (Ihre Karte).
  3. Klicken Sie auf die Registerkarte Verbinden und drücken Sie die Taste +
  4. Wählen Sie die CSV-Ebene und die beiden Spalten aus, zu denen Sie beitreten möchten.
  5. Klicken Sie im Eigenschaftendialog auf OK.

Mach mit bei QGIS

Nathan W
quelle
Nett. Das Hinzufügen von CSV-Dateien über die Ebene "Vektor hinzufügen" ist jedoch nicht intuitiv. Ich wünschte, ich wüsste das früher.
RK
1
Vier Jahre später und dies funktioniert immer noch nicht so zuverlässig wie das MMQGIS-Plugin IME.
Camdenl
1
Dies war viel schneller als das MM-Plugin. Verwenden Sie zum Hinzufügen der
Beispiel:
0

Wenn Sie Ihre Daten in MS Access laden, können Sie mit ftools einer MS Access-Tabelle beitreten.

Sie starten das qgis Plugin-Installationsprogramm, aktivieren Repos von Drittanbietern und ftools wird verfügbar.

Verwenden Sie dann das Plug-in-Tool, indem Sie zu fTools> Datenverwaltungstools> Attribute verbinden wechseln

relima
quelle
Vielen Dank, ich möchte kein anderes Programm verwenden, um dorthin zu gelangen, aber ich werde es versuchen, wenn alles andere fehlschlägt.
gisuser
0

Das fTools-Plugin für die Arbeit mit Vektordaten bietet Ihnen auch die gleiche Option, um "Daten zu einem Attribut zusammenzufügen", auch wenn es nicht räumlich ist.

Archäogeek
quelle
Es scheint nur die räumlichen Daten als Zielebene zu verwenden. In diesem Fall möchte ich die Felder aus der räumlichen Ebene zur CSV hinzufügen. Danke für den Vorschlag.
gisuser