Podczas zapisywania warstwy z csv do shp przycina dług. nagłówków w liście atrybutów - Wersja do druku +- Forum QGIS (http://forum.quantum-gis.pl) +-- Dział: Desktop GIS (http://forum.quantum-gis.pl/forum-4.html) +--- Dział: GIS dla początkujących (http://forum.quantum-gis.pl/forum-16.html) +--- Wątek: Podczas zapisywania warstwy z csv do shp przycina dług. nagłówków w liście atrybutów (/thread-1296.html) |
Podczas zapisywania warstwy z csv do shp przycina dług. nagłówków w liście atrybutów - embas - 20-03-2016 Jak w temacie. Mam plik Excel w formacie csv, który zawiera punkty ze współrzędnymi i dodatkowymi atrybutami tych punktów. Niektóre nagłówki poszczególnych kolumn z atrybutami mają długość przekraczającą 10 znaków. Po zaimportowaniu tego pliku csv do QGIS-a na mapie wyświetlają mi się punkty oznaczone różnymi symbolami, w zależności od wartości określonego atrybutu (wykorzystałem styl oparty na regułach). Co jakiś czas otrzymuję zaktualizowaną wersję pliku, więc podmieniając jedynie plik csv mogę uaktualnić w QGIS-ie warstwę. W tabeli atrybutów wszystkie kolumny i wartości wyświetlają się prawidłowo - tak jak w pliku csv. Czasami do dalszej obróbki muszę zapisać warstwę csv do postaci shp. Niestety po zapisaniu takiej warstwy w formacie shp tytuły nagłówków kolumn w liście atrybutów ulegają skróceniu do 10-ciu znaków np.: z "NAZWA_MIEJSCOWSCI" na "NAZWA_MIEJ". W rezultacie tego na warstwie shp nie działa prawidłowo skopiowany z warstwy csv styl oparty na regułach tzn., tam gdzie nagłówek w pliku csv miał mniej niż 10 znaków reguła działa i punkt oznaczany jest innym symbolem, a tam gdzie nagłówek miał 15 znaków już nie bo reguła nie może znaleźć atrybutu o takiej nazwie. Ma ktoś jakiś pomysł jak temu zaradzić, żeby mi nie obcinało długości nagłówków podczas zapisywania warstwy zaimportowanej z pliku csv jako shp? RE: Podczas zapisywania warstwy z csv do shp przycina dług - Binko - 21-03-2016 Można to zrobić do celów roboczych na zasadzie połączenia. 1. Masz plik CSV, w którym zapewne masz ponumerowane wiersze - każdy rekord ma swój unikalny numer ID. 2. Masz shp, gdzie masz tylko kolumnę z tymi numerami (możesz użyć stworzonej już warstwy, jedynie usuń zbędne kolumny). Teraz wchodzisz we właściwości warstwy SHP w QGIS, klikasz kartę "Złączenia" i łączysz tabele po polu "ID" czy jaki tam masz unikalny numer. Upewnij się jeszcze, że masz zaznaczony ptaszek przy prefiksie dołączanych pól a w miejscu na wpisanie tego prefiksu nie masz nic wpisane (przykład dołączam na zrzucie). Możesz dołączyć wszystkie pola, albo tylko wybrane. Teraz plik shp w Twoim projekcie QGISa będzie miał rozbudowaną tabelę o kolumny z pliku CSV. Teraz możesz zastosować symbolizację, jakiej używałeś, a osobno w Excelu edytować plik CSV, bądź podmieniać istniejący na nowszą wersję. Jeśli teraz zapiszesz tego SHP z dołączoną tabelą, to wtedy dołączone pola zostaną w tabeli, jednak długie nazwy zostaną ucięte. Żeby nie zostały ucięte, możesz zapisać warstwę w bazie SpatiaLite - tam są dozwolone długie nazwy pól (ale wielkość liter automatycznie zmieniają się na małe...). RE: Podczas zapisywania warstwy z csv do shp przycina dług - embas - 22-03-2016 (21-03-2016, 13:47)Binko napisał(a): ............... SUPER!!! Działa. Dziękuję za pomoc, a w szczególności za jasne i klarowne wyjaśnienia sposobu rozwiązania problemu. |