Come modificare la lunghezza del campo in QGIS


11

Ho uno shapefile che ho creato in QGIS 1.7.4. Uno dei campi è una stringa di lunghezza 80. Vorrei che il campo accettasse punture più lunghe, ma non riesco a capire come modificarne la lunghezza. Come faccio a fare questo?

Grazie.

Risposte:


15

Ecco una soluzione che mi ha sorpreso che ha funzionato !!!

Attenzione: prima fai un backup. Questo è un esperimento, anche se ha funzionato per me proprio ora.

apri il .dbf del particolare file di forma usando l'applicazione OpenOffice Calc. Cambia il valore da 80 a qualunque valore tu voglia. Si prega di vedere l'immagine qui sotto. La cosa sorprendente è che queste definizioni dei campi non erano visibili in Excel ... Il vantaggio di essere aperti !!

inserisci qui la descrizione dell'immagine


+1 - piccolo trucco eccellente. Ho sempre trovato quei numeri fastidiosi nei DBF di Libre / Openoffice ma ora ne vedo l'uso.
Simbamangu,

1
In secondo luogo, lo uso abbastanza per la modifica e la formulazione di dati veloci e sporchi (specialmente quando voglio usare le formule di Cals), o quando voglio solo unire alcuni dati per posizione e ancora una volta il nome del campo diventa troppo a lungo ... Ricorda: non riordinare le righe senza una colonna FID per riorganizzarle correttamente, altrimenti ogni funzione avrà in seguito alcuni dati di attributo errati.
SAnderka,

Ho provato questo e ha corrotto i valori nelle colonne successive. È un'idea intelligente, però.
Evan,

2
Finora non ho mai subito alcun danneggiamento dei dati. Hai accidentalmente modificato i tipi di dati (C, ad esempio, sta per carattere, più è spiegato qui: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Sebbene Calc ti avvisa se provi a salvare un dbf con dati al suo interno che non si adattano all'intestazione. Ancora non capisco bene in che modo i tuoi dati
vengano

2
E riguardo all'ordinamento: la connessione tra i dati delle caratteristiche (poligoni, punti, linee) e i dati degli attributi sembra essere stabilita dal numero di riga, se si ricorre a un file di attributi in Calc e lo si salva, gli attributi errati verranno collegati al proprio caratteristiche (confuse, per così dire).
Sanderka,

12

Per quanto ne so, non è possibile modificare la lunghezza dei campi dello shapefile in QGIS. Consiglia di creare un nuovo campo:

  • Apri la tabella degli attributi
  • Attiva la modifica
  • Seleziona "Nuova colonna" e imposta il
    tipo su testo, quindi scegli la larghezza desiderata

Se sono già presenti dati nel vecchio campo, utilizzare il calcolatore di campi per popolare il nuovo campo:

  • Seleziona 'Field Calculator'
  • Spuntare "Aggiorna campo esistente" e selezionare il nuovo campo
  • Fai doppio clic sul vecchio nome del campo in "Campi"
  • Premi "OK" e non dimenticare di salvare le modifiche.

Buon metodo. Alla fine di questi passaggi, vai in Gestione tabelle (un plug-in) per eliminare il vecchio campo e (se necessario) rinominare il nuovo campo.
IanS,

4

L'ho appena fatto in Excel. apri il dbf in Excel, fai clic con il pulsante destro del mouse sull'intestazione della colonna che desideri modificare e seleziona Larghezza colonna. Modificare la lunghezza necessaria, quindi salvare come dbf. Sembrava funzionare bene per me.


la larghezza della colonna non dovrebbe essere la larghezza di visualizzazione della colonna?
Vinayan,

3
@Vinayan, la domanda si riferisce esplicitamente a ciò che il campo può contenere, non a come viene visualizzato in QGIS. Excel utilizza l'ampiezza di visualizzazione delle colonne come guida per la larghezza del campo quando salva il file, motivo per cui funziona questa risposta. Per i dettagli, visitare quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Tuttavia, funziona solo nelle versioni precedenti di Excel. L'ultimo non scriverà i file DBF che sento :-(.
whuber

@whuber, questo è interessante..non metterei mai quel tipo di funzionalità (ridimensionamento) nelle mie applicazioni :-)
vinayan,

0

Guida alla modifica delle dimensioni della colonna per la tabella degli attributi in QGIS

  1. Fare clic con il tasto destro sul layer vettoriale e selezionare Proprietà.
  2. Vai alla scheda del campo.
  3. Aggiungi una nuova colonna (Questo pulsante si trova nell'angolo in alto a destra. A. Assicurati di far corrispondere tutti i dati come la colonna che stai cercando, cercando di allargare. Tranne la modifica della lunghezza che corrisponde alla lunghezza desiderata.
  4. Seleziona il pulsante "Field Calculator" (Questo pulsante si trova nell'angolo in alto a destra.)
  5. Controlla il 'Aggiorna campo esistente'
  6. Assicurati che "Aggiorna solo campo selezionato" sia deselezionato.
  7. Scegli un nuovo campo dal menu accanto alle caselle di controllo
  8. Nel menu Campo fai doppio clic sul vecchio campo
  9. Hit va bene e salva le modifiche
  10. * Vai a Table Manager Plugin a. PlugingTabellaTabella Manager
  11. Seleziona ed elimina il vecchio campo
  12. Rinomina il nuovo campo in quello vecchio.

* Dovrai installare il Plugin di Table Manager.


0

La soluzione di Scro, come spiegato più approfonditamente da YP-kun, ha funzionato per me. Una modifica ora con QGIS 3.4, non è necessario utilizzare Table Manager per i passaggi 10 e 11 di YP-kun (per eliminare la vecchia colonna). In realtà, Table Manager apparentemente non è più in quanto non è ora disponibile in Plugin Manager. Ora, dopo i passaggi da 1 a 9 di YP-kun, puoi andare su Proprietà livello per il livello (fai doppio clic sul livello nel pannello Livello o fai clic destro su di esso e fai clic su Proprietà)> Campi sorgente> fai clic sul pulsante modifica> quindi seleziona il vecchio campo che desideri eliminare> fai clic sul pulsante Elimina campo> quindi modifica nuovamente il pulsante per chiudere la modifica> salva le modifiche. Sembra molto da passare per cambiare la lunghezza di un singolo campo in un singolo strato, ma così sia.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.