12-12-2014, 14:17,
|
|
lukaschels
już zapościła(e)m
|
Liczba postów: 6
4
Dołączył: 02-06-2014
Reputacja:
0
|
|
Automatyczne odczytywanie atrybutów
Posłużę się przykładem aby opisać problem.
Mam warstwę z gminami oraz druga z powiatami obie mają atrybuty teryt i nazwę.
Utworzyłem kolejna warstwę przystanki (punktową) i teraz tworząc nowy punkt chciałbym aby nazwa powiatu i gminy była już przypisana w oknie określania atrybutów. Inaczej mówiąc aby Q gis pobrałem sobie dane z warstw które już są.
Czy jest możliwe takie rozwiązanie czy jednak trzeba ręcznie wszystko wpisywać i znać każdy atrybut w punkcie
|
|
13-12-2014, 14:45,
|
|
martel
geofomaniak
|
Liczba postów: 96
9
Dołączył: 18-06-2010
Reputacja:
1
|
|
RE: Automatyczne odczytywanie atrybutów
Przy tworzeniu nowych obiektów to nie bardzo (co najwyżej można sobie utworzyć rozwijalne listy z nazwami gmin i powiatów aby nie wklepywać ręcznie), ale można aktualizować z automatu warstwę punktową o nazwy gmin i powiatów po narysowaniu. Zainstaluj wtyczkę "refFunctions", która dodaje nowe opcje do kalkulatora pól. Następnie otwórz kalkulator pól dla warstwy z przystankami, w kalkulatorze dodana została nowa grupa funkcji o nazwie "Reference", z niej wybierz "geomwithin", ta funkcja pozwala na pobranie atrybutów z warstwy docelowej przy spełnieniu warunku, że obiekt źródłowy zawiera się w docelowym. A więc chcąc punktom przypisać nazwę gminy, w której punkt się znajduje, składnia będzie wyglądać następująco:
geomwithin('nazwa warstwy z gminami','nazwa pola zawierającego nazwy gmin')
I analogicznie będzie dla powiatów.
|
|
19-12-2014, 00:06,
|
|
sew
już zapościła(e)m
|
Liczba postów: 6
1
Dołączył: 09-06-2014
Reputacja:
0
|
|
RE: Automatyczne odczytywanie atrybutów
Bardzo przydatna wtyczka.
Jak będzie wyglądało wyrażenie, w którym chciałbym pozyskać sumę pól wszystkich obiektów w 1 warstwie, zawartych w obiektach 2 warstwy?
Moje wyrażenie geomcontains('nazwawarstwy','nazwa atrybutu') zwraca tylko wartość jednego obiektu, podczas gdy zależy mi na sumie wartości zawartych w poligonie warstwy 2.
|
|
19-12-2014, 02:29,
|
|
martel
geofomaniak
|
Liczba postów: 96
9
Dołączył: 18-06-2010
Reputacja:
1
|
|
RE: Automatyczne odczytywanie atrybutów
Dobrze rozumiem, że mając np. warstwę poligonową i punktową chciałbyś w tabeli atrybutów warstwy poligonowej uzyskać sumę wartości jakiegoś pola z obiektów punktowych zawierających się w danym poligonie? Jeżeli tak, to do tego masz inne narzędzie, w menu Wektor->Narzędzia zarządzania danymi i tam masz Połącz atrybuty poprzez lokalizację. Wybierasz warstwę poligonową do aktualizacji, warstwę punktową do złączenia, zaznaczasz, żeby pobrał podsumowanie przecinających się obiektów i dodatkowo wybierasz sobie czy chcesz sumę, średnią, medianę czy może wartości min i max. Wynikiem będzie nowa warstwa poligonowa na bazie istniejącej z dodanymi wybranymi statystykami z warstwy punktowej plus dodatkowa kolumna z liczbą punktów w poligonie.
|
|
19-12-2014, 22:48,
|
|
sew
już zapościła(e)m
|
Liczba postów: 6
1
Dołączył: 09-06-2014
Reputacja:
0
|
|
RE: Automatyczne odczytywanie atrybutów
Dzięki za cenną wskazówkę martel.
Chodziło mi o wyliczenie procenta zabudowy na działce więc generalnie Twój sposób zadziałał. Jedynie co nie do końca się zgadza to sytuacja w której budynek (poligon) znajduje się na powierzchniach dwóch działek (też poligony). Wtedy taki budynek jest liczony jednocześnie na dwóch działkach, zawyżając znacznie wartość % zabudowy.
|
|
20-12-2014, 21:51,
|
|
martel
geofomaniak
|
Liczba postów: 96
9
Dołączył: 18-06-2010
Reputacja:
1
|
|
RE: Automatyczne odczytywanie atrybutów
To sprawdź jeszcze wtyczkę MMQGIS, jest tam narzędzie Spatial Join w menu Combine, zasada działania tego narzędzia jest zbliżona do wyżej opisywanego, jednak przy łączeniu atrybutów po lokalizacji oferuje również Proportional Sum.
|
|
03-01-2015, 00:41,
|
|
karol.stachura
geofon
|
Liczba postów: 12
0
Dołączył: 18-02-2014
Reputacja:
1
|
|
RE: Automatyczne odczytywanie atrybutów
(12-12-2014, 14:17)lukaschels napisał(a): Posłużę się przykładem aby opisać problem.
Mam warstwę z gminami oraz druga z powiatami obie mają atrybuty teryt i nazwę.
Utworzyłem kolejna warstwę przystanki (punktową) i teraz tworząc nowy punkt chciałbym aby nazwa powiatu i gminy była już przypisana w oknie określania atrybutów. Inaczej mówiąc aby Q gis pobrałem sobie dane z warstw które już są.
Czy jest możliwe takie rozwiązanie czy jednak trzeba ręcznie wszystko wpisywać i znać każdy atrybut w punkcie
Zobacz tutaj:
http://geoinformatyka.com.pl/automatyczn...j-warstwy/
|
|
14-10-2024, 17:26,
|
|
manio26
już zapościła(e)m
|
Liczba postów: 3
0
Dołączył: 25-09-2024
Reputacja:
0
|
|
RE: Automatyczne odczytywanie atrybutów
Dzień dobry wszystkim.
Na wstępie chciałem się przywitać i ponieważ jest to mój pierwszy post tutaj to proszę o wyrozumiałość.
Potrzebuję właśnie takiego rozwiązania o jakim pisze @lukaschels.
Nadmienię, iż próbowałem skorzystać z rozwiązania jakim jest utworzenie TRIGGER-a , ale coś mi nie wychodzi.
Oczywiście bardzo dobrze problem można rozwiązać korzystając z wbudowanego algorytmu "Złącz atrybuty według lokalizacji" ale moje pytanie brzmi czy ta się coś takiego zrobić kalkulatorem pół? aby np. po wstawieniu punku uzupełni się samo pole gminy?
|
|
14-10-2024, 18:49,
|
|
xmaziax
geofomaniak
|
Liczba postów: 186
1
Dołączył: 01-09-2015
Reputacja:
5
|
|
RE: Automatyczne odczytywanie atrybutów
Możesz użyć funkcji overlay_within() jako domyślnej dla warstwy punktowej.
Np dla pola nazwa w wawstwie punktowej ustaw domyślne: overlay_within('warstwa_poli', nazwa)[0]
Gdzie:
'warstwa_poli' to nazwa tabeli poligonowej, z nią przecinasz nowo powstały punkt, musi być jako w "wąsach" - 'warstwa'
nazwa - to nazwa atrybutu z warstwy poligonów, który kopiujesz, pamiętaj, że w obu warstwach musi być ten sam typ, żeby się dało skopiować
[0] - ponieważ funkcja zwraca listę - [0] oznacza, że bieżesz z niej 1 element
Szczegółowy opis funkcji znajdziesz w QGIS, bo to ma więcej możliwości.
|
|
14-10-2024, 22:19,
|
|
manio26
już zapościła(e)m
|
Liczba postów: 3
0
Dołączył: 25-09-2024
Reputacja:
0
|
|
RE: Automatyczne odczytywanie atrybutów
Super. Dziękuję bardzo za pomoc.
Właśnie nie o to mi chodziło.
|
|
|