Comment changer la longueur d'un champ dans QGIS

11

J'ai un fichier de formes que j'ai créé dans QGIS 1.7.4. L'un des champs est une chaîne de longueur 80. J'aimerais que le champ accepte des piqûres plus longues, mais je ne sais pas comment changer sa longueur. Comment puis-je faire cela?

Merci.

Evan
la source

Réponses:

15

Voici une solution qui m'a surpris que ça marche !!!

Attention: faites d'abord une sauvegarde. C'est une expérience bien qu'elle ait fonctionné pour moi tout à l'heure ..

ouvrez le .dbf du fichier de formes particulier à l'aide de l'application OpenOffice Calc. Modifiez la valeur de 80 à la valeur souhaitée. Veuillez voir l'image ci-dessous. Chose surprenante, ces définitions de champs n'étaient pas visibles dans Excel .. Avantage d'être ouvert !!

entrez la description de l'image ici

vinayan
la source
+1 - excellent petit truc. J'ai toujours trouvé ces chiffres ennuyeux dans les DBF Libre / Openoffice mais voyez maintenant leur utilisation.
Simbamangu
1
J'appuie cela, je l'utilise beaucoup pour l'édition et le formatage de données rapides et sales (surtout quand je veux utiliser les formules de Cals), ou quand je veux simplement joindre certaines données par emplacement et une fois de plus le nom de champ devient auf pour être trop longtemps ... N'oubliez pas: ne triez pas à nouveau les lignes sans une colonne FID pour les réorganiser correctement, ou chaque fonctionnalité aura des données d'attribut incorrectes par la suite.
SAnderka
J'ai essayé cela, et cela a corrompu les valeurs dans les colonnes suivantes. C'est une idée intelligente, cependant.
Evan
2
Je n'ai jamais connu de corruption de données jusqu'à présent. Avez-vous accidentellement modifié les types de données (C, par exemple, signifie caractère, plus d'informations sont expliquées ici: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Bien que Calc vous avertisse si vous essayez d'enregistrer un dbf contenant des données qui ne correspondent pas à l'en-tête. Je ne comprends toujours pas de quelle manière vos données sont corrompues, cela pourrait presque signifier quelque chose ...
SAnderka
2
Et à propos du tri: La connexion entre les données d'entités (polygones, points, lignes) et les données d'attribut semble être établie par numéro de ligne.Si vous utilisez un fichier d'attributs dans Calc et l'enregistrez, de mauvais attributs seront connectés à votre fonctionnalités (mélangées, pour ainsi dire).
SAnderka
12

À ma connaissance, vous ne pouvez pas modifier la longueur des champs du fichier de formes dans QGIS. Recommander la création d'un nouveau champ:

  • Ouvrir la table attributaire
  • Activer l'édition
  • Sélectionnez «Nouvelle colonne» et définissez le
    type sur texte, puis choisissez la largeur souhaitée

S'il y a déjà des données dans l'ancien champ, utilisez la calculatrice de champ pour remplir le nouveau champ:

  • Sélectionnez «Calculatrice de champ»
  • Cochez «Mettre à jour le champ existant» et choisissez le nouveau champ
  • Double-cliquez sur l'ancien nom de champ sous "Champs"
  • Appuyez sur 'OK' et n'oubliez pas de sauvegarder vos modifications.
Scro
la source
Bonne méthode. À la fin de ces étapes, allez dans Table Manager (un plugin) pour supprimer l'ancien champ et (si nécessaire) renommez le nouveau champ.
IanS
4

Je viens de le faire dans Excel. ouvrez le dbf dans Excel, cliquez avec le bouton droit sur l'en-tête de colonne que vous souhaitez modifier et sélectionnez Largeur de colonne. Modifiez la longueur dont vous avez besoin, puis enregistrez-la au format dbf. Semblait fonctionner bien pour moi.

Darren
la source
la largeur de colonne n'est-elle pas censée être la largeur d'affichage de la colonne?
vinayan
3
@Vinayan, la question fait explicitement référence à ce que le champ peut contenir, et non à la façon dont il est affiché dans QGIS. Excel utilise la largeur d'affichage des colonnes comme guide sur la largeur du champ lors de l'enregistrement du fichier, c'est pourquoi cette réponse fonctionne. Pour plus de détails, veuillez visiter quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Cependant, cela ne fonctionne que dans les anciennes versions d'Excel. Le dernier n'écrira pas les fichiers DBF que j'entends :-(.
whuber
@whuber, c'est intéressant .. je ne mettrais jamais ce type de fonctionnalité (redimensionnement) dans mes applications :-)
vinayan
0

Guide pour modifier la taille des colonnes de la table d'attributs dans QGIS

  1. Cliquez avec le bouton droit sur la couche vectorielle et sélectionnez les propriétés.
  2. Accédez à l'onglet champ.
  3. Ajouter une nouvelle colonne (Ce bouton se trouve dans le coin supérieur droit. A. Assurez-vous de faire correspondre toutes les données comme la colonne que vous êtes, en essayant de l'élargir. Sauf la modification de la longueur à la longueur souhaitée.
  4. Sélectionnez le bouton «Calculatrice de champ» (ce bouton se trouve dans le coin supérieur droit.)
  5. Cochez la case "Mettre à jour le champ existant"
  6. Assurez-vous que «Mettre à jour le champ sélectionné uniquement» n'est pas coché.
  7. Choisissez un nouveau champ dans le menu juste à côté des cases à cocher
  8. Dans le menu Champ, double-cliquez sur l'ancien champ
  9. Frappez bien et enregistrez les modifications
  10. * Accédez au plugin Table Manager a. PlugingsTableTable Manager
  11. Sélectionner et supprimer l'ancien champ
  12. Renommez le nouveau champ en ancien.

* Vous devrez installer le plug-in Table Manager.

YP-kun
la source
0

La solution de Scro expliquée plus en détail par YP-kun a juste fonctionné pour moi. Un changement maintenant avec QGIS 3.4, pas besoin d'utiliser Table Manager pour les étapes 10 et 11 de YP-kun (pour supprimer l'ancienne colonne). En fait, Table Manager n'est apparemment plus, car il n'est plus disponible dans Plugin Manager. Maintenant, après les étapes 1 à 9 de YP-kun, vous pouvez accéder aux propriétés du calque pour le calque (double-cliquez sur le calque dans le panneau Calque, ou faites un clic droit dessus et cliquez sur Propriétés)> Champs source> cliquez sur le bouton Modifier> puis sélectionnez l'ancien champ que vous souhaitez supprimer> cliquez sur le bouton Supprimer le champ> puis à nouveau sur le bouton Modifier pour fermer l'édition> enregistrez vos modifications. Semble beaucoup de choses à passer pour changer la longueur d'un seul champ dans une seule couche, mais tant pis.

JJD
la source