Jak zmienić długość pola w QGIS

11

Mam plik kształtu, który utworzyłem w QGIS 1.7.4. Jednym z pól jest Łańcuch o długości 80. Chciałbym, aby pole akceptowało dłuższe użądlenia, ale nie mogę wymyślić, jak zmienić jego długość. Jak mam to zrobic?

Dzięki.

Evan
źródło

Odpowiedzi:

15

Oto rozwiązanie, które zaskoczyło mnie, że zadziałało !!!

Ostrzeżenie: najpierw wykonaj kopię zapasową. To jest eksperyment, ale teraz działał dla mnie…

otwórz plik .dbf określonego pliku kształtu za pomocą aplikacji OpenOffice Calc. Zmień wartość z 80 na dowolną. Zobacz zdjęcie poniżej. Zaskakujące jest to, że te definicje pól nie były widoczne w programie Excel .. Zaleta bycia otwartym !!

wprowadź opis zdjęcia tutaj

vinayan
źródło
+1 - doskonała mała sztuczka. Zawsze uważałem te liczby za denerwujące w DBF Libre / Openoffice, ale teraz widzę zastosowanie.
Simbamangu,
1
Po drugie, używam go dość często do szybkiej i brudnej edycji i formatowania danych (szczególnie, gdy chcę skorzystać z formuł Calsa), lub gdy chcę po prostu połączyć niektóre dane według lokalizacji i ponownie nazwa pola zmienia się na za długo ... Pamiętaj tylko: nie sortuj ponownie wierszy bez kolumny FID, aby zmienić ich porządek, inaczej każda funkcja będzie miała później nieprawidłowe dane atrybutów.
SAnderka
Próbowałem tego i to spowodowało uszkodzenie wartości w kolejnych kolumnach. To jednak sprytny pomysł.
Evan,
2
Do tej pory nigdy nie doświadczyłem uszkodzenia danych. Czy przypadkowo zmieniłeś typy danych (na przykład C oznacza znak, więcej wyjaśniono tutaj: dbase.com/knowledgebase/int/db7_file_fmt.htm )? Chociaż Calc ostrzega cię, jeśli spróbujesz zapisać plik dbf z danymi, które nie mieszczą się w nagłówku. Nadal nie do końca rozumiem, w jaki sposób twoje dane
ulegają
2
A jeśli chodzi o sortowanie: połączenie między danymi elementu (wielokąty, punkty, linie) a danymi atrybutu wydaje się być tworzone według numeru wiersza, jeśli jeśli użyjesz dowolnego pliku atrybutów w programie Calc i zapiszesz go, nieprawidłowe atrybuty zostaną połączone z twoim cechy (pomieszane, że tak powiem).
SAnderka
12

O ile mi wiadomo, nie można zmieniać długości pól kształtów w QGIS. Polecam utworzenie nowego pola:

  • Otwórz tabelę atrybutów
  • Włącz edycję
  • Wybierz „Nowa kolumna” i ustaw
    typ na tekst, a następnie wybierz żądaną szerokość

Jeśli w starym polu znajdują się już dane, użyj kalkulatora pola, aby wypełnić nowe pole:

  • Wybierz „Field Calculator”
  • Zaznacz „Zaktualizuj istniejące pole” i wybierz nowe pole
  • Kliknij dwukrotnie starą nazwę pola w polu „Pola”
  • Naciśnij „OK” i nie zapomnij zapisać swoich zmian.
Scro
źródło
Dobra metoda Na końcu tych kroków przejdź do Menedżera tabel (wtyczki), aby usunąć stare pole i (jeśli to konieczne) zmień nazwę nowego pola.
IanS
4

Właśnie to zrobiłem w programie Excel. otwórz dbf w Excelu, kliknij prawym przyciskiem myszy nagłówek kolumny, którą chcesz zmienić, i wybierz Szerokość kolumny. Zmień potrzebną długość, a następnie zapisz jako dbf. Wydawało mi się, że pracuję OK.

Darren
źródło
czy szerokość kolumny nie powinna być wyświetlaną szerokością kolumny?
vinayan
3
@ Vinayan, pytanie wyraźnie odnosi się do tego, co pole może pomieścić, a nie jak jest wyświetlane w QGIS. Excel wykorzystuje szerokość wyświetlania kolumn jako wskazówkę, jak szerokie jest pole do zapisania pliku, dlatego ta odpowiedź działa. Aby uzyskać szczegółowe informacje, odwiedź stronę quantdec.com/SYSEN597/GTKAV/section4/chapter_15a.htm#Recipe . Działa jednak tylko w starszych wersjach programu Excel. Najnowsze nie zapisują plików DBF, które słyszę :-(.
whuber
@ Whuber, to interesujące .. Nigdy nie zastosowałbym tego rodzaju funkcjonalności (zmiany rozmiaru) w moich aplikacjach :-)
vinayan
0

Przewodnik po zmianie rozmiaru kolumny tabeli atrybutów w QGIS

  1. Kliknij prawym przyciskiem myszy warstwę wektorową i wybierz właściwości.
  2. Przejdź do zakładki pola.
  3. Dodaj nową kolumnę (ten przycisk znajduje się w prawym górnym rogu. A. Upewnij się, że wszystkie dane są takie same jak w kolumnie, w której się znajdujesz, próbując się poszerzyć. Z wyjątkiem długości, zmień ją na żądaną długość.
  4. Wybierz przycisk „Kalkulator pola” (ten przycisk znajduje się w prawym górnym rogu).
  5. Zaznacz „Zaktualizuj istniejące pole”
  6. Upewnij się, że „Aktualizuj tylko wybrane pole” nie jest zaznaczone.
  7. Wybierz nowe pole z menu obok pól wyboru
  8. W menu pola kliknij dwukrotnie stare pole
  9. Naciśnij OK i zapisz zmiany
  10. * Przejdź do wtyczki Table Manager a. Wtyczki  Tabela Manager Menedżer tabel
  11. Wybierz i usuń stare pole
  12. Zmień nazwę nowego pola na stare.

* Musisz zainstalować wtyczkę Table Manager.

YP-kun
źródło
0

Rozwiązanie Scro, dokładniej wyjaśnione przez YP-kun, właśnie dla mnie zadziałało. Jedna zmiana teraz w QGIS 3.4, nie trzeba używać Menedżera tabel dla kroków 10 i 11 YP-kun (aby usunąć starą kolumnę). W rzeczywistości Menedżer tabel najwyraźniej już nie istnieje, ponieważ nie jest teraz dostępny w Menedżerze wtyczek. Teraz, po krokach 1-9 YP-kuna, możesz przejść do Właściwości warstwy dla warstwy (kliknij dwukrotnie warstwę w panelu Warstwy lub kliknij ją prawym przyciskiem myszy i kliknij Właściwości)> Pola źródłowe> kliknij przycisk edycji> następnie wybierz stare pole, które chcesz usunąć> kliknij przycisk Usuń pole> następnie ponownie kliknij przycisk edycji, aby zakończyć edycję> zapisz zmiany. Wydaje się, że wiele trzeba zmienić, aby zmienić długość pojedynczego pola w jednej warstwie, ale niech tak będzie.

JJD
źródło