Forum QGIS
zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - Wersja do druku

+- Forum QGIS (http://forum.quantum-gis.pl)
+-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html)
+--- Dział: QGIS (http://forum.quantum-gis.pl/forum-5.html)
+--- Wątek: zamiana atrybutów po usunięciu kolumny w tabeli atrubutów (/thread-816.html)



zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - Jotek - 19-11-2012

Witam,
Po usunięciu części obiektów z warstwy a następnie zmianie tabeli atrybutów tej warstwy (poprzez usunięcie kolumny, zmianę nazwy kolumny lub przesunięcie kolejności kolumn przy użyciu Table manager) pozostałe w warstwie obiekty zmieniają swoje atrybuty - pojawiają się wcześniej usunięte obiekty, a część zostawionych obiektów znika.
Liczba obiektów w warstwie nie zmienia się. Atrybuty nie zmieniają się - zmienia się ich połączenie z obiektami graficznymi.
Jeśli zmienię kolejność działań tzn. najpierw zmienię tabelę, a następnie usunę obiekty to problem nie występuje.

Czy ktoś się spotkał z podobnym problemem? Dodam, że na pierwszy rzut oka jest on niewidoczny.

Pozdrawiam
Jotek
PS> pracuję na QGIS 1.8.0 Lisboa


RE: zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - borys - 20-11-2012

Brzmi groźnie, ale nie udaje mi się tego błędu wywołać. O ile dobrze zrozumiałem, na skutek użycia Table Managera obiektom przypisywane są nieprawidłowe wiersze tabeli atrybutów (albo też atrybuty zostają na swoich miejscach, za to obiekty zamieniają się kolejnością). Ponieważ geometrie są zapisane kolejno w pliku .shp, zaś atrybuty kolejno w pliku .dbf, to takie rozjechanie wskazywałoby na to, że tylko z jednego z tych dwóch plików obiekty zostały usunięte. Jeśli mógłbym poprosić o taką diagnostykę (i sprostowanie, jeśli coś źle zrozumiałem):

1. Dane są w pliku Shapefile, prawda?
2. Usuwam pierwsze trzy obiekty (o trzech pierwszych id, czyli trzech pierwszych wierszach w tabeli atrybutów w pliku dbf – kolejne wiersze powinny wskoczyć wyżej)
3. Wychodzę z trybu edycji zapisując zmiany. Na mapie i w tabeli atrybutów wszystko jest jeszcze ok, prawda?
4. Włączam TableManagera i w drugiej zakładce mam podgląd tabeli. Powinna być pozbawiona tych pierwszych trzech wierszy.
5. Zmieniam np. nazwę pola i zapisuję. Wyskakuje ten błąd. Które konkretnie obiekty poznikały z mapy lub które wiersze z tabeli atrybutów?


RE: zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - Jotek - 21-11-2012

Zgadza się - dobrze zrozumiałeś.

1. tak, dane są w .shp
2.-3. tak
4. nie przyszło mi do głowy sprawdzenie w zakładce TableManagera podglądu tabeli.
5. wtedy pojawia się błąd.

Zrobiłam ponowny test, tym razem z usunięciem 3 pierwszych obiektów, i błąd się nie pojawił. Nie przychodzi mi do głowy żadna różnica w kolejności lub czynnościach wykonywanych na obiektach w porównaniu do opisanych przez Ciebie punktów.
Natomiast przy poprzednich testach obiekty zmieniające atrybuty znajdowały się w wierszach poniżej usuniętego obiektu. Każdy znikający obiekt był zastępowany jednym z wcześniej usuniętych, prawidłowości nie zauważyłam.

Pozdrawiam
Jotek


RE: zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - borys - 21-11-2012

Po pierwsze, aby pozbyć się dręczącego mnie cienia wątpliwości Wink mówiąc o „znikającym obiekcie” masz na myśli wiersz/rekord w tabeli atrybutów, czyli cały problem dotyczy wyłącznie atrybutów, zaś obiekty na mapie są w porządku, prawda?

To wygląda tak, jakby TableManager pracował na starej tabeli atrybutów (sprzed usuwania obiektów). Zważywszy, że możesz go włączyć dopiero po zapisaniu zmian i wyjściu z trybu edycji, zaś on otwiera plik dbf na własną rękę, może system operacyjny coś keszuje i udostępnia starą wersję. To są Windowsy? Plik jest lokalny? Trudno mi coś poradzić, jeśli błędu nie da się odtworzyć w kontrolowanych warunkach...


RE: zamiana atrybutów po usunięciu kolumny w tabeli atrubutów - Jotek - 22-11-2012

Nie, znika obiekt z mapy. Nie zaobserwowałam znikających atrybutów, co nie oznacza że takich nie ma.

Tak, Windows.

Błąd wykryłam przez przypadek - ponieważ nie wiedziałam w którym dokładnie momencie się pojawił, zrobiłam kilka prób i wyszło że:
1. kopiowanie obiektów, a później zmiana nazwy, przesuwanie lub usuwanie kolumny nie powoduje zamiany atrybutów.
2. zmiana nazwy, przesuwanie, usuwanie kolumny, a później kopiowanie i usuwanie obiektów nie powoduje zmiany atrybutów.
3. usuwanie obiektów, a później zmiana nazwy, przesuwanie lub usuwanie kolumny powoduje zmianę atrybutów.
Niestety zostawiłam tylko wnioski i warstwy z tych prób, dokładniejszy notatki z kolejnością i opisem tych warstw wyrzuciłam.

Będę jeszcze próbowała odtworzyć ten błąd i napisać więcej konkretów. Dzięki za próbę rozwiązania problemu Smile

Pozdrawiam
Jotek