Як змінити довжину поля в QGIS


11

У мене є файл форми, який я створив у QGIS 1.7.4. Одне з полів - це струна довжиною 80. Я хотів би змусити поле приймати довші струни, але я не можу зрозуміти, як змінити його довжину. Як це зробити?

Дякую.

Відповіді:


15

Ось рішення, яке мене здивувало, що воно спрацювало !!!

Попередження: спершу зробіть резервну копію. Це експеримент, хоча він працював для мене зараз.

відкрийте .dbf певного формату файлів за допомогою програми OpenOffice Calc. Змініть значення з 80 на будь-яке значення, яке ви хочете. Будь ласка, дивіться зображення нижче. Дивно, але ці визначення поля не були помітні в Excel. Перевага бути відкритим !!

введіть тут опис зображення


+1 - відмінна маленька хитрість. Завжди знаходив ці цифри, які дратують у DBF-файлах Libre / Openoffice, але тепер знайди використання.
Simbamangu

1
По-друге, це використовую досить багато для швидкого та брудного редагування та форматування даних (особливо, коли я хочу скористатися формулами Cals) або коли я просто хочу приєднати деякі дані за місцем розташування, і ще раз ім'я поля перетвориться на auf на занадто довго ... Пам'ятайте лише: не переставляйте рядки без стовпчика FID, щоб їх переставити правильно, інакше кожна функція буде мати неправильні дані атрибутів.
SAnderka

Я спробував це, і це зіпсувало значення в наступних стовпцях. Хоча розумна ідея.
Еван

2
Я жодного разу не зазнавав жодної корупції даних. Ви випадково змінили типи даних (наприклад, C означає символи, більше пояснюється тут: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Хоча Calc і попереджає вас, якщо ви намагаєтеся зберегти dbf з даними в ньому, які не відповідають заголовку. Я все ще не дуже розумію, яким чином ваші дані пошкоджуються, що може майже нічого не означати ...
SAnderka

2
Щодо сортування: зв’язок між характеристиками даних (багатокутників, точок, ліній) та даними атрибутів, здається, здійснюється за номером рядка, якщо якщо ви вкажете будь-який файл атрибутів у Calc та збережете його, неправильні атрибути будуть пов’язані з вашими особливості (змішані, так би мовити).
SAnderka

12

Наскільки мені відомо, ви не можете змінити довжину полів форм-файлів у QGIS. Рекомендуємо створити нове поле:

  • Відкрити таблицю атрибутів
  • Увімкнути редагування ввімкнено
  • Виберіть "Новий стовпець" і
    введіть тип тексту та виберіть потрібну ширину

Якщо в старому полі вже є дані, використовуйте калькулятор поля для заповнення нового поля:

  • Виберіть "Калькулятор поля"
  • Поставте галочку "Оновити наявне поле" та виберіть нове поле
  • Двічі клацніть стару назву поля в розділі "Поля"
  • Натисніть "ОК" і не забудьте зберегти свої зміни.

Хороший метод. В кінці цих кроків перейдіть до диспетчера таблиць (плагін), щоб видалити старе поле, і (за потреби) перейменуйте нове поле.
Янс

4

Я щойно робив це в Excel. відкрийте dbf в Excel, клацніть правою кнопкою миші заголовок стовпця, який ви хочете змінити, і виберіть Ширина стовпця. Змініть потрібну довжину, а потім збережіть як dbf. Здається, для мене це добре.


чи не повинна ширина стовпця бути шириною відображення стовпця?
vinayan

3
@Vinayan, питання прямо посилається на те, що може містити поле, а не як воно відображається в QGIS. Excel використовує ширину відображення стовпців як орієнтир на те, наскільки широким буде поле, коли він зберігає файл, саме тому ця відповідь працює. Для отримання детальної інформації відвідайте Quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Однак він працює лише в старих версіях Excel. Останні не пишуть файли DBF, які я чую :-(.
whuber

@whuber, що цікаво .. я ніколи не вкладав би такий тип функціональності (зміни розміру) у мої програми :-)
vinayan

0

Посібник із зміни розміру стовпця для таблиці атрибутів у QGIS

  1. Клацніть правою кнопкою миші на векторному шарі та виберіть властивості.
  2. Перейдіть на вкладку поля.
  3. Додайте новий стовпець (Ця кнопка знаходиться у верхньому правому куті. A. Переконайтеся, що всі дані відповідають такому стовпцю, який ви намагаєтеся розширити. За винятком зміни довжини на потрібну довжину.
  4. Виберіть кнопку "Калькулятор поля" (Ця кнопка знаходиться у верхньому правому куті.)
  5. Поставте прапорець "Оновити існуюче поле"
  6. Переконайтесь, що "Оновити лише вибране поле" не встановлено прапорець.
  7. Виберіть нове поле в меню прямо біля прапорців
  8. У меню "Поле" двічі клацніть старе поле
  9. Натисніть добре і збережіть правки
  10. * Перейдіть до плагіна менеджера таблиць a. ПідключенняTableTable Manager
  11. Виберіть і видаліть старе поле
  12. Перейменуйте нове поле на старе.

* Вам потрібно буде встановити плагін Table Manager.


0

Рішення Шро, як більш детально пояснено YP-куном, просто працювало на мене. Одна зміна тепер із QGIS 3.4, немає необхідності використовувати табличний диспетчер для кроків 10 та 11 YP-куна (для видалення старого стовпця). Насправді, табличний менеджер, мабуть, більше не є, оскільки зараз він недоступний у Plugin Manager. Тепер, виконуючи кроки 1-9 YP-куна, ви можете перейти до властивостей шару для шару (двічі клацніть на шарі на панелі шару або клацніть правою кнопкою миші та натисніть кнопку Властивості)> Вихідні поля> натисніть кнопку редагування> потім виберіть старе поле, яке ви хочете видалити, натисніть кнопку Видалити поле>, а потім знову відредагуйте кнопку, щоб закрити редагування> збережіть зміни. Здається, багато пройти, щоб змінити довжину одного поля в одному шарі, але так і нехай.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.