PostNAS-Sichten für Vollhistorie: Unterschied zwischen den Versionen

Aus kvwmap
Wechseln zu: Navigation, Suche
Zeile 95: Zeile 95:
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
 
CREATE OR REPLACE VIEW alkis.s_zuordungspfeilspitze_flurstueck AS  
 
CREATE OR REPLACE VIEW alkis.s_zuordungspfeilspitze_flurstueck AS  
SELECT l.ogc_fid,st_azimuth(st_pointn(l.wkb_geometry, 1), st_pointn(l.wkb_geometry, 2)) * (- 180::double precision) / pi() + 90::double precision AS winkel, st_startpoint(l.wkb_geometry) AS wkb_geometry,l.beginnt,l.endet
+
SELECT l.ogc_fid,st_azimuth(st_pointn(l.wkb_geometry, 1), st_pointn(l.wkb_geometry, 2)) * (- 180::double precision) / pi() + 90::double precision AS winkel, l.beginnt,l.endet,st_startpoint(l.wkb_geometry) AS wkb_geometry
 
   FROM alkis.ap_lpo l
 
   FROM alkis.ap_lpo l
 
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (l.dientzurdarstellungvon::text[])
 
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (l.dientzurdarstellungvon::text[])

Version vom 22. April 2015, 11:31 Uhr

-- Auf dieser Seite werden alle Sichten gesammelt, die auf Vollhistorie angepasst sind. Jede Sicht muss die Spalten beginnt und endet abfragen und darf in der WHERE-Bedingung nicht auf diese Spalten einschränken.

-- Die Seite ist so gedacht, dass man den kompletten Text als SQL in der PostgreSQL-DB ausführen kann, deswegen muss allem, was kein SQL ist, ein "--" vorangestellt werden.


-- Sicht zur Darstellung der Aufnahmepunkte:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_ap AS 
 SELECT o.oid, o.gml_id, o.beginnt, o.endet, o.punktkennung, o.sonstigeeigenschaft, o.vermarkung_marke, l.verm_bedeutung, p.genauigkeitsstufe, m.bedeutung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.bedeutung, n.bemerkung, p.wkb_geometry, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord
   FROM alkis.ax_aufnahmepunkt o
   LEFT JOIN alkis.ax_punktortau p ON o.gml_id::text = p.istteilvon::text
   LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.vermarkung_marke
   LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
   LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit;

-- Sicht zur Darstellung besonderer Gebäude:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_bes_gebaeude AS 
 SELECT o.oid, o.ogc_fid, o.gml_id, o.beginnt, o.endet, o.bauwerksfunktion, p.bezeichner, o.wkb_geometry
   FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung o
   LEFT JOIN alkis.ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion p ON p.wert = o.bauwerksfunktion;

-- Sicht zur Darstellung der Gebäude:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_gebaeude AS 
 SELECT o.oid, o.ogc_fid, o.gml_id, o.beginnt, o.endet, o.gebaeudefunktion, p.bezeichner, w.wert AS weiterefunktion, o.name, o.zustand, z.bezeichner AS gebaeudezustand, o.objekthoehe, o.lagezurerdoberflaeche, o.dachform, d.bezeichner AS dach_bezeichner, o.hochhaus, o.ax_datenerhebung, da.bezeichner AS herkunft, o.wkb_geometry
   FROM alkis.ax_gebaeude o
   LEFT JOIN alkis.ax_gebaeude_funktion p ON p.wert = o.gebaeudefunktion
   LEFT JOIN alkis.ax_gebaeude_dachform d ON d.wert = o.dachform
   LEFT JOIN alkis.ax_gebaeude_zustand z ON z.wert = o.zustand
   LEFT JOIN alkis.ax_gebaeude_weiterefunktion w ON w.wert = ANY (o.weiteregebaeudefunktion)
   LEFT JOIN alkis.ax_datenerhebung da ON da.wert = o.ax_datenerhebung;

-- Sicht zur Darstellung der Gebäudepunkte:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_gebaeudepunkte AS 
 SELECT DISTINCT o.oid, p.gml_id, o.beginnt, o.endet, o.punktkennung, m.attributinhalt, m.bedeutung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.bedeutung, n.bemerkung, p.wkb_geometry, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord
   FROM alkis.ax_besonderergebaeudepunkt o
   LEFT JOIN alkis.ax_punktortag p ON o.gml_id::text = p.istteilvon::text
   LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
   LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit;

-- Sicht zur Darstellung der Grenzpunkte:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_grenzpunkte AS 
 SELECT o.oid, o.gml_id, o.beginnt, o.endet, o.punktkennung, o.sonstigeeigenschaft, o.abmarkung_marke, o.festgestelltergrenzpunkt, l.verm_bedeutung, p.ax_datenerhebung_punktort, e.bezeichner, e.bezeichner2, p.wkb_geometry, o.bemerkungzurabmarkung, d.bem_bedeutung, p.genauigkeitsstufe, m.bedeutung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.bedeutung AS punktvertrauenswuerdigkeit, st_astext(p.wkb_geometry) AS koord
   FROM alkis.ax_grenzpunkt o
   LEFT JOIN alkis.ax_punktortta p ON p.istteilvon::text = o.gml_id::text
   LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.abmarkung_marke
   LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
   LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit
   LEFT JOIN alkis.lk_bemerkungzurabmarkung d ON o.bemerkungzurabmarkung = d.bem_attribut
   LEFT JOIN alkis.ax_datenerhebung e ON p.ax_datenerhebung_punktort = e.wert;

-- Sicht zur Darstellung der Hausnummern:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_hausnummer_gebaeude AS 
 SELECT p.ogc_fid, p.beginnt, p.endet, l.hausnummer, p.drehwinkel * 57.296::double precision AS drehwinkel, p.wkb_geometry
   FROM alkis.ap_pto p
   JOIN alkis.ax_lagebezeichnungmithausnummer l (ON l.gml_id::text = ANY (p.dientzurdarstellungvon) AND l.endet IS NULL)
  WHERE p.art = 'HNR';

-- Sicht zur Darstellung der Nutzungsarten:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_nutzungen AS 
 SELECT n.oid,n.gml_id, n.nutz_id, n.beginnt, n.endet, nm.gruppe, n.class, nc.label, nc.blabla, nm.source_table, nm.title, nm.fldclass, nm.fldinfo, n.info, n.zustand, n.name, n.bezeichnung, n.wkb_geometry AS the_geom
   FROM alkis.nutzung_class nc
   RIGHT JOIN alkis.nutzung n ON (nc.nutz_id::text || nc.class::text) = (n.nutz_id::text || n.class::text)
   LEFT JOIN alkis.nutzung_meta nm ON n.nutz_id = nm.nutz_id;

-- Sicht zum Füllen der Tabelle pp_zourdungspfeilspitze_flurstueck:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_zuordungspfeilspitze_flurstueck AS 
SELECT l.ogc_fid,st_azimuth(st_pointn(l.wkb_geometry, 1), st_pointn(l.wkb_geometry, 2)) * (- 180::double precision) / pi() + 90::double precision AS winkel, l.beginnt,l.endet,st_startpoint(l.wkb_geometry) AS wkb_geometry
   FROM alkis.ap_lpo l
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (l.dientzurdarstellungvon::text[])
  WHERE l.art::text = 'Pfeil'::text AND ('DKKM1000'::text ~~ ANY (l.advstandardmodell::text[]));

-- Sicht zur Darstellung der sonstigen Vermessungspunkte:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_so_punkte AS 
 SELECT o.oid,o.beginnt,o.endet, o.punktkennung, o.sonstigeeigenschaft, o.vermarkung_marke, l.verm_bedeutung, p.genauigkeitsstufe, m.bedeutung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.bedeutung, n.bemerkung, p.wkb_geometry, st_astext(p.wkb_geometry) AS koord
   FROM alkis.ax_sonstigervermessungspunkt o
   LEFT JOIN alkis.ax_punktortau p ON p.istteilvon::text = o.gml_id::text
   LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.vermarkung_marke
   LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
   LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit;

-- Sicht zur Darstellung der Zugehörigkeitshaken:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_zugehoerigkeitshaken_flurstueck AS 
 SELECT p.ogc_fid, p.beginnt, p.endet, p.wkb_geometry, p.drehwinkel * 57.296::double precision AS drehwinkel, f.flurstueckskennzeichen
   FROM alkis.ap_ppo p
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (p.dientzurdarstellungvon::text[])
  WHERE p.art::text = 'Haken'::text;

-- Sicht zur Darstellung der Zuorordnungspfeile:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck AS 
 SELECT l.ogc_fid,l.beginnt,l.endet, l.wkb_geometry
   FROM ap_lpo l
   JOIN ax_flurstueck f ON f.gml_id = any(l.dientzurdarstellungvon)
  WHERE l.art::text = 'Pfeil'
  AND ('DKKM1000' ~~ ANY (l.advstandardmodell));