¿Unir archivos CSV no espaciales a datos espaciales (shapefile) usando QGIS?

40

Tengo un archivo CSV que tiene datos de código postal en un campo, pero no es espacial, por ejemplo, no Este y Norte.

Tengo un archivo de forma con código postal en un campo y algunos datos adicionales.

Quiero unirme al CSV con el shapefile basado en atributos (campos de código postal). Sé que puedo hacer esto en ArcMap, pero ¿cómo puedo lograr lo mismo en QGIS?

gisuser
fuente
¿Cómo se hace esto en la versión 2.3.0-Master?
En la versión 2.8 (y con algunas versiones anteriores también) no puedo hacer que esto funcione. Intentando unirse coincide con datos de código postal del Reino Unido. Usando mmqgis me sale un error "sin geometría en la capa de código postal" o algo muy similar. Usando la función de unión QGIS obtengo una unión de los datos pero no se agrega geometría al CSV. Muy, muy frustrado con este problema.
Rostranimin
1
Hola @Rostranimin ¿Lo está haciendo de la manera correcta, es decir, uniendo los datos CSV a los datos del archivo de forma, desde el cuadro de diálogo "Propiedades" del archivo de forma?
stragu

Respuestas:

28

Una forma rápida es usar el complemento mmqgis que unirá su archivo csv al archivo shape mediante campos de código postal

ingrese la descripción de la imagen aquí

Mapperz
fuente
44
¡Hey Mira! Ahí está mi plugin de navegador de archivos: D
Nathan W
1
Buen trabajo Nathan: lo he estado usando mucho, funciona bien.
Mapperz
1
Esto está funcionando bien, justo lo que necesitábamos. ¡Muchas gracias!
gisuser
hola, trato de hacer eso pero recibo el siguiente error Traceback (última llamada más reciente): Archivo "C: /Users/Juan/.qgis/python/plugins \ mmqgis \ mmqgis_dialogs.py", línea 65, en dialecto de archivos de navegación = csv.Sniffer (). sniff (infile.read (1024)) Archivo "C: \ PROGRA ~ 1 \ QUANTU ~ 1 \ apps \ Python25 \ lib \ csv.py", línea 160, en sniff raise Error, "Podría no determinar delimitador "Error: no se pudo determinar el delimitador
@Carlos: ¿Qué delimitador utiliza en el archivo CSV?
oscuro
39

La próxima versión de QGIS versión 1.7 tendrá una función de unión integrada en las propiedades de la capa. La velocidad de las uniones también es bastante impresionante.

Pasos para unirse:

  1. Abra csv a través del icono de vector abierto.
  2. Abra la pestaña de propiedades en la capa a la que desea unirse (su mapa)
  3. Haga clic en la pestaña Unirse y presione el botón +
  4. Seleccione la capa csv y las dos columnas a las que desea unir.
  5. Presiona ok en el cuadro de diálogo de propiedades.

Únete a QGIS

Nathan W
fuente
Agradable. Sin embargo, agregar archivos csv usando la capa Agregar Vector no es intuitivo. Ojalá supiera esto antes.
RK
1
Cuatro años después y esto todavía no funciona de manera tan confiable como el complemento MMQGIS IME.
camdenl
1
Esto fue mucho más rápido que el complemento MM. Para agregar la capa de datos, use capa -> agregar texto delimitado-> csv
Estadísticas de aprendizaje por ejemplo
0

Si carga sus datos en MS Access, ftools le permitirá unirse a una tabla de MS Access.

Inicia qgis plugin installer, habilita repositorios de terceros y ftools estará disponible.

luego use la herramienta de complemento yendo a fTools> Herramientas de administración de datos> Atributos de unión

relima
fuente
Gracias, no quiero usar otro programa para llegar allí, pero intentaré esto si todo lo demás falla.
gisuser
0

El complemento fTools para trabajar con datos vectoriales también le dará la misma opción para "unir datos en un atributo" incluso si no es espacial.

Archaeogeek
fuente
Solo parece usar los datos espaciales como la capa objetivo, en este caso me gustaría agregar los campos de la capa espacial al csv. Gracias por la sugerencia.
gisuser