Darstellung von Bodenschätzungsflächen nach Alter
--Mario Harms 15:07, 10. Apr 2013 (CEST)
Im Rahmen meiner Ausbildung hatte ich die Aufgabe die Bodenschätzungsergebnisse in kvwmap zu visualiserien.
Die Ergebnisse habe ich bereits am 33. Anwendertreffen in Bad Doberan präsentiert und stelle dazu eine kleine Dokumentation zur Verfügung.
Die Bodenschätzungsflächen sollen in kvwmap als neues Layer eingefügt werden und dann enstprechend Alter eingefärbt werden.
Laut Aufgabenstellung sollte es dann so kategorisiert werden:
Älter als 5 Jahre: Braun
Älter als 4 Jahre: sehr dunkles Grün
Älter als 3 Jahre: Dunkelgrün
Älter als 2 Jahre: Grün
Älter als 1 Jahr: Hellgrün
Jünger als 1 Jahr: sehr helles Grün
Ziel der Sache ist es den Fortschritt der digitalen Bodenschätzung zu visualieren.
Man kann so schnell sehen welche Flächen bereits digital vorliegen und wann sie digitalisert wurden.
Über folgende Abfrage erhält man die entsprechenden Flächen der Folie 42 mit der Objektnummer 222 (Ackerland) und 223 (Grünland):
SELECT alkobj_e_fla.oid, alkobjekte.objnr, alkobjekte.objart, alkobjekte.folie, alkobjekte.entstehung, date_part('year'::text, date(now())) – date_part('year'::text, alkobjekte.entstehung) AS diff, alkobj_e_fla.the_geom FROM alkobjekte, alkobj_e_fla WHERE alkobjekte.objnr::text = alkobj_e_fla.objnr::text AND alkobjekte.folie::integer = 42 AND (alkobjekte.objart = ANY (ARRAY[222, 223]))
Im Data-Feld im Layereditor werden die Spalten objnr, objart, folie und enstehung nicht benötigt und es sieht entsprechend so aus:
the_geom from ( SELECT alkobj_e_fla.oid, date_part('year'::text, date(now())) - date_part('year'::text, alkobjekte.entstehung) AS diff, alkobj_e_fla.the_geom FROM alkobjekte, alkobj_e_fla WHERE alkobjekte.objnr::text = alkobj_e_fla.objnr::text AND alkobjekte.folie::integer = 42 AND (alkobjekte.objart = ANY (ARRAY[222, 223])) ) as foo using unique oid using srid=2398
Für die Entsprechenden Klassen sehen die Einträge folgendermaßen aus:
Älter als 5 Jahre:
('[diff]' >= '5')
Älter als 4 Jahre:
('[diff]' = '4')
Älter als 3 Jahre:
('[diff]' = '3')
Älter als 2 Jahre:
('[diff]' = '2')
Älter als 1 Jahre:
('[diff]' = '1')
Jünger als 1 Jahr:
('[diff]' <= '1')