Ocena wątku:
  • 1 Głosów - 5 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Podczas zapisywania warstwy z csv do shp przycina dług. nagłówków w liście atrybutów
20-03-2016, 21:00,
#1
Question  Podczas zapisywania warstwy z csv do shp przycina dług. nagłówków w liście atrybutów
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?
21-03-2016, 13:47,
#2
RE: Podczas zapisywania warstwy z csv do shp przycina dług
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...).


Załączone pliki Miniatury
   
22-03-2016, 10:35,
#3
Big Grin  RE: Podczas zapisywania warstwy z csv do shp przycina dług
(21-03-2016, 13:47)Binko napisał(a): ...............
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ę.
.............

SUPER!!! Działa.
Dziękuję za pomoc, a w szczególności za jasne i klarowne wyjaśnienia sposobu rozwiązania problemu.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Eksport współrzędnych punktów z GML do .csv Raziel 2 2 854 15-05-2018, 08:35
Ostatni post: magana
  Problem z wspólrzednymi, pliki CSV achtung 1 6 377 02-03-2015, 22:11
Ostatni post: Binko

Skocz do: