Hur väljer man ut alla punkter som finns inom en polygons utsträckning i ett annat lager?
Inte så väldigt svårt med vilket GIS som helst, men i QGIS 3.4 är det två klick!
I QGIS 3.2 så är det inte heller speciellt svårt. Man väljer först den polygon man vill välja med, och sedan kör man verktyget ”Välj efter plats”.
Här kan man göra mängder av olika urval från ett annat lager baserat på olika inställningar, exempelvis alla objekt som är innanför ett valt objekt i ett annat lager. Men det blir några klick och skall man göra om det med en annan polygon så får man upprepa en del av processen och hålla koll på ett extra dialogfönster.
Det är inte jättekrångligt, men om det enda man vill göra är att välja objekt från ett lager som överlappar ett objekt i ett annat lager så blir det nu betydligt enklare.
Du använder verktyget ”Välj objekt med polygon”, ser till att ditt lager med objekt att välja ifrån är markerat i lagerlistan, sedan kommer två klick.
- Högerklicka på den polygon som skall användas för urvalet.
- Välj (om det är flera) den polygon som skall användas.
Det är allt! QGIS väljer nu ut alla objekt som ”korsar” den utpekade polygonen.
Det går att använda ”shift” för att lägga till urval med ytterligare polygoner om man vill det. ”Ctrl” kan användas för att ta bort urval på samma sätt, speciellt användbart om man har flera polygonlager ovanpå varandra och vill ”exkludera” punkter som finns inom vissa andra områden.
Det behöver inte vara ett punktlager man väljer från. Eftersom det är ett urval baserat på ”korsar” så fungerar alla typer av geometrier, men det krävs ett polygonlager att välja med. Om man vill välja med andra geometrier så får man använda verktyget ”Välj efter plats”.
Detta påminner mig om en fråga som jag löste med andra verktyg och nu undrar jag hur man gör det i QGIS?
Mitt ”case”: Två lager. Det ena innehåller ett antal tusen punkter (träd), det andra innehåller några hundra polygoner som är skapade som buffrar kring andra punkter (ett annat lager med träd). De punkter i lager ett som hamnar inom en buffer från lager två (= de träd i lager ett som finns inom 3m från ett träd i lager två) skall uppdateras. Det som skall uppdateras är två av attributkolumnerna. Det är alltså objektsunika attribut som skall föras över från ett lager till ett annat, jag vill inte ha ett nytt, tredje lager.