Darstellung von Gebäuden durch mehrere Klassen
--Markus Hentschel 11:35, 27. Nov 2006 (CET)
Die Darstellung der Gebäude gemäß ZV-AUT unterscheidet nur zwischen Wohn-/öffentlichen Gebäuden auf der einen und "dem Rest" auf der anderen Seite. Da kann man mehr draus machen, wenn man auf ALK-Konformität verzichtet.
Ich stelle den Gebäudelayer über folgende Sicht dar:
SELECT DISTINCT o.objnr AS oid, o.objart, o.folie, o.the_geom, g.gemeindename, s.strassenname, h.hausnr, os.beschreibung FROM alkobj_e_fla o LEFT JOIN alknhaus h ON o.objnr = h.objnr LEFT JOIN alb_v_gemeinden g ON h.gemeinde = g.gemeinde LEFT JOIN alb_v_strassen s ON h.gemeinde = s.gemeinde AND h.strasse = s.strasse LEFT JOIN alk_oska os ON o.objart = os.objart WHERE (o.folie = '011' OR o.folie = '084')
Die Hausnummer lasse ich nicht über den Layer erzeugen; dafür habe ich einen eigenen Layer "Hausnummer", der per "require" an den Gebäudelyer gekettet ist.
Für die Darstellung habe ich die Gebäude in fünf Klassen zerlegt, die den fünf "Basisklassen" aus dem OBAK, also Wohngebäude, öffentl. Gebäude, Wirtschafts-/Industriegebäude, Handelsgebäude und sonstige Gebäude entsprechen. Ich erzeuge hiermit also kein ALK-Aussehen!!! Die Unterteilung ist reine Geschmackssache, wobei ich allerdings dem OBAK MV insoweit folge, als dieser für diese fünf "Basistypen" definiert, welche Schlüssel dort subsummieren.
Für jeden dieser fünf Gebäudetypen habe ich eine Klasse angelegt und außerdem noch eine Klasse für die Gebäude der Folie 084.
Und so sehen die Einträge in der Expression der jeweiligen Class aus:
- Wohngebäude
([folie] = 011 AND [OBJART] = 1003 OR [OBJART] >= 1211 AND [OBJART] <= 1399 OR [OBJART] >= 2101 AND [OBJART] <= 2131 OR [OBJART] = 2199)
- Wirtschafts- und Industriegebäude ([folie] = 011 AND [OBJART] = 1004 OR [OBJART] >= 1701 AND [OBJART] <= 1799 OR [OBJART] = 2161)
- öffentliche Gebäude ([folie] = 011 AND [OBJART] >= 1101 AND [OBJART] <= 1199 OR [OBJART] = 2141)
- Handelsgebäude ([folie] = 011 AND [OBJART] >= 1401 AND [OBJART] <= 1499 OR [OBJART] = 2151)
- sonstige Gebäude ([folie] = 011 AND [OBJART] >= 2301 AND [OBJART] <= 2921 OR [OBJART] = 1911 OR [OBJART] = 1913)
- nicht katasterm. Gebäude
([folie] = 084)
--Markus Hentschel 09:33, 6. Sep 2007 (CEST)
In der Labeldefinition habe ich "the_force=1" gesetzt. Damit werden wirklich alle Hausnummern dargestellt.