Przykłady wyrażeń w QGIS

Wyrażenia oraz zapytania SQL mają ogromny potencjał w analizach przestrzennych w QGIS. Przy okazji różnych prac lub przeglądania sieci natrafiam na liczne przykłady ciekawych przypadków ich użycia. Oto niektóre z nich.

KONTEKST: Wybór na podstawie relacji przestrzennych

Wybór obiektu poligonowego o największej powierzchni, spośród tych, które przecina obiekt na warstwie liniowej i które dodatkowo mają określoną wartość w wybranym polu.

Przykład
Wybór z warstwy gmin Polski tej gminy powiatu kościerskiego, która ma największą powierzchnię z tych, które przecina autostrada.

Uwagi
„nazwaPolaWarstwyPoligonowej” służy do identyfikacji gmin w powiecie np. TERYT, a szukana wartość to TERYT powiatu.

array_first(
    array_reverse(
        array_agg(
            $id,
            group_by:=overlay_intersects('nazwaWarstwyLiniowej', $id),
            filter:=array_length(overlay_intersects('nazwaWarstwyLiniowej', $id)) > 0 and  "nazwaPolaWarstwyPoligonowej" like 'szukanaWartośćWPolu',
            order_by:= area($geometry)
            )
        )
    ) = $id

Wybór obiektu poligonowego, który przecina obiekt na warstwie liniowej i jednocześnie odcinek linii jest w nim najdłuższy.

Przykład
Wybór z warstwy gmin Polski tej gminy powiatu kościerskiego, która ma najdłuższy odcinek autostrady na swoim terenie.

Uwagi
„nazwaPolaWarstwyPoligonowej” służy do identyfikacji gmin w powiecie np. TERYT, a szukana wartość to TERYT powiatu.

array_first(
    array_reverse(
        array_agg(
            $id,
            group_by:=overlay_intersects('nazwaWarstwyLiniowej', $id),
            filter:=array_length(overlay_intersects('nazwaWarstwyLiniowej', $id)) > 0 and  "nazwaPolaWarstwyPoligonowej" like 'szukanaWartośćWPolu',
            order_by:=length(intersection($geometry, geometry(@parent)))
            )
        )
    ) = $id
Udostępnij w serwisach
Avatar photo
Tomasz Giętkowski
Artykuły: 32