Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Automatyczne odczytywanie atrybutów
12-12-2014, 14:17,
#1
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,
#2
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,
#3
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,
#4
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,
#5
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,
#6
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,
#7
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,
#8
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,
#9
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,
#10
RE: Automatyczne odczytywanie atrybutów
Super. Dziękuję bardzo za pomoc.
Właśnie nie o to mi chodziło.


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Automatyczne pozyskiwanie atrybutów z innych warst. TomQuaD 4 1 446 13-05-2024, 11:58
Ostatni post: MarekWF
  automatyczne wypełnianie tabeli atrybutów przy dodawaniu nowego elementu gazownik 3 11 501 14-03-2019, 14:11
Ostatni post: Konrad
  Automatyczne obliczanie długości lini i dodanie do tab. atrybutów? karliTToO 10 44 431 02-01-2018, 10:26
Ostatni post: sebaq

Skocz do: