-- ==================================================================================================================== -- Flurstücke im öffentlichen Besitz aus ALKIS selektieren für WMS - Ebenen "Stadt" und "Kreis", GKZ-spezifisch -- ==================================================================================================================== -- Hier: Muster für die Veröffentlichung. -- Der String *gkz* ist durch die Mandanten-Nummer (Gemeinde-Kenn-Ziffer) zu ersetzen. -- Individuelle Bearbeitung für jeden Mandanten notwendig. Die Namen der vorkommenden Eigentümer müssen analysiert und angepasst werden. -- Stand: -- 2018-11-21 Erweiterung/Aufteilung [Stadt/Kreis/Sonstige]/[Land/Bund] -- Der WMS (aus View "oeff_flurst[gkz][s|k|l|b][e|r]") wird langsam, wenn er in einer kreisweiten Datenbank ausgeführt wird. -- Das Filter-Feld benötigt einen Index: --DROP INDEX if exists ax_person_nname; CREATE INDEX ax_person_nname ON ax_person USING btree (nachnameoderfirma COLLATE pg_catalog."default"); -- ---------------------------------------------- -- S t a d t -- ---------------------------------------------- -- Version "Eigentum" -- DROP VIEW oeff_flurst*gkz*se; CREATE OR REPLACE VIEW oeff_flurst*gkz*se AS SELECT f.gml_id, f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle s ON f.istgebucht = s.gml_id -- Buchungs-Stelle JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND p.nachnameoderfirma LIKE 'Stadt ___%'; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*se IS 'Flurstücke in Öffentlichen Besitz. Hier: *S*tadt (___) *E*igentum. Für WMS: nur ID und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*se TO ms7; -- Version "Recht an" -- DROP VIEW oeff_flurst*gkz*sr; CREATE OR REPLACE VIEW oeff_flurst*gkz*sr AS SELECT f.gml_id, di.buchungsart, -- Buchungsart der dienenden Buchung f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle di ON f.istgebucht = di.gml_id -- dienende Buchung JOIN ax_buchungsstelle s ON di.gml_id = ANY (s.an) -- herrschende Buchung JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND di.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND p.nachnameoderfirma LIKE 'Stadt ___%'; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*sr IS 'Flurstücke in Öffentlichen Besitz. Hier: *S*tadt (Lage) *R*echte. Für WMS: nur ID, Buchungsart und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*sr TO ms7; -- ---------------------------------------------- -- K r e i s -- ---------------------------------------------- -- Version "Eigentum" -- DROP VIEW oeff_flurst*gkz*ke; CREATE OR REPLACE VIEW oeff_flurst*gkz*ke AS SELECT f.gml_id, -- UNIQUE KEY f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle s ON f.istgebucht = s.gml_id -- Buchungs-Stelle JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND p.nachnameoderfirma = 'Kreis ___'; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*ke IS 'Flurstücke in Öffentlichen Besitz. Hier: *K*reis *E*igentum. Für WMS: nur ID und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*ke TO ms7; -- Version "Recht an" -- DROP VIEW oeff_flurst*gkz*kr; CREATE OR REPLACE VIEW oeff_flurst*gkz*kr AS SELECT f.gml_id, -- UNIQUE KEY s.buchungsart, -- Buchungsart f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle di ON f.istgebucht = di.gml_id -- dienende Buchung JOIN ax_buchungsstelle s ON di.gml_id = ANY (s.an) -- herrschende Buchung JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND di.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND p.nachnameoderfirma = 'Kreis ___'; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*kr IS 'Flurstücke in Öffentlichen Besitz. Hier: *K*reis *R*echte. Für WMS: nur ID, Buchungsart und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*kr TO ms7; -- auch QGIS GRANT SELECT ON TABLE oeff_flurst*gkz*kr TO balkis0*gkz*; -- ---------------------------------------------- -- A n d e r e -- ---------------------------------------------- -- Version "Eigentum" -- DROP VIEW oeff_flurst*gkz*ae; CREATE OR REPLACE VIEW oeff_flurst*gkz*ae AS SELECT f.gml_id, -- UNIQUE KEY f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle s ON f.istgebucht = s.gml_id -- Buchungs-Stelle JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND ( p.nachnameoderfirma LIKE 'Stadtwerke%' OR p.nachnameoderfirma LIKE 'Landesverband Lippe%' OR p.nachnameoderfirma LIKE 'Werre-Wasserverband%' OR p.nachnameoderfirma LIKE 'Landschaftsverband Westfalen Lippe%' OR (p.nachnameoderfirma LIKE 'Stadt %' AND NOT p.nachnameoderfirma LIKE 'Stadt ___%') -- Nachbar-Stadt ) ; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*ae IS 'Flurstücke in Öffentlichen Besitz. Hier: *A*ndere *E*igentum. Für WMS: nur ID und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*ae TO ms7; -- auch QGIS GRANT SELECT ON TABLE oeff_flurst*gkz*ae TO balkis0*gkz*; -- Version "Recht an" -- DROP VIEW oeff_flurst*gkz*ar; CREATE OR REPLACE VIEW oeff_flurst*gkz*ar AS SELECT f.gml_id, -- UNIQUE KEY s.buchungsart, -- Buchungsart f.wkb_geometry FROM ax_flurstueck f -- Flurstück JOIN ax_buchungsstelle di ON f.istgebucht = di.gml_id -- dienende Buchung JOIN ax_buchungsstelle s ON di.gml_id = ANY (s.an) -- herrschende Buchung JOIN ax_buchungsblatt gb ON gb.gml_id=s.istbestandteilvon -- Buchung >istBestandteilVon> Blatt JOIN ax_namensnummer nn ON gb.gml_id=nn.istbestandteilvon -- Blatt benennt> Person WHERE f.endet IS NULL AND di.endet IS NULL AND s.endet IS NULL AND gb.endet IS NULL AND nn.endet IS NULL AND p.endet IS NULL AND ( p.nachnameoderfirma LIKE 'Stadtwerke%' OR p.nachnameoderfirma LIKE 'Landesverband Lippe%' OR p.nachnameoderfirma LIKE 'Werre-Wasserverband%' OR p.nachnameoderfirma LIKE 'Landschaftsverband Westfalen Lippe%' OR (p.nachnameoderfirma LIKE 'Stadt %' AND NOT p.nachnameoderfirma LIKE 'Stadt ___%') ) ; -- ** EIGENTÜMER / ERBBAUBERECHTIGTER ** COMMENT ON VIEW oeff_flurst*gkz*ar IS 'Flurstücke in Öffentlichen Besitz. Hier: *A*ndere *R*echte. Für WMS: nur ID, Buchungsart und Geometrie.'; GRANT SELECT ON TABLE oeff_flurst*gkz*ar TO ms7; -- the HAPPY end --