Cómo cambiar la longitud del campo en QGIS

11

Tengo un shapefile que hice en QGIS 1.7.4. Uno de los campos es una Cadena de longitud 80. Me gustaría hacer que el campo acepte picaduras más largas, pero no puedo entender cómo cambiar su longitud. ¿Cómo hago esto?

Gracias.

Evan
fuente

Respuestas:

15

¡Aquí hay una solución que me sorprendió que funcionó!

Advertencia: primero haga una copia de seguridad. Este es un experimento, aunque funcionó para mí en este momento ...

abra el .dbf del archivo de forma particular usando la aplicación OpenOffice Calc. Cambie el valor de 80 a cualquier valor que desee. Por favor, vea la imagen a continuación. Lo sorprendente es que estas definiciones de campo no eran visibles en Excel ... ¡¡Ventaja de estar abierto !!

ingrese la descripción de la imagen aquí

vinayan
fuente
+1 - excelente truco pequeño. Siempre encontré esos números molestos en los DBF de Libre / Openoffice pero ahora veo el uso.
Simbamangu
1
En segundo lugar, lo uso mucho para la edición y el formateo rápidos y sucios de datos (especialmente cuando quiero usar las fórmulas de Cals), o cuando solo quiero unir algunos datos por ubicación y una vez más el nombre del campo se convierte en demasiado tiempo ... Solo recuerde: no vuelva a ordenar las filas sin alguna columna FID para reorganizarlas correctamente, o cada característica tendrá algunos datos de atributos incorrectos después.
SAnderka
Intenté esto, y corrompió los valores en las columnas posteriores. Sin embargo, es una idea inteligente.
Evan
2
Nunca he experimentado ninguna corrupción de datos hasta ahora. ¿Cambió accidentalmente los tipos de datos (C, por ejemplo, significa carácter, se explica más aquí: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Aunque Calc te advierte si intentas guardar un dbf con datos que no se ajustan al encabezado. Todavía no entiendo de qué manera se corrompen sus datos, eso podría significar algo ...
SAnderka
2
Y sobre la clasificación: la conexión entre los datos de entidades (polígonos, puntos, líneas) y los datos de los atributos parece hacerse por número de fila, si recurre a cualquier archivo de atributos en Calc y lo guarda, los atributos incorrectos se conectarán con su características (mezcladas, por así decirlo).
SAnderka
12

Que yo sepa, no puede alterar la longitud de los campos de shapefile en QGIS. Recomienda crear un nuevo campo:

  • Abrir tabla de atributos
  • Alternar edición en
  • Seleccione 'Nueva columna' y establezca el
    tipo en texto, y elija el ancho deseado

Si ya hay datos en el campo anterior, use la calculadora de campo para completar el nuevo campo:

  • Seleccione 'Calculadora de campo'
  • Marque 'Actualizar campo existente' y elija el nuevo campo
  • Haga doble clic en el nombre del campo anterior en 'Campos'
  • Presiona 'Aceptar' y no olvides guardar tus ediciones.
Scro
fuente
Buen método Al final de estos pasos, vaya al Administrador de tablas (un complemento) para eliminar el campo anterior y (si es necesario) cambie el nombre del nuevo campo.
IanS
4

Acabo de hacer esto en Excel. abra el dbf en Excel, haga clic con el botón derecho en el encabezado de la columna que desea cambiar y seleccione Ancho de columna. Cambie a la longitud que necesita, luego guárdelo como un dbf. Parecía funcionar bien para mí.

Darren
fuente
¿No se supone que el ancho de columna es el ancho de visualización de la columna?
vinayan
3
@Vinayan, la pregunta se refiere explícitamente a lo que puede contener el campo, no a cómo se muestra en QGIS. Excel usa el ancho de visualización de las columnas como una guía de qué tan ancho debe ser el campo cuando guarda el archivo, por lo que esta respuesta funciona. Para obtener detalles, visite quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Sin embargo, solo funciona en versiones anteriores de Excel. Lo último no escribirá archivos DBF que escuche :-(.
whuber
@whuber, eso es interesante ... nunca pondría ese tipo de funcionalidad (cambio de tamaño) en mis aplicaciones :-)
vinayan
0

Guía para cambiar el tamaño de columna para la tabla de atributos en QGIS

  1. Haga clic derecho en la capa vectorial y seleccione propiedades.
  2. Vaya a la pestaña del campo.
  3. Agregue una nueva columna (Este botón se encuentra en la esquina superior derecha. A. Asegúrese de hacer coincidir todos los datos con la columna que está tratando de ampliar. Excepto que la longitud cambie la longitud deseada.
  4. Seleccione el botón 'Calculadora de campo' (Este botón está en la esquina superior derecha).
  5. Marque la casilla 'Actualizar campo existente'
  6. Asegúrese de que 'Actualizar solo el campo seleccionado' no esté marcado.
  7. Elija un nuevo campo del menú justo al lado de las casillas de verificación
  8. Debajo del menú de campo, haga doble clic en el campo anterior.
  9. Presiona OK y guarda las ediciones
  10. * Vaya al complemento Table Manager a. PlugingsTableTable Manager
  11. Seleccionar y eliminar campo antiguo
  12. Cambie el nombre del nuevo campo al anterior.

* Deberá instalar el complemento de Table Manager.

YP-kun
fuente
0

La solución de Scro, explicada más detalladamente por YP-kun, simplemente funcionó para mí. Un cambio ahora con QGIS 3.4, no es necesario usar Table Manager para los pasos 10 y 11 de YP-kun (para eliminar la columna anterior). De hecho, Table Manager aparentemente ya no existe, ya que ahora no está disponible en Plugin Manager. Ahora, después de los pasos 1-9 de YP-kun, puede ir a Propiedades de capa para la capa (haga doble clic en la capa en el panel Capa o haga clic derecho sobre ella y haga clic en Propiedades)> Campos de origen> haga clic en el botón Editar> luego seleccione el campo anterior que desea eliminar> haga clic en el botón Eliminar campo> luego edite el botón nuevamente para cerrar la edición> guardar los cambios. Parece mucho por recorrer para cambiar la longitud de un solo campo en una sola capa, pero que así sea.

JJD
fuente