GLE-Postgis-Interne-Flurstückslisten
Aus kvwmap
Version vom 20. März 2020, 14:24 Uhr von Markus Hentschel (Diskussion | Beiträge)
Die Views werden in ein LK-eigenes Schema "alkis_eigen" gespeichert. Bei Bedarf ändern!
Inhaltsverzeichnis
View Buchung mit Eigentum
Der View verknüpft Flurstück, Buchungsstelle und Buchungsblatt und sammelt alle relevanten Informationen für die Buchung. Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_buchung_mit_eigentum AS SELECT foo.flurstueck_gml_id, foo.buchungsblatt_gml_id, regexp_replace(((foo.buchung || COALESCE(foo.anteil || ' '::text, ::text)) || COALESCE(foo.nraufteilungsplan || ' '::text, ::text)) || COALESCE(foo.buchungstext || ' '::text, ::text), '(^[\n\r]+)|([\n\r]+$)'::text, ::text, 'g'::text) AS buchung FROM ( SELECT f.gml_id AS flurstueck_gml_id, g.gml_id AS buchungsblatt_gml_id, ((((((((art.beschreibung::text || ': '::text) || b.bezeichnung::text) || ' '::text) || g.land::text) || g.bezirk::text) || '-'::text) || ltrim(g.buchungsblattnummermitbuchstabenerweiterung::text, '0'::text)) || ', Laufende Nummer '::text) || ltrim(s.laufendenummer::text, '0'::text) AS buchung, CASE WHEN s.zaehler <> 0::double precision THEN ( CASE WHEN s.zaehler = s.nenner THEN '(Anteil nicht ermittelbar)'::text ELSE ( CASE WHEN mod(s.zaehler::numeric, ceil(s.zaehler::numeric)) = 0::numeric THEN to_char(s.zaehler::integer, 'FM999G999G999'::text) ELSE replace(s.zaehler::text, '.'::text, ','::text) END || '/'::text) || CASE WHEN mod(s.nenner::numeric, ceil(s.nenner::numeric)) = 0::numeric THEN to_char(s.nenner::numeric, 'FM999G999G999G999'::text) ELSE replace(s.nenner::text, '.'::text, ','::text) END END || ' Miteigentumsanteil am Grundstück'::text) || COALESCE(' verbunden mit dem Sondereigentum an '::text || s.beschreibungdessondereigentums::text, ::text) ELSE ::text END AS anteil, ('Nr. '::text || s.nummerimaufteilungsplan::text) || ' laut Aufteilungsplan'::text AS nraufteilungsplan, 'Buchungstext: '::text || s.buchungstext::text AS buchungstext FROM alkis.ax_buchungsblatt g LEFT JOIN alkis.ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text LEFT JOIN alkis.ax_buchungsstelle s ON s.istbestandteilvon = g.gml_id LEFT JOIN alkis.ax_flurstueck f ON f.istgebucht = s.gml_id OR (f.gml_id = ANY (s.verweistauf)) OR (f.istgebucht = ANY (s.an)) LEFT JOIN alkis.ax_buchungsart_buchungsstelle art ON s.buchungsart = art.wert WHERE g.blattart = 1000 AND f.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL ORDER BY g.bezirk::integer, g.buchungsblattnummermitbuchstabenerweiterung::integer, s.laufendenummer::integer) foo;
View Buchung ohne Eigentum
Der View verknüpft Flurstück, Buchungsstelle und Buchungsblatt und sammelt alle relevanten Informationen für die Buchung, wobei eigentumsrelevante Inhalte weggelassen werden. Die Zeilenumbrüche müssen unbedingt mitgenommen werden.
CREATE VIEW alkis_eigen.fstauszug_buchung_ohne_eigentum AS SELECT f.gml_id AS flurstueck_gml_id, g.gml_id AS buchungsblatt_gml_id, ((((((((art.beschreibung::text || ': '::text) || b.bezeichnung::text) || ' '::text) || g.land::text) || g.bezirk::text) || '-'::text) || ltrim(g.buchungsblattnummermitbuchstabenerweiterung::text, '0'::text)) || ' Laufende Nummer '::text) || ltrim(s.laufendenummer::text, '0'::text) AS buchung FROM alkis.ax_buchungsblatt g LEFT JOIN alkis.ax_buchungsblattbezirk b ON g.land::text = b.land::text AND g.bezirk::text = b.bezirk::text LEFT JOIN alkis.ax_buchungsstelle s ON s.istbestandteilvon = g.gml_id LEFT JOIN alkis.ax_flurstueck f ON f.istgebucht = s.gml_id OR (f.gml_id = ANY (s.verweistauf)) OR (f.istgebucht = ANY (s.an)) LEFT JOIN alkis.ax_buchungsart_buchungsstelle art ON s.buchungsart = art.wert WHERE g.blattart = 1000 AND f.endet IS NULL AND g.endet IS NULL AND b.endet IS NULL AND s.endet IS NULL ORDER BY g.bezirk::integer, g.buchungsblattnummermitbuchstabenerweiterung::integer, s.laufendenummer::integer;