Gruppen und Themen für ALKIS: Gebäude
Aus kvwmap
Version vom 9. Juni 2015, 14:36 Uhr von Schley (Diskussion | Beiträge)
Ursprungsversion, LUP 01.01.2015
SET @group_id = 1; SET @connection = 'user=xxxx password=xxxx dbname=kvwmapsp'; INSERT INTO layer (`Name`,`alias`,`Datentyp`,`Gruppe`,`pfad`,`maintable`,`Data`,`schema`,`document_path`,`tileindex`,`tileitem`,`labelangleitem`,`labelitem`,`labelmaxscale`,`labelminscale`,`labelrequires`,`connection`,`printconnection`,`connectiontype`,`classitem`,`filteritem`,`tolerance`,`toleranceunits`,`epsg_code`,`template`,`queryable`,`transparency`,`drawingorder`,`minscale`,`maxscale`,`offsite`,`ows_srs`,`wms_name`,`wms_server_version`,`wms_format`,`wms_connectiontimeout`,`wms_auth_username`,`wms_auth_password`,`wfs_geom`,`selectiontype`,`querymap`,`logconsume`,`processing`,`kurzbeschreibung`,`datenherr`,`metalink`,`privileg`) VALUES('Alkis Gebäude','','2',@group_id,'SELECT * FROM lk_gebaeude WHERE 1=1','lk_gebaeude','the_geom from (select ogc_fid as oid, wkb_geometry as the_geom from alkis.lk_gebaeude) as foo using unique oid using srid=25833','alkis','','','','','',NULL,NULL,'',@connection,'','6','','','3','pixels','25833','','1',NULL,'30000765','1','100000','','EPSG:25833','','1.1.0','image/png','60','','','','','1','0','','Gebäude in ALKIS','Vermessungs- und Geoinformationsbehörde LWL-PCH','','0'); SET @last_layer_id1152=LAST_INSERT_ID(); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'ax_datenerhebung','ax_datenerhebung','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','15','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'bezeichner','bezeichner','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','4','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'dachform','dachform','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','12','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'dach_bezeichner','dach_bezeichner','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','13','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'gebaeudefunktion','gebaeudefunktion','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','3','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'gebaeudezustand','gebaeudezustand','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','9','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'gml_id','gml_id','lk_gebaeude','lk_gebaeude','bpchar','','','1','16','Text','','','','2','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'herkunft','herkunft','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','16','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'hochhaus','hochhaus','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','14','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'lagezurerdoberflaeche','lagezurerdoberflaeche','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','11','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'name','name','lk_gebaeude','lk_gebaeude','_varchar','','','1',NULL,'Text','','','','5','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'objekthoehe','objekthoehe','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','10','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'ogc_fid','ogc_fid','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','1','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'oid','oid','lk_gebaeude','lk_gebaeude','oid','','','1',NULL,'Text','','','','0','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'weiterefunktion_bezeich','weiterefunktion_bezeich','lk_gebaeude','lk_gebaeude','varchar','','','1',NULL,'Text','','','','7','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'weiterefunktion_wert','weiterefunktion_wert','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','6','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'wkb_geometry','wkb_geometry','lk_gebaeude','lk_gebaeude','geometry','POLYGON','','1',NULL,'Text','','','','17','0'); INSERT INTO layer_attributes (`layer_id`,`name`,`real_name`,`tablename`,`table_alias_name`,`type`,`geometrytype`,`constraints`,`nullable`,`length`,`form_element_type`,`options`,`alias`,`tooltip`,`order`,`privileg`) VALUES(@last_layer_id1152,'zustand','zustand','lk_gebaeude','lk_gebaeude','int4','','','1','32','Text','','','','8','0'); INSERT INTO classes (`Name`,`Layer_ID`,`Expression`,`drawingorder`,`text`) VALUES('alle',@last_layer_id1152,'','0',''); SET @last_class_id=LAST_INSERT_ID(); INSERT INTO styles (`symbol`,`symbolname`,`size`,`color`,`backgroundcolor`,`outlinecolor`,`minsize`,`maxsize`,`angle`,`angleitem`,`antialias`,`width`,`minwidth`,`maxwidth`,`sizeitem`) VALUES(NULL,'','1','-1 -1 -1',' ','0 0 0',NULL,NULL,'','',NULL,NULL,NULL,NULL,''); SET @last_style_id=LAST_INSERT_ID(); INSERT INTO u_styles2classes (style_id, class_id, drawingorder) VALUES (@last_style_id, @last_class_id, 0); INSERT INTO labels (`font`,`type`,`color`,`outlinecolor`,`shadowcolor`,`shadowsizex`,`shadowsizey`,`backgroundcolor`,`backgroundshadowcolor`,`backgroundshadowsizex`,`backgroundshadowsizey`,`size`,`minsize`,`maxsize`,`position`,`offsetx`,`offsety`,`angle`,`autoangle`,`buffer`,`antialias`,`minfeaturesize`,`maxfeaturesize`,`partials`,`wrap`,`the_force`) VALUES('arial',NULL,'240 0 19','255 255 255','',NULL,NULL,'255 255 255','',NULL,NULL,'8','6','10',NULL,NULL,NULL,NULL,NULL,NULL,'1',NULL,NULL,'1',NULL,NULL); SET @last_label_id=LAST_INSERT_ID(); INSERT INTO u_labels2classes (label_id, class_id) VALUES (@last_label_id, @last_class_id); UPDATE layer_attributes SET options = REPLACE(options, '1152', @last_layer_id1152) WHERE layer_id IN(@last_layer_id1152) AND form_element_type IN ('SubFormPK', 'SubFormFK', 'SubFormEmbeddedPK');
--Markus Hentschel (Diskussion) 15:58, 17. Mär. 2015 (CET)
Version vom 18.03.15 Wesentliche Änderungen: Lagebezeichnung mit reingenommen
Erweiterung des Views lk_gebaeude:
CREATE OR REPLACE VIEW alkis.lk_gebaeude AS SELECT o.oid, o.ogc_fid, o.gml_id, array_to_string(array(select gm.bezeichnung||', '||l.bezeichnung||' '||h.hausnummer from alkis.ax_lagebezeichnungmithausnummer h, alkis.ax_gemeinde gm, alkis.ax_lagebezeichnungkatalogeintrag l where h.gemeinde = gm.gemeinde and gm.endet is not null and h.gemeinde = l.gemeinde and h.lage = l.lage and l.endet is not null and h.gml_id=any(o.zeigtauf)),' ') as lagemithausnummer, array_to_string(array(select gm.bezeichnung||', '||l.bezeichnung||' '||p.pseudonummer from alkis.ax_lagebezeichnungmitpseudonummer p, alkis.ax_gemeinde gm, alkis.ax_lagebezeichnungkatalogeintrag l where p.gemeinde = gm.gemeinde and gm.endet is not null and p.gemeinde = l.gemeinde and p.lage = l.lage and l.endet is not null and p.gml_id=o.hat),' ') as lagemitpseudonummer, o.gebaeudefunktion, p.bezeichner, w.wert AS weiterefunktion, array_to_string(o.name,', ') as 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;
- Achtung: Die beiden Umbrüche bei ') as lagemithausnummer, und ') as lagemitpseudonummer, müssen exakt so auch ausgeführt werden, wenn der View mit pgAdmin geändert wird. Dadurch werden die Lagebezeichnungen (wenn ein Gebäude mehrere hat) im Textfeld untereinander geschrieben.
Gebäude LK MSE
--Norman Schley (Diskussion) 15:08, 9. Jun. 2015 (CEST)--
Wir haben die Pseudolagebezeichnung und die Lagebezeichnung mit Hausnummer geholt. Unser kvwmap-Layer greift auch gleichzeitig auf die besonderen Gebäude zu, sofern das Gebäude ein Nebengebäude besitzt.
View Gebäude
CREATE OR REPLACE VIEW alkis.lk_gebaeude AS SELECT ax_gebaeude.oid, ax_gebaeude.ogc_fid, ax_gebaeude.gml_id, strasse.gml_id AS gml_id_lb, ax_gebaeude.beginnt AS geb_beginnt, ax_gebaeude.endet AS geb_endet, ax_gebaeude.gebaeudefunktion, ax_gebaeude_funktion.bezeichner, ax_gebaeude.name, strasse.lbmh, strasse.beginnt AS lbmh_beginnt, strasse.endet AS lbmh_endet, pseudostrasse.lbmp, pseudostrasse.lbmp_beginnt, pseudostrasse.lbmp_endet, strasse.lbkat_beginnt, strasse.lbkat_endet, pseudostrasse.lbmpkat_beginnt, pseudostrasse.lbmpkat_endet, ax_gebaeude.grundflaeche, ax_gebaeude.anzahlderoberirdischengeschosse, ax_gebaeude.anzahlderunterirdischengeschosse, ax_gebaeude.dachform, ax_gebaeude_dachform.bezeichner AS dachform_bezeichner, ax_gebaeude.zustand, ax_gebaeude_zustand.bezeichner AS gebaeudezustand, ax_gebaeude.bauweise, ax_gebaeude_bauweise.bauweise_beschreibung, ax_gebaeude.ax_datenerhebung, ax_datenerhebung.bezeichner AS herkunft, ax_gebaeude.objekthoehe, ax_gebaeude.lagezurerdoberflaeche, ax_gebaeude.weiteregebaeudefunktion, ax_gebaeude_weiterefunktion.bezeichner AS bezeichnerweitere, ax_gebaeude.wkb_geometry FROM alkis.ax_gebaeude LEFT JOIN alkis.ax_gebaeude_funktion ON ax_gebaeude_funktion.wert = ax_gebaeude.gebaeudefunktion LEFT JOIN alkis.ax_gebaeude_dachform ON ax_gebaeude_dachform.wert = ax_gebaeude.dachform LEFT JOIN alkis.ax_gebaeude_zustand ON ax_gebaeude_zustand.wert = ax_gebaeude.zustand LEFT JOIN alkis.ax_gebaeude_weiterefunktion ON ax_gebaeude_weiterefunktion.wert = ANY (ax_gebaeude.weiteregebaeudefunktion) LEFT JOIN alkis.ax_datenerhebung ON ax_datenerhebung.wert = ax_gebaeude.ax_datenerhebung LEFT JOIN alkis.ax_gebaeude_bauweise ON ax_gebaeude_bauweise.bauweise_id = ax_gebaeude.bauweise LEFT JOIN ( SELECT ax_lagebezeichnungmithausnummer.gml_id, ax_lagebezeichnungmithausnummer.beginnt, ax_lagebezeichnungmithausnummer.endet, ax_lagebezeichnungkatalogeintrag.beginnt AS lbkat_beginnt, ax_lagebezeichnungkatalogeintrag.endet AS lbkat_endet, (ax_lagebezeichnungkatalogeintrag.bezeichnung::text || ' '::text) || ax_lagebezeichnungmithausnummer.hausnummer::text AS lbmh FROM alkis.ax_lagebezeichnungmithausnummer, alkis.ax_lagebezeichnungkatalogeintrag WHERE (ax_lagebezeichnungmithausnummer.gemeinde::text || ax_lagebezeichnungmithausnummer.lage::text) = (ax_lagebezeichnungkatalogeintrag.gemeinde::text || ax_lagebezeichnungkatalogeintrag.lage::text)) strasse ON strasse.gml_id::text = "substring"(ax_gebaeude.zeigtauf::text, 2, 16) LEFT JOIN ( SELECT ax_lagebezeichnungmitpseudonummer.gml_id, ax_lagebezeichnungmitpseudonummer.beginnt AS lbmp_beginnt, ax_lagebezeichnungmitpseudonummer.endet AS lbmp_endet, ax_lagebezeichnungkatalogeintrag.beginnt AS lbmpkat_beginnt, ax_lagebezeichnungkatalogeintrag.endet AS lbmpkat_endet, (ax_lagebezeichnungkatalogeintrag.bezeichnung::text || ' '::text) || ax_lagebezeichnungmitpseudonummer.pseudonummer::text AS lbmp FROM alkis.ax_lagebezeichnungmitpseudonummer, alkis.ax_lagebezeichnungkatalogeintrag WHERE (ax_lagebezeichnungmitpseudonummer.gemeinde::text || ax_lagebezeichnungmitpseudonummer.lage::text) = (ax_lagebezeichnungkatalogeintrag.gemeinde::text || ax_lagebezeichnungkatalogeintrag.lage::text)) pseudostrasse ON pseudostrasse.gml_id::text = ax_gebaeude.hat::text;
View besondere Gebäude
CREATE OR REPLACE VIEW alkis.lk_bes_gebaeude AS SELECT o.oid, o.ogc_fid, o.gml_id AS id_nebengeb, o.beginnt, o.endet, o.bauwerksfunktion, p.bezeichner, o.gehoertzu AS gml_id, o.wkb_geometry FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung o LEFT JOIN alkis.alkis_beziehungen v ON v.beziehung_zu::text = o.gml_id::text LEFT JOIN alkis.ax_sonstigesbauwerkodersonstigeeinrichtung_bauwerksfunktion p ON p.wert = o.bauwerksfunktion;
Hinweis: Die Sicht wird dann über das Post-Prozessing in eine Tabelle geschrieben um die Performance zu erhöhen.
Aber: Die Gebäude kommen sauber, doch leider funktioniert die Historie bei uns nicht.