Kalkulator pół - wyliczenie intensywności zabudowy

Potrzebuję wyliczyć intensywność zabudowy działek. Intensywność zabudowy to suma wszystkich kondygnacji istniejącej zabudowy na terenie, dzielona przez powierzchnię tego terenu.

Mam poligony z działkami (TERENY) z atrybutami (TEREN), które są nazwane kolejno numerami (np od 1 do 20).

Na każdym z tych terenów (w rzeczywistości) znajdują się budynki (o różnej funkcji i kondygnacjach). Ze względu na to zróżnicowanie stworzyłem sobie 5 warstw dot. budynków odpowiadających kondygnacjom (ze względu na zróżnicowanie brył): K-1, K1, K2, K3, K4. W warstwach tych są również atrybuty TEREN i oczywiście każdy budynek ma takowy nadany, zgodny z położeniem (jeżeli znajduje się na terenie 1 to ma również etykietę teren=1).

Chcę to maksymalnie uprościć, zautomatyzować. Do tej pory używałem excela co było ok ale było dosyć pracochłonne. Chat gpt proponuje mi coś takiego:

(
coalesce(aggregate(‘K(-1)’, ‘sum’, “area”, “Teren” = attribute($currentfeature,‘Teren’)),0) +
coalesce(aggregate(‘K1’, ‘sum’, “area”, “Teren” = attribute($currentfeature,‘Teren’)),0) +
coalesce(aggregate(‘K2’, ‘sum’, “area”, “Teren” = attribute($currentfeature,‘Teren’)),0) +
coalesce(aggregate(‘K3’, ‘sum’, “area”, “Teren” = attribute($currentfeature,‘Teren’)),0) +
coalesce(aggregate(‘K4’, ‘sum’, “area”, “Teren” = attribute($currentfeature,‘Teren’)),0)
) / “area”

Niestety zwraca totalnie irracjonalne wyniki. np. zamiast 0,89 pokazuje mi 29. Przy czym układy odmienienia się zgadzają, metry2 się zgadzają. Jak w prosty sposób wyliczyć wskaźnik intensywności.

Z góry dziękuję.

Jak masz policzone pow. terenów i pow. wszystkich kondygnacji każdego budynku, to spróbuj tych narzędzi, ale myślę, ze można je dostosować do różnych sytuacji, trzeba się trochę pobawić.

Tak w skrócie.

  1. Narzędzie złącz atrybuty według lokalizacji. Zaznacz okienka “zawierają się” i “znajdują się wewnątrz”. Narzędziem tym połącz pow. całkowite budynków z warstwą terenów.
    Typ złączenia: Twórz oddzielny obiekt dla każdego pasującego obiektu.
    Utworzy się jedna warstwa z pow. terenów i pow. całkowitą.

W tej warstwie złączonej, jeśli na terenie jest jeden budynek to będzie jedna sztuka id1
Jeśli na terenie są trzy budynki będą 3 sztuki id3

  1. Wtyczka group stats zsumuje (trzeba dodać do niej “warstwę ze złączeniem” ) pow. całkowite każdego id i wypluje csv.
    Potem należy złączyć plik csv z warstwa z terenami.

P.S. Nie wiem czy masz problem z budynkami w granicy działek. Jeśli tak, to warto na początku użyć opcji “punkty na powierzchni”.