Mam warstwę Shapefile w QGIS 2.6 z kilkoma wielokątami, z których każda zawiera dane w ponad 100 polach. Muszę utworzyć nową warstwę z tymi samymi wielokątami, ale z wszystkimi polami danych pustymi (ustawione na 0, Null lub puste w zależności od typu pola). Czy istnieje szybszy sposób na zrobienie tego niż naciśnięcie Delete na każdym polu każdego wielokąta pojedynczo, musiałbym to zrobić ponad 1000 razy w ten sposób.
qgis
attribute-table
qgis-2.6
zupa alfabetyczna
źródło
źródło
Odpowiedzi:
Czy nie możesz po prostu skopiować i wkleić danych do warstwy X (warstwa / plik kształtu / klasa obiektów / cokolwiek), która nie ma atrybutów (oprócz OID i geometrii), a następnie skopiować i wkleić teraz „pustą” geometrię z powrotem w twoją oryginalną warstwę?
źródło
Możesz wprowadzić następujący kod w konsoli Python, aby wyczyścić WSZYSTKIE atrybuty
NULL
dla pliku shapefile załadowanego do QGIS. Wybierz warstwę z panelu warstw (Spis treści) i uruchom kod:Zostało to przetestowane na QGIS 2.8.2.
AKTUALIZACJA :
W odpowiedzi na komentarz @Vince poniższy kod można skopiować / wkleić bezpośrednio do konsoli Pythona i zmieni on wartości atrybutów w zależności od typu pola (tj.
0
Dla pól liczb całkowitych ;NULL
dla pól ciągów ; i epoki1900-01-01
dla Data pole):źródło
Możesz po prostu zapisać go jako nowy plik i zaznaczyć pole „Pomiń tworzenie atrybutów” w oknie dialogowym „Zapisz jako ...”. Robi dokładnie to, co mówi.
Będzie jedna numeryczna kolumna licznika o nazwie FID, najwyraźniej format Shapefile wymaga co najmniej jednego atrybutu? Jeśli możesz, użyj czegoś lepszego, przestrzennego lub geopackage.
źródło
NULL
.Otwórz plik .dbf w openoffice lub innym i usuń dane.
Możesz użyć Pythona do przechodzenia między plikami i usuwania wszystkich oprócz nagłówków Zobacz moduł dbf Python
źródło
QGIS może otwierać pliki kształtów bez pliku .dbf.
Więc możesz po prostu usunąć komponent .dbf i załadować .shp, co przyniesie tylko geometrię.
źródło
Być może możesz edytować plik * .dbf w programie Excel.
Następnie usuwasz wszystkie pola oprócz geom.
Wreszcie zapisz i wyjdź.
Przydałoby się przechowywać archiwum * .shp przed zrobieniem tego.
źródło
W QGIS 2.8.x możesz także pozbyć się określonych lub wszystkich pól. Otwórz tabelę atrybutów, Przełącz tryb edycji, kliknij przycisk „Usuń kolumnę”, wybierz wszystkie niechciane atrybuty i kliknij „OK”. Zapisz zmiany.
źródło