Mój problem jest następujący: mam linię shp (warstwa docelowa) i punkt shp (warstwa łączenia). druga (warstwa punktowa) zawiera atrybut, który chcę połączyć z warstwą linii na podstawie najbliższej odległości od linii. Punkty i linie nie przecinają się
Mogę to zrobić za pomocą ArcGIS i łączenia przestrzennego (opcja dopasowania: najbliższa), ale nie wiem, jak mogę to osiągnąć w QGIS.
qgis
attribute-joins
attribute-table
Miha Požauko
źródło
źródło
Odpowiedzi:
Nie sądzę, żeby istniała w tym celu „podstawowa” funkcja QGIS. Zainstaluj jednak wtyczkę MMQGIS i użyj narzędzia „odległość piasty”. Wybierz punkty jako warstwę „Punktów źródłowych”, a linie jako „Warstwę węzłów docelowych” i ustaw „Typ kształtu wyjściowego” na „Linia do piasty”. To da ci kształt pliku linii (o długości), które łączą najbliższe obiekty. Dogodnie dodaje także identyfikator najbliższej funkcji do tabeli atrybutów.
Edycja / komentarz: To podejście działa dobrze, jeśli jest mniej punktów niż linii, lub też sytuacja jeden-do-jednego. Posiadanie większej liczby punktów niż linii komplikuje sprawy. Narzędzie „Odległość piasty” dodaje identyfikator funkcji linii do tabeli atrybutów punktu jako „HubName” wraz z odległością między punktem a środkiem linii jako „HubDist”. Jeśli jest więcej punktów niż linii, wymagana jest dodatkowa praca w celu ustalenia w obrębie każdego podzbioru punktów (tych wielu rekordów powiązanych z każdym węzłem linii), który z nich jest najbliżej każdej linii i / lub który ma pożądany zestaw atrybuty do przyłączenia do linii.
źródło
Można do tego użyć funkcji GRASS v.distance . W QGIS można uzyskać dostęp do funkcji poprzez wtyczkę GRASS ( wersja Przetwarzanie obecnie nie działa). NNJoin wtyczki QGIS może być prostsza alternatywa.
źródło
Wtyczka NNJoin nigdy mnie nie zawiodła i działa dobrze z dużymi zestawami danych .
Wtyczki> Zainstaluj: NNJoin> NNJoin> wybierz warstwę wejściową i połącz warstwę> Następnie kliknij dołącz.
Sprawdź wyniki z nowej warstwy wyjściowej za pomocą tabeli atrybutów. Ostrzeżenie: upewnij się, że obie warstwy korzystają z tej samej projekcji przestrzennej, w przeciwnym razie wyniki będą puste.
źródło
W 2019 roku może to być możliwe dzięki narzędziu QGIS 3 Zanzibar „Połącz atrybuty najbliżej”. To narzędzie pozwala znaleźć najbliższą funkcję i połączyć wybrane atrybuty. Możliwe jest również wykonanie połączenia jeden do wielu, jeśli podasz maksymalną odległość i maksymalnych najbliższych sąsiadów.
źródło