38 votos

¿Añadir datos de atributos al shapefile?

Puedo mostrar un shapefile en openlayers pero necesito añadir algunos datos de atributos.

Puedo abrir el archivo dbf en excel pero no hay opción de guardar como en excel el archivo actualizado como dbf.

¿Cuál es la mejor manera (o el mejor software) de añadir datos de atributos a mi shapefile?

0 votos

Volver a una versión anterior de Excel: MS eliminado ¡la capacidad de escribir archivos .dbf con su última versión! :-(

4 votos

Open office y Quattro Pro pueden editar y guardar archivos dbf, simplemente no borres filas o muevas cosas, de lo contrario el archivo de índice no permitirá que las cosas coincidan. Utiliza un gis comercial o de código abierto para estas tareas, la edición de los valores de las celdas no debería causar ningún problema

0 votos

¡¡¡Bueno!!! ¡¡¡Y yo que pensaba que mi pregunta era demasiado sencilla para este sitio!!! No he tenido la oportunidad de probar ninguna de las sugerencias porque de alguna manera destrocé mi geoservidor y los softwares de postgres ... :-( Así que una vez que tenga mi caja de linux de nuevo al 100% voy a comprobar todas las sugerencias Gracias por tomarse el tiempo para responder chris

30voto

Omar Kooheji Puntos 384

Utilizando QGIS puedes editar tu shapefile añadiendo nuevas columnas y valores. Sólo tienes que abrir el shapefile, ir a Propiedades>Atributos y añadir nuevas columnas.

En las nuevas versiones de QGIS (2.x), los 'Atributos' se llaman 'Campos'

0 votos

No pensé en usar QGIS porque en mi caja de Linux (Copiapo) se bloquea cuando hago clic en "Fetch python plugin". ¿Alguien sabe si hay una solución para esto? Mientras tanto intentaré añadir los atributos con una versión de widows.

0 votos

Podrías intentar depurar el problema de la forma que describe Richard aquí: osgeo-org.1803224.n2.nabble.com/

0 votos

QGIS le permite añadir nuevas columnas, pero rellenar la nueva columna con datos parece ser un punto de entrada - ¡realmente ineficiente! Sugiero usar R como en la respuesta de mdsummer más abajo.

25voto

sgwill Puntos 2444

Utilice R con el foreign para modificar el archivo DBF:

library(foreign)
dbfdata <- read.dbf("file.dbf", as.is = TRUE)
## add new attribute data (just the numbers 1 to the number of objects)
dbfdata$new.att <- 1:nrow(dbfdata)

## overwrite the file with this new copy
write.dbf(dbfdata, "file.dbf")

O leer los datos de la geometría y los atributos con la función rgdal (por lo que también podría modificar las relaciones y crear un shapefile completamente nuevo):

library(rgdal)
## read "/path/to/files/filename.shp"
shp <- readOGR("/path/to/files/", "filename")  

## add new attribute data (just the numbers 1 to the number of objects)
shp$new.att <- 1:nrow(shp)

## write out to a new shapefile
writeOGR(shp, "/path/to/files/", "filename2")

4voto

dariapra Puntos 1976

No recomiendo en absoluto el uso de OpenOffice -o una aplicación similar-. Darren Cope comentando una respuesta a la pregunta " Creación y manipulación de DBF sin excel 2003 ", dijo:

es que los shapefiles se molestan bastante si vas a editar el .dbf en un programa 'externo'

3 votos

Esto no es necesariamente cierto: he editado muchos shapefiles en OpenOffice y Excel sin problemas: sólo tienes que ser consciente de las limitaciones del formato (longitud de los nombres de las columnas, tipos de datos, etc.).

0 votos

@scw: ¿puedes dar algún enlace con información sobre las limitaciones del formato?

2 votos

Las restricciones específicas varían según el uso que haga el software del formato, pero las más sencillas son: Nombres de campo de 11 caracteres, sin caracteres especiales ni espacios en los nombres de campo, y ceñirse a los tipos de datos principales de los archivos DBF (no a cosas esotéricas como los campos "memo"). Para más detalles, consulte shapefile.py El API DBF de shapelib o este tomo en xbase .

4voto

He fusionado varios shapefiles utilizando MS Access. Necesitaba unir a la izquierda algunos datos de otro shapefile y funcionó bastante bien. También fue rápido. Sin embargo, supongo que no todo el mundo tiene este software

1 votos

Normalmente utilizo Access o alguna otra forma de SQL para manipular los datos. Me parece mucho más fácil ejecutar algunas consultas. Como se mencionó antes, sólo tienes que ver el cambio de formato de la base de datos real, esto es algo que se maneja mejor en el software SIG real.

2voto

Michael L Perry Puntos 2380

Alternativamente:

  1. abrir el dbf en MS Excel 2007/10
  2. Realiza tus cambios (añadiendo columnas, rellenando datos, etc.) y guarda como xls/xlsx
  3. Navegue hasta la ubicación de xls/xlsx en ArcCatalog, haga clic con el botón derecho del ratón en la hoja de cálculo y seleccione Exportar > A dBase (simple)
  4. Cambie el nombre del archivo dbf de salida según sea necesario

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X