Forum QGIS
długość atrybutu tekstowego - 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: długość atrybutu tekstowego (/thread-886.html)



długość atrybutu tekstowego - hotlos - 15-02-2013

Witam.
Wie może ktoś czy da się zmienić automatycznie zadawaną długość atrybutów dla nowo wczytywanych warstw z CSV. Dokładnie chodzi mnie o atrybuty tekstowe, które automatycznie zadawane mają 80 znaków, a przecież można max 255.
Po wczytaniu nowej warstwy wszystkie atrybuty (najczęściej z kolumny UWAGI Smile) obcina do 80 znaków.
Bardzo proszę o jakieś podpowiedzi
z góry dziękuję! Smile


RE: długość atrybutu tekstowego - borys - 19-02-2013

U mnie (Qgis 1.9.90 z biblioteką GDAL 1.9) wszystko działa aż do 255 znaków: utworzone pola nie mają ograniczenia długości (we właściwościach warstwy widnieje 0, zaś po zapisie do SHP utworzone pola mają długość 255. Oczywiście cały czas widzę 255-znakowy tekst w całości. Zakładam, że masz starszą wersję, więc problem jest czasowy. Tymczasem spróbowałbym deklaracji długości pola w CSVT.

Otóż pliki CSV można wczytywać na dwa sposoby: przez wtyczkę "Dodaj warstwę tekstową oddzielaną separatorami" oraz jak zwykłą warstwę wektorową (sposób obsługiwany przez bibliotekę GDAL/OGR). Ta druga metoda umożliwia zadeklarowanie typów pól, tylko do posiadanego pliku .csv trzeba dopisać dodatkowy pliczek .csvt. Jeśli mamy tabelę z geometrią, to żeby QGIS ją łyknął jako warstwę, potrzebny jest jeszcze drugi pliczek .vrt Ich struktura opisana jest tutaj: http://www.gdal.org/ogr/drv_csv.html

Mam nadzieję, że to pomoże.


RE: długość atrybutu tekstowego - hotlos - 21-02-2013

(19-02-2013, 14:48)borys napisał(a): U mnie (Qgis 1.9.90 z biblioteką GDAL 1.9) wszystko działa aż do 255 znaków: utworzone pola nie mają ograniczenia długości (we właściwościach warstwy widnieje 0, zaś po zapisie do SHP utworzone pola mają długość 255. Oczywiście cały czas widzę 255-znakowy tekst w całości. Zakładam, że masz starszą wersję, więc problem jest czasowy. Tymczasem spróbowałbym deklaracji długości pola w CSVT.

Otóż pliki CSV można wczytywać na dwa sposoby: przez wtyczkę "Dodaj warstwę tekstową oddzielaną separatorami" oraz jak zwykłą warstwę wektorową (sposób obsługiwany przez bibliotekę GDAL/OGR). Ta druga metoda umożliwia zadeklarowanie typów pól, tylko do posiadanego pliku .csv trzeba dopisać dodatkowy pliczek .csvt. Jeśli mamy tabelę z geometrią, to żeby QGIS ją łyknął jako warstwę, potrzebny jest jeszcze drugi pliczek .vrt Ich struktura opisana jest tutaj: http://www.gdal.org/ogr/drv_csv.html

Mam nadzieję, że to pomoże.

Wielkie dzięki za podpowiedz. Ja pracuję na 1.7.4 więc spróbuję skorzystać z Twoich wskazówek. Mam nadzieję, że się uda.
pozdrawiam