Forum QGIS

Pełna wersja: Opisy tekstowe
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam
Chciałbym się przywitać w pierwszym poście na tym forum.
W związku z poznawaniem Quantum Gis mam dwa pytania dotyczące tabeli atrybutów:

1) Jak można utworzyć w tabeli nowe pole tekstowe i przepisać do tej jednej kolumny wartości z 2 innych kolumn oddzielone spacją ?
Chodzi oto aby mieć w jednym polu wartości X i Y punktów tak aby mieć dane do etykiet.
2) Czy można użyć kalkulatora pól do wprowadzenia przykładowego tekstu do wybranej kolumny w zaznaczonych wierszach ?

3) Co robi włączenie opcji etykiety wielowierszowe ? Co trzeba zrobić aby uzyskać etykietę w postaci przypominającej ułamek ?

Pozdrawiam Paweł
hej.
Domyślam się, że masz wersję 1.4.0 i pracujesz na plikach .shp

1) Otwierasz tabelę atrybutów w trybie edycji i na dole masz ikonkę odpowiedzialną za dodanie kolumny. Pod poniższym linkiem, w części o administrowaniu tabelami opisałem problemy z tym związane:
http://www.geostrona.pl/qgis-1-4-0-sa-niedociagniecia/

2) Można - w opcji kalkulatora jest checkbox "użyj tylko do wybranych pól" a w polu wpisywania wartości odpowiednią formułę (na kompie, którego aktualnie używam nie mam QGIS, więc nie pamiętam jak to dokładnie powinno być)

3) Nie wiem dokładnie... potestuj i daj znaćSmile
Witaj Paweł na forum,

Zadałeś ciekawe i praktyczne pytanie. Widzę że towarzystwo zajęte, bo zwykle odpowiedzi pojawiają się szybciej. Ale do rzeczy.

1) Zakładając, że masz dwa pola liczbowe (pole1, pole2) musisz najpierw zmienić je na ciągi znakowe "to string()", następnie dodać spację między nimi. Wyrażnie będzie wyglądało tak:
to string (pole1) + ' ' + to string (pole2)

3) Etykiety wielowierszowe robią dokładnie to czego oczekujemy, z jednym "ale". Musi być podane gdzie kończy się jeden wiersz, a zaczyna nastepny. Spacja nie spełnia takiej roli.
Odnosząc to do Twojego pytania, należałoby w poprzednim przykładzie zamiast spacji wstawić znak nowego wiersza, czyli
. Czyli całość wyglądałaby tak:
to string (pole1) + '
' + to string (pole2)

pozdrawiam,
Robert
(24-02-2010, 22:08)robert napisał(a): [ -> ]Zadałeś ciekawe i praktyczne pytanie.

Odpowiedzi jeszcze ciekawsze Wink Byłem przekonany, że w kalkulatorze jedyną operacją tekstową jest 'to string'. A tu mamy nawet sumowanie i poział wierszy. Czy jest gdzieś szerzej opisany ten kalkulator? Może ma większe możliwości, niż się na pierwszy rzut oka wydaje.
Dziękuję za wszystkie odpowiedzi.
Ale prosiłbym o dalszą pomoc ponieważ:

1) to string (pole1) + ' ' + to string (pole2) -owszem to działa jak również dzięki temu dowiedziałem się, że mogę sobie wypełnić kolumnę np. literką a stosując 'a' ale niestety nie wiedzieć czemu to polecenie zaokrągla mi współrzędne czyli jeśli mam w tabeli x=704.2345 y=485.675 to w nowej kolumnie po wykonaniu powyższego polecenia znajdzie się ciąg tekstowy: 704 486 Huh

2) to string (pole1) + '
' + to string (pole2) niestety to polecenie nie działa Sad
nawet samego '
' nie można wprowadzić do tabelki atrybutów więc jak mam wyświetlić etykiety wielowierszowe ?

PS
Działam na wersji 1.4.0 Qgis i plikach shp
1) Sprawdziłem QGIS 1.4 na Ubuntu i na Windzie - żadnych zaokrągleń. Nawet jak nie dajemy jawnej konwersji, czyli wpisujemy bez to string. Przyczyna musi leżeć gdzie indziej.

2) Faktycznie
na Ubuntu działa, na Windzie nie. Temat jest więc otwarty ...
Pracuję na Windows Vista i u mnie niestety przy stosowaniu "to string" następuje zaokrąglanie a przy prostym wpisaniu xcoord +' '+ycoord w nowym polu zamiast wyświetlenia komunikatu o błędzie wpisuje się suma tych pól Exclamation
W razie gdyby kogoś interesowało tworzenie etykiet wielowierszowych w QGIS tutaj znajdzie rozwiązanie działające w windowsie.
Genialne rozwiązanie w swojej prostocie. Dzięki wielkie za pamięć i rozwiązanie istotnego dla mnie problemu.
Właśnie znalazłem jeszcze łatwiejsze rozwiązanie. Należy wejść we właściwości warstwy, zakładka atrybuty i jako rodzaj edytora wybrać 'Pole tekstowe'. Teraz można etykiety wielowierszowe wpisywać bezpośrednio w tabeli atrybutów przechodząc do nowej linii klawiszem Enter.