Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Zmiany wartości pól shapefile przy zapisie warstwy
28-12-2015, 16:11,
#1
Zmiany wartości pól shapefile przy zapisie warstwy
Cześć!

Jestem nowym użytkownikiem tego forum, chociaż QGISa używam już pewien czas. Ostatnio natknąłem się na następujący problem, z którym nie umiem sobie poradzić.

Mam warstwę Shape jednostek administracyjnych, w której jest sporo różnych pól liczbowych o typie rzeczywistym. Wiele jednostek ma wartości poszczególnych pól równe -1,2e+37, co wg dostawcy warstwy ma oznaczać brak danych.
Problem polega na tym, że jak w QGIS zapiszę tę warstwę (nadal jako Shape) do innego pliku, wartości tych pól zamieniają się na -1,2e+11. Pozostałe pola, dla których są jakieś "prawdziwe" wartości, zapisują się bez zmiany.
Czy ktoś wie, dlaczego są takie zmiany podczas zapisu i jak można temu zaradzić?

Pozdrawiam wszystkich świątecznie i noworocznie!
29-12-2015, 15:32,
#2
RE: Zmiany wartości pól shapefile przy zapisie warstwy
(28-12-2015, 16:11)grafal napisał(a): Cześć!

Jestem nowym użytkownikiem tego forum, chociaż QGISa używam już pewien czas. Ostatnio natknąłem się na następujący problem, z którym nie umiem sobie poradzić.

Mam warstwę Shape jednostek administracyjnych, w której jest sporo różnych pól liczbowych o typie rzeczywistym. Wiele jednostek ma wartości poszczególnych pól równe -1,2e+37, co wg dostawcy warstwy ma oznaczać brak danych.
Problem polega na tym, że jak w QGIS zapiszę tę warstwę (nadal jako Shape) do innego pliku, wartości tych pól zamieniają się na -1,2e+11. Pozostałe pola, dla których są jakieś "prawdziwe" wartości, zapisują się bez zmiany.
Czy ktoś wie, dlaczego są takie zmiany podczas zapisu i jak można temu zaradzić?

Pozdrawiam wszystkich świątecznie i noworocznie!

-1,2e+37 = -1,2*10^37
może chodzi o długość pola liczbowego? Może się skraca o te 26 zer?
29-12-2015, 16:01,
#3
RE: Zmiany wartości pól shapefile przy zapisie warstwy
Dziękuję za odpowiedź.

Ale zarówno w oryginalnym shapefile, jak i w tym po zapisie są to pola o typie double, długość 12, dokładność 11.
31-12-2015, 09:03,
#4
RE: Zmiany wartości pól shapefile przy zapisie warstwy
Hm, może udałoby się wprowadzić tę wartość w Ustawienia->Opcje->Źródła danych->"Wartość NULL jest reprezentowana przez"?
31-12-2015, 10:26,
#5
RE: Zmiany wartości pól shapefile przy zapisie warstwy
Niestety to nie działa. Tzn. rzeczywiście zamiast NULL wyświetla się "-1.2e+37", ale raczej jako tekst niż wartość liczbowa.

Sprawdziłem, że przyczyną zmiany wartości przy zapisie shapefile jest właśnie ta długość i dokładność (czyli ilość miejsc po przecinku). Tylko QGIS nie pozwala, aby długość była >20, a dokładność >15. Zatem nie da się wpisać tam liczby o wartości bezwzględnej >1,9e+19, a jeśli się wpisze większą, to zostanie przycięta do tej wartości.
Swoją drogą, jest to dziwne, bo w dokumentacji shapefile (http://www.esri.com/library/whitepapers/...pefile.pdf) jest napisane, że każda liczba mniejsza niż -10^38 jest traktowana jako "brak danych". A w QGIS nie można takiej liczby w ogóle wpisać. Wygląda na to, że QGIS zapisuje liczby zmiennoprzecinkowe dokładnie, a nie w postaci wykładniczej, a to jest chyba błąd.

Jedyne, co udało mi się zrobić, to otworzyć plik .dbf w zewnętrznym programie (DBF Manager - http://astersoft.com/dbfmanager/) i tam wpisać wartości -1,2e+37. Są one potem poprawnie interpretowane przez QGIS, co można sprawdzić np. w Kalkulatorze pól. Problem występuje tylko podczas zapisu pliku przez QGIS.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Kalkulator pól - przypisywanie wartości danym elementom Niebieska 4 20 374 12-03-2017, 20:35
Ostatni post: Niebieska
  Blokada zmiany skali na wydruku Loozak 1 8 287 09-03-2017, 23:10
Ostatni post: tomalos
  Warstwy edytowalne źle skalowane przy włączonym Openlayer plugins achtung 1 9 900 24-10-2014, 16:41
Ostatni post: martel
  qgis 2.2 eksport bazy postgresql do "ESRI shapefile" dstroj 0 14 385 19-08-2014, 13:08
Ostatni post: dstroj
  [błąd] kalkulator pól: błąd przy polach tekstowych 1.8.0 [wiki] 7 36 806 09-03-2013, 21:21
Ostatni post: [wiki]
Question Zmiany na rastrach RobertF 5 27 099 16-11-2011, 23:28
Ostatni post: RobertF
  Zaokrąglanie wartości w kalkulatorze pól michsred 1 14 353 14-03-2011, 11:04
Ostatni post: borys

Skocz do: