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

Aus kvwmap
Wechseln zu: Navigation, Suche
 
(25 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
 +
'''! Diese Seite hat nur zur Sammlung der Sichten gedient. Ab kvwmap Version 2.8 sind die Sichten im PostNAS-DB-Schema enthalten.'''
 +
 +
 
-- 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.
 
-- 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.
 
-- 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 Grenzpunkte:'''
  
'''-- Sicht zur Darstellung der Aufnahmepunkte:'''
+
<nowiki>
 +
CREATE OR REPLACE VIEW alkis.lk_grenzpunkte AS
 +
SELECT COALESCE(p.oid, o.oid) AS oid,
 +
    o.gml_id,
 +
    o.beginnt AS o_beginnt,
 +
    o.endet AS o_endet,
 +
    p.beginnt AS p_beginnt,
 +
    p.endet AS p_endet,
 +
    o.punktkennung,
 +
    ltrim(to_char("substring"(o.punktkennung, 1, 9)::integer, '999 99 99 99'::text), ' '::text) AS nbz,
 +
    ltrim("substring"(o.punktkennung, 10, 6), '0'::text) AS pnr,
 +
    o.zustaendigestelle_stelle,
 +
    d.bezeichnung AS zustaendige_stelle,
 +
    o.abmarkung_marke,
 +
    l.beschreibung as verm_bedeutung,
 +
    o.bemerkungzurabmarkung,
 +
    ba.beschreibung AS bemerkung_zurabmarkung,
 +
    o.relativehoehe,
 +
    o.besonderepunktnummer,
 +
        CASE
 +
            WHEN o.festgestelltergrenzpunkt::text = 'true'::text THEN 'Ja'::text
 +
            ELSE 'Nein'::text
 +
        END AS festgestelltergrenzpunkt,
 +
    array_to_string(o.sonstigeeigenschaft, ', '::text) AS sonstigeeigenschaft,
 +
    o.zeitpunktderentstehung,
 +
    o.zeigtauf,
 +
    p.gml_id AS ax_punktortta_gml_id,
 +
        CASE
 +
            WHEN p.kartendarstellung::text = '1'::text THEN 'Ja'::text
 +
            ELSE 'Nein'::text
 +
        END AS kartendarstellung,
 +
    p.koordinatenstatus,
 +
    p.hinweise,
 +
    rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS "position",
 +
    p.source_description[0] as source_description,
 +
    e.beschreibung AS datenerhebung,
 +
    p.genauigkeitsstufe,
 +
    m.beschreibung AS punktgenauigkeit,
 +
    p.vertrauenswuerdigkeit,
 +
    n.beschreibung AS punktvertrauenswuerdigkeit,
 +
    p.wkb_geometry
 +
  FROM alkis.ax_grenzpunkt o
 +
    LEFT JOIN alkis.ax_punktortta p ON o.gml_id::text = ANY (p.istteilvon)
 +
    LEFT JOIN alkis.ax_marke l ON l.wert = o.abmarkung_marke
 +
    LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
 +
    LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit
 +
    LEFT JOIN alkis.ax_bemerkungzurabmarkung_grenzpunkt ba ON o.bemerkungzurabmarkung = ba.wert
 +
    LEFT JOIN alkis.ax_datenerhebung e ON e.wert = ANY (p.source_description)
 +
    LEFT JOIN alkis.ax_dienststelle d ON o.zustaendigestelle_stelle = d.stelle
 +
  WHERE d.endet IS NULL;
 +
</nowiki>
 +
 
 +
'''-- Sicht zur Darstellung der Zugehörigkeitshaken:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_ap AS  
+
CREATE OR REPLACE VIEW alkis.s_zugehoerigkeitshaken_flurstueck 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
+
  SELECT p.ogc_fid, p.beginnt, p.endet, p.wkb_geometry, p.drehwinkel * 57.296::double precision AS drehwinkel, f.flurstueckskennzeichen, f.abweichenderrechtszustand
   FROM alkis.ax_aufnahmepunkt o
+
   FROM alkis.ap_ppo p
   LEFT JOIN alkis.ax_punktortau p ON o.gml_id::text = p.istteilvon::text
+
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (p.dientzurdarstellungvon::text[])
  LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.vermarkung_marke
+
  WHERE p.art::text = 'Haken'::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;
+
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung besonderer Gebäude:'''
+
'''-- Sicht zur Darstellung der Zuordnungspfeile:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_bes_gebaeude AS  
+
CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck AS  
  SELECT o.oid, o.ogc_fid, o.gml_id, o.beginnt, o.endet, o.bauwerksfunktion, p.bezeichner, o.wkb_geometry
+
  SELECT l.ogc_fid,l.beginnt,l.endet, f.abweichenderrechtszustand, l.wkb_geometry
   FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung o
+
   FROM ap_lpo l
   LEFT JOIN alkis.ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion p ON p.wert = o.bauwerksfunktion;
+
   JOIN ax_flurstueck f ON f.gml_id = any(l.dientzurdarstellungvon)
 +
  WHERE l.art::text = 'Pfeil'
 +
  AND ('DKKM1000' ~~ ANY (l.advstandardmodell));
 +
 
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Gebäude:'''
+
'''-- Sicht zur Darstellung der Aufnahmepunkte:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_gebaeude AS  
+
CREATE OR REPLACE VIEW alkis.lk_ap 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
+
SELECT o.oid, o.gml_id, o.beginnt, o.endet, o.punktkennung, o.sonstigeeigenschaft, o.vermarkung_marke, l.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung as punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord, p.wkb_geometry
  FROM alkis.ax_gebaeude o
+
FROM alkis.ax_aufnahmepunkt o
  LEFT JOIN alkis.ax_gebaeude_funktion p ON p.wert = o.gebaeudefunktion
+
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
  LEFT JOIN alkis.ax_gebaeude_dachform d ON d.wert = o.dachform
+
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
  LEFT JOIN alkis.ax_gebaeude_zustand z ON z.wert = o.zustand
+
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
  LEFT JOIN alkis.ax_gebaeude_weiterefunktion w ON w.wert = ANY (o.weiteregebaeudefunktion)
+
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;
  LEFT JOIN alkis.ax_datenerhebung da ON da.wert = o.ax_datenerhebung;
+
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Gebäudepunkte:'''
+
'''-- Sicht zur Darstellung der Sicherungspunkte:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
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
+
CREATE OR REPLACE VIEW alkis.lk_sp AS  
  FROM alkis.ax_besonderergebaeudepunkt o
+
SELECT o.oid, o.punktkennung, o.beginnt, o.endet, o.sonstigeeigenschaft, o.vermarkung_marke, l.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord, p.wkb_geometry
  LEFT JOIN alkis.ax_punktortag p ON o.gml_id::text = p.istteilvon::text
+
FROM alkis.ax_sicherungspunkt o
  LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
+
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
  LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit;
+
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
 +
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
 +
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Grenzpunkte:'''
+
 
 +
'''-- Sicht zur Darstellung der sonstigen Vermessungspunkte:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_grenzpunkte AS  
+
CREATE OR REPLACE VIEW alkis.lk_so_punkte 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
+
SELECT o.oid,o.beginnt,o.endet, o.punktkennung, o.sonstigeeigenschaft, o.vermarkung_marke, l.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, st_astext(p.wkb_geometry) AS koord, p.wkb_geometry
  FROM alkis.ax_grenzpunkt o
+
FROM alkis.ax_sonstigervermessungspunkt o
  LEFT JOIN alkis.ax_punktortta p ON p.istteilvon::text = o.gml_id::text
+
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
  LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.abmarkung_marke
+
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
  LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
+
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
  LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit
+
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = 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;
+
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Hausnummern:'''
+
'''-- Sicht zur Darstellung der Gebäude:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_hausnummer_gebaeude AS  
+
CREATE OR REPLACE VIEW alkis.lk_gebaeude AS  
  SELECT p.ogc_fid, p.beginnt, p.endet, l.hausnummer, p.drehwinkel * 57.296::double precision AS drehwinkel, p.wkb_geometry
+
  SELECT o.oid, o.ogc_fid, o.gml_id, o.beginnt, o.endet, o.gebaeudefunktion, p.beschreibung as bezeichner, w.wert AS weiterefunktion, o.name, o.zustand, z.beschreibung AS gebaeudezustand, o.objekthoehe, o.lagezurerdoberflaeche, o.dachform, d.beschreibung AS dach_bezeichner, o.hochhaus, o.ax_datenerhebung, da.beschreibung AS herkunft, o.wkb_geometry
   FROM alkis.ap_pto p
+
   FROM alkis.ax_gebaeude o
   JOIN alkis.ax_lagebezeichnungmithausnummer l (ON l.gml_id::text = ANY (p.dientzurdarstellungvon) AND l.endet IS NULL)
+
  LEFT JOIN alkis.ax_gebaeudefunktion p ON p.wert = o.gebaeudefunktion
  WHERE p.art = 'HNR';
+
   LEFT JOIN alkis.ax_dachform d ON d.wert = o.dachform
 +
  LEFT JOIN alkis.ax_zustand_gebaeude z ON z.wert = o.zustand
 +
  LEFT JOIN alkis.ax_weitere_gebaeudefunktion w ON w.wert = ANY (o.weiteregebaeudefunktion)
 +
  LEFT JOIN alkis.ax_datenerhebung da ON da.wert = o.ax_datenerhebung;
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Nutzungsarten:'''
+
'''-- Sicht zur Darstellung besonderer Gebäude:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_nutzungen AS  
+
CREATE OR REPLACE VIEW alkis.lk_bes_gebaeude 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
+
  SELECT o.oid, o.ogc_fid, o.gml_id, o.beginnt, o.endet, o.bauwerksfunktion, p.beschreibung, o.wkb_geometry
   FROM alkis.nutzung_class nc
+
   FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung o
  RIGHT JOIN alkis.nutzung n ON (nc.nutz_id::text || nc.class::text) = (n.nutz_id::text || n.class::text)
+
   LEFT JOIN alkis.ax_bauwerksfunktion_sonstigesbauwerkodersonstigeeinrichtun p ON p.wert = o.bauwerksfunktion;
   LEFT JOIN alkis.nutzung_meta nm ON n.nutz_id = nm.nutz_id;
+
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zum Füllen der Tabelle pp_zourdungspfeilspitze_flurstueck:'''
+
'''-- Sicht zur Darstellung der Gebäudepunkte:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_zuordungspfeilspitze_flurstueck AS  
+
CREATE OR REPLACE VIEW alkis.lk_gebaeudepunkte 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, f.abweichenderrechtszustand,st_startpoint(l.wkb_geometry) AS wkb_geometry
+
SELECT DISTINCT o.oid, p.gml_id, o.beginnt, o.endet, o.punktkennung, m.wert, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung, p.wkb_geometry, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord
   FROM alkis.ap_lpo l
+
   FROM alkis.ax_besonderergebaeudepunkt o
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (l.dientzurdarstellungvon::text[])
+
   LEFT JOIN alkis.ax_punktortag p ON o.gml_id = any(p.istteilvon)
  WHERE l.art::text = 'Pfeil'::text AND ('DKKM1000'::text ~~ ANY (l.advstandardmodell::text[]));
+
  LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
 +
  LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der sonstigen Vermessungspunkte:'''
+
'''-- Sicht zur Darstellung der Nutzungsarten:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_so_punkte AS  
+
CREATE OR REPLACE VIEW alkis.lk_nutzungen 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
+
SELECT n.oid, n.gml_id, n.beginnt, n.endet, n.werteart1, n.werteart2, n.info, n.zustand, n.name, n.bezeichnung,  
  FROM alkis.ax_sonstigervermessungspunkt o
+
nas.nutzungsartengruppe::text||nas.nutzungsart::text||nas.untergliederung1::text||nas.untergliederung2::text as nutzungsartschluessel,
  LEFT JOIN alkis.ax_punktortau p ON p.istteilvon::text = o.gml_id::text
+
nag.bereich, nag.gruppe as nutzungsartengruppe, na.nutzungsart, nu1.untergliederung1, nu2.untergliederung2,
  LEFT JOIN alkis.lk_ax_marke l ON l.verm_attribut = o.vermarkung_marke
+
nas.nutzungsartengruppe as nutzungsartengruppeschl,nas.nutzungsart as nutzungsartschl,nas.untergliederung1 as untergliederung1schl,nas.untergliederung2 as untergliederung2schl,
  LEFT JOIN alkis.lk_ax_genauigkeitsstufe_punktort m ON m.attributinhalt = p.genauigkeitsstufe
+
n.wkb_geometry as the_geom
  LEFT JOIN alkis.lk_ax_vertrauenswuerdigkeit_punktort n ON n.attributinhalt = p.vertrauenswuerdigkeit;
+
FROM alkis.n_nutzung n
 +
LEFT JOIN alkis.n_nutzungsartenschluessel nas on n.nutzungsartengruppe = nas.nutzungsartengruppe and n.werteart1 = nas.werteart1 and n.werteart2 = nas.werteart2
 +
LEFT JOIN alkis.n_nutzungsartengruppe nag on nas.nutzungsartengruppe = nag.schluessel
 +
LEFT JOIN alkis.n_nutzungsart na on nas.nutzungsartengruppe = na.nutzungsartengruppe and nas.nutzungsart = na.schluessel
 +
LEFT JOIN alkis.n_untergliederung1 nu1 on nas.nutzungsartengruppe = nu1.nutzungsartengruppe and nas.nutzungsart = nu1.nutzungsart and nas.untergliederung1 = nu1.schluessel
 +
LEFT JOIN alkis.n_untergliederung2 nu2 on nas.nutzungsartengruppe = nu2.nutzungsartengruppe and nas.nutzungsart = nu2.nutzungsart and nas.untergliederung1 = nu2.untergliederung1 and nas.untergliederung2 = nu2.schluessel;
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Zugehörigkeitshaken:'''
+
'''-- Sicht zur Darstellung der Muster- und Vergleichsstücke:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.s_zugehoerigkeitshaken_flurstueck AS  
+
CREATE OR REPLACE VIEW alkis.lk_muster_vergleichsstueck AS  
  SELECT p.ogc_fid, p.beginnt, p.endet, p.wkb_geometry, p.drehwinkel * 57.296::double precision AS drehwinkel, f.flurstueckskennzeichen, f.abweichenderrechtszustand
+
  SELECT mu.oid, mu.ogc_fid, mu.gml_id, mu.identifier, mu.beginnt, mu.endet, mu.advstandardmodell, mu.anlass, mu.merkmal, me.beschreibung AS gruppe, mu.nummer, mu.kulturart, ku.beschreibung AS kultur, mu.bodenart, art.beschreibung, mu.zustandsstufeoderbodenstufe, zu.beschreibung AS zustand_bodenstufe, mu.entstehungsartoderklimastufewasserverhaeltnisse, ent.beschreibung AS entstehung, mu.bodenzahlodergruenlandgrundzahl, mu.ackerzahlodergruenlandzahl, mu.wkb_geometry AS the_geom
   FROM alkis.ap_ppo p
+
   FROM alkis.ax_musterlandesmusterundvergleichsstueck mu
   JOIN alkis.ax_flurstueck f ON f.gml_id::text = ANY (p.dientzurdarstellungvon::text[])
+
   LEFT JOIN alkis.ax_merkmal_musterlandesmusterundvergleichsstueck me ON mu.merkmal = me.wert
  WHERE p.art::text = 'Haken'::text;
+
  LEFT JOIN alkis.ax_bodenart_bodenschaetzung art ON mu.bodenart = art.wert
 +
  LEFT JOIN alkis.ax_kulturart_bodenschaetzung ku ON mu.kulturart = ku.wert
 +
  LEFT JOIN alkis.ax_zustandsstufeoderbodenstufe_bodenschaetzung zu ON mu.zustandsstufeoderbodenstufe = zu.wert
 +
  LEFT JOIN alkis.ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc ent ON ent.wert = ANY(mu.entstehungsartoderklimastufewasserverhaeltnisse);
 
</nowiki>
 
</nowiki>
  
'''-- Sicht zur Darstellung der Zuorordnungspfeile:'''
+
'''-- Sicht zur Darstellung der Grablöcher:'''
  
 
  <nowiki>
 
  <nowiki>
 
SET search_path = alkis, public;
 
SET search_path = alkis, public;
CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck AS  
+
CREATE OR REPLACE VIEW alkis.lk_grabloch AS  
  SELECT l.ogc_fid,l.beginnt,l.endet, f.abweichenderrechtszustand, l.wkb_geometry
+
  SELECT gr.oid, gr.ogc_fid, gr.gml_id, gr.identifier, gr.beginnt, gr.endet, gr.advstandardmodell, gr.anlass, gr.art, gr.name, gr.bedeutung, be.beschreibung, gr.ingemarkung_land, gr.nummerierungsbezirk, gr.ingemarkung_gemarkungsnummer, gr.nummerdesgrablochs, gr.wkb_geometry AS the_geom
   FROM ap_lpo l
+
   FROM alkis.ax_grablochderbodenschaetzung gr, alkis.ax_bedeutung_grablochderbodenschaetzung be
  JOIN ax_flurstueck f ON f.gml_id = any(l.dientzurdarstellungvon)
+
   WHERE be.wert = ANY (gr.bedeutung);
   WHERE l.art::text = 'Pfeil'
+
</nowiki>
  AND ('DKKM1000' ~~ ANY (l.advstandardmodell));
+
  
 +
 +
 +
'''-- Sicht zur Darstellung der Hausnummern:'''
 +
 +
<nowiki>
 +
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';
 
</nowiki>
 
</nowiki>

Aktuelle Version vom 30. August 2017, 10:16 Uhr

! Diese Seite hat nur zur Sammlung der Sichten gedient. Ab kvwmap Version 2.8 sind die Sichten im PostNAS-DB-Schema enthalten.


-- 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 Grenzpunkte:

CREATE OR REPLACE VIEW alkis.lk_grenzpunkte AS 
 SELECT COALESCE(p.oid, o.oid) AS oid,
    o.gml_id,
    o.beginnt AS o_beginnt,
    o.endet AS o_endet,
    p.beginnt AS p_beginnt,
    p.endet AS p_endet,
    o.punktkennung,
    ltrim(to_char("substring"(o.punktkennung, 1, 9)::integer, '999 99 99 99'::text), ' '::text) AS nbz,
    ltrim("substring"(o.punktkennung, 10, 6), '0'::text) AS pnr,
    o.zustaendigestelle_stelle,
    d.bezeichnung AS zustaendige_stelle,
    o.abmarkung_marke,
    l.beschreibung as verm_bedeutung,
    o.bemerkungzurabmarkung,
    ba.beschreibung AS bemerkung_zurabmarkung,
    o.relativehoehe,
    o.besonderepunktnummer,
        CASE
            WHEN o.festgestelltergrenzpunkt::text = 'true'::text THEN 'Ja'::text
            ELSE 'Nein'::text
        END AS festgestelltergrenzpunkt,
    array_to_string(o.sonstigeeigenschaft, ', '::text) AS sonstigeeigenschaft,
    o.zeitpunktderentstehung,
    o.zeigtauf,
    p.gml_id AS ax_punktortta_gml_id,
        CASE
            WHEN p.kartendarstellung::text = '1'::text THEN 'Ja'::text
            ELSE 'Nein'::text
        END AS kartendarstellung,
    p.koordinatenstatus,
    p.hinweise,
    rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS "position",
    p.source_description[0] as source_description,
    e.beschreibung AS datenerhebung,
    p.genauigkeitsstufe,
    m.beschreibung AS punktgenauigkeit,
    p.vertrauenswuerdigkeit,
    n.beschreibung AS punktvertrauenswuerdigkeit,
    p.wkb_geometry
   FROM alkis.ax_grenzpunkt o
     LEFT JOIN alkis.ax_punktortta p ON o.gml_id::text = ANY (p.istteilvon)
     LEFT JOIN alkis.ax_marke l ON l.wert = o.abmarkung_marke
     LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
     LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit
     LEFT JOIN alkis.ax_bemerkungzurabmarkung_grenzpunkt ba ON o.bemerkungzurabmarkung = ba.wert
     LEFT JOIN alkis.ax_datenerhebung e ON e.wert = ANY (p.source_description)
     LEFT JOIN alkis.ax_dienststelle d ON o.zustaendigestelle_stelle = d.stelle
  WHERE d.endet IS NULL;

-- 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, f.abweichenderrechtszustand
   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 Zuordnungspfeile:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW s_zuordungspfeil_flurstueck AS 
 SELECT l.ogc_fid,l.beginnt,l.endet, f.abweichenderrechtszustand, 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));


-- 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.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung as punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord, p.wkb_geometry
FROM alkis.ax_aufnahmepunkt o
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;

-- Sicht zur Darstellung der Sicherungspunkte:

SET search_path = alkis, public;

CREATE OR REPLACE VIEW alkis.lk_sp AS 
SELECT o.oid, o.punktkennung, o.beginnt, o.endet, o.sonstigeeigenschaft, o.vermarkung_marke, l.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, rtrim(ltrim(st_astext(p.wkb_geometry), 'POINT('::text), ')'::text) AS koord, p.wkb_geometry
FROM alkis.ax_sicherungspunkt o
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;


-- 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.beschreibung as verm_bedeutung, p.genauigkeitsstufe, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung as bedeutung, st_astext(p.wkb_geometry) AS koord, p.wkb_geometry
FROM alkis.ax_sonstigervermessungspunkt o
LEFT JOIN alkis.ax_punktortau p ON o.gml_id = any(p.istteilvon)
LEFT JOIN alkis.ax_marke l ON l.wert = o.vermarkung_marke
LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;

-- 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.beschreibung as bezeichner, w.wert AS weiterefunktion, o.name, o.zustand, z.beschreibung AS gebaeudezustand, o.objekthoehe, o.lagezurerdoberflaeche, o.dachform, d.beschreibung AS dach_bezeichner, o.hochhaus, o.ax_datenerhebung, da.beschreibung AS herkunft, o.wkb_geometry
   FROM alkis.ax_gebaeude o
   LEFT JOIN alkis.ax_gebaeudefunktion p ON p.wert = o.gebaeudefunktion
   LEFT JOIN alkis.ax_dachform d ON d.wert = o.dachform
   LEFT JOIN alkis.ax_zustand_gebaeude z ON z.wert = o.zustand
   LEFT JOIN alkis.ax_weitere_gebaeudefunktion w ON w.wert = ANY (o.weiteregebaeudefunktion)
   LEFT JOIN alkis.ax_datenerhebung da ON da.wert = o.ax_datenerhebung;

-- 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.beschreibung, o.wkb_geometry
   FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung o
   LEFT JOIN alkis.ax_bauwerksfunktion_sonstigesbauwerkodersonstigeeinrichtun p ON p.wert = o.bauwerksfunktion;

-- 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.wert, m.beschreibung AS punktgenauigkeit, p.vertrauenswuerdigkeit, n.beschreibung, 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 = any(p.istteilvon)
   LEFT JOIN alkis.ax_genauigkeitsstufe_punktort m ON m.wert = p.genauigkeitsstufe
   LEFT JOIN alkis.ax_vertrauenswuerdigkeit_punktort n ON n.wert = p.vertrauenswuerdigkeit;

-- 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.beginnt, n.endet, n.werteart1, n.werteart2, n.info, n.zustand, n.name, n.bezeichnung, 
nas.nutzungsartengruppe::text||nas.nutzungsart::text||nas.untergliederung1::text||nas.untergliederung2::text as nutzungsartschluessel,
nag.bereich, nag.gruppe as nutzungsartengruppe, na.nutzungsart, nu1.untergliederung1, nu2.untergliederung2, 
nas.nutzungsartengruppe as nutzungsartengruppeschl,nas.nutzungsart as nutzungsartschl,nas.untergliederung1 as untergliederung1schl,nas.untergliederung2 as untergliederung2schl,
n.wkb_geometry as the_geom
FROM alkis.n_nutzung n 
LEFT JOIN alkis.n_nutzungsartenschluessel nas on n.nutzungsartengruppe = nas.nutzungsartengruppe and n.werteart1 = nas.werteart1 and n.werteart2 = nas.werteart2 
LEFT JOIN alkis.n_nutzungsartengruppe nag on nas.nutzungsartengruppe = nag.schluessel 
LEFT JOIN alkis.n_nutzungsart na on nas.nutzungsartengruppe = na.nutzungsartengruppe and nas.nutzungsart = na.schluessel 
LEFT JOIN alkis.n_untergliederung1 nu1 on nas.nutzungsartengruppe = nu1.nutzungsartengruppe and nas.nutzungsart = nu1.nutzungsart and nas.untergliederung1 = nu1.schluessel
LEFT JOIN alkis.n_untergliederung2 nu2 on nas.nutzungsartengruppe = nu2.nutzungsartengruppe and nas.nutzungsart = nu2.nutzungsart and nas.untergliederung1 = nu2.untergliederung1 and nas.untergliederung2 = nu2.schluessel;

-- Sicht zur Darstellung der Muster- und Vergleichsstücke:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_muster_vergleichsstueck AS 
 SELECT mu.oid, mu.ogc_fid, mu.gml_id, mu.identifier, mu.beginnt, mu.endet, mu.advstandardmodell, mu.anlass, mu.merkmal, me.beschreibung AS gruppe, mu.nummer, mu.kulturart, ku.beschreibung AS kultur, mu.bodenart, art.beschreibung, mu.zustandsstufeoderbodenstufe, zu.beschreibung AS zustand_bodenstufe, mu.entstehungsartoderklimastufewasserverhaeltnisse, ent.beschreibung AS entstehung, mu.bodenzahlodergruenlandgrundzahl, mu.ackerzahlodergruenlandzahl, mu.wkb_geometry AS the_geom
   FROM alkis.ax_musterlandesmusterundvergleichsstueck mu
   LEFT JOIN alkis.ax_merkmal_musterlandesmusterundvergleichsstueck me ON mu.merkmal = me.wert
   LEFT JOIN alkis.ax_bodenart_bodenschaetzung art ON mu.bodenart = art.wert
   LEFT JOIN alkis.ax_kulturart_bodenschaetzung ku ON mu.kulturart = ku.wert
   LEFT JOIN alkis.ax_zustandsstufeoderbodenstufe_bodenschaetzung zu ON mu.zustandsstufeoderbodenstufe = zu.wert
   LEFT JOIN alkis.ax_entstehungsartoderklimastufewasserverhaeltnisse_bodensc ent ON ent.wert = ANY(mu.entstehungsartoderklimastufewasserverhaeltnisse);

-- Sicht zur Darstellung der Grablöcher:

SET search_path = alkis, public;
CREATE OR REPLACE VIEW alkis.lk_grabloch AS 
 SELECT gr.oid, gr.ogc_fid, gr.gml_id, gr.identifier, gr.beginnt, gr.endet, gr.advstandardmodell, gr.anlass, gr.art, gr.name, gr.bedeutung, be.beschreibung, gr.ingemarkung_land, gr.nummerierungsbezirk, gr.ingemarkung_gemarkungsnummer, gr.nummerdesgrablochs, gr.wkb_geometry AS the_geom
   FROM alkis.ax_grablochderbodenschaetzung gr, alkis.ax_bedeutung_grablochderbodenschaetzung be
  WHERE be.wert = ANY (gr.bedeutung);


-- 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';