zusammengefasste Bauwerkstabelle
zurück zu Gruppen_und_Themen_für_ALKIS#Bauwerke
Inhaltsverzeichnis
- 1 Hinweise
- 2 Tabellendefinition
- 3 Abfragen zum Füllen der Tabelle
- 3.1 ax_bauwerkoderanlagefuerindustrieundgewerbe
- 3.2 ax_bauwerkoderanlagefuersportfreizeitunderholung
- 3.3 ax_einrichtunginoeffentlichenbereichen
- 3.4 ax_heilquellegasquelle
- 3.5 ax_historischesbauwerkoderhistorischeeinrichtung
- 3.6 ax_leitung
- 3.7 ax_sonstigesbauwerkodersonstigeeinrichtung
- 3.8 ax_transportanlage
- 3.9 ax_turm
- 3.10 ax_vorratsbehaelterspeicherbauwerk
- 4 Keytables und Signaturen
Hinweise
--HolgerR (Diskussion) 13:57, 26. Jun. 2015 (CEST)
- Die Schlüsselfelder wurden als Schlüsselwerte in die Tabellen übernommen.
- Das Feld sonsstigeeigenschaften, in dem die Einzeleigenschaften zu den einzelnen Tabelle gespeichert werden sollen bekomme ich nicht gefüllt (s.u.)
- In der Tabelle ax_transportanlagen ist das Feld art plötzlich ein VarChar, hab ich erst einmal als Integer definiert. Eventuell müsste die Tabellendefinition angepasst werden
- Die Klassen zu der Bauwerksfunktion geht von 1-10, entsprechend der alphanumerischen Sortierung der Tabellennamen
- Der Geometrietyp ist entsprechend der Mapserverdefinition zugewiesen worden:
- 0 = Point
- 1 = Linestring
- 2 = Polygon
Tabellendefinition
CREATE TABLE alkis.lk_bauwerke ( ogc_fid serial NOT NULL, gml_id character varying(16) NOT NULL, -- Identifikator, global eindeutig identifier character varying, beginnt character(20), endet character(20), advstandardmodell character varying[], sonstigesmodell character varying[], anlass character varying, name character varying, geomtype integer, class integer NOT NULL, bauwerksfunktion integer, art integer, funktion integer, sonstigeeigenschaften character varying[], gehoertzubauwerk character varying, gehoertzu character varying, zeigtauf character varying, wkb_geometry geometry, CONSTRAINT lk_bauwerke_pk PRIMARY KEY (ogc_fid), CONSTRAINT enforce_dims_wkb_geometry CHECK (st_ndims(wkb_geometry) = 2), CONSTRAINT enforce_srid_wkb_geometry CHECK (st_srid(wkb_geometry) = 25833) ) WITH ( OIDS=TRUE ); INSERT INTO public.geometry_columns VALUES ('', 'alkis', 'lk_bauwerke', 'wkb_geometry', 2, 25833, 'GEOMETRY'); COMMENT ON COLUMN alkis.lk_bauwerke.gml_id IS 'Identifikator, global eindeutig'; COMMENT ON COLUMN alkis.lk_bauwerke.class IS 'Geometrietyp 0=Point, 1=Linstring, 2=Polygon'; COMMENT ON COLUMN alkis.lk_bauwerke.class IS 'Klassifizierung innerhalb der Nutzung. Aus verschiedenen Feldern importiert. Siehe "bauwerk_meta.fldclass".'; COMMENT ON COLUMN alkis.lk_bauwerke.sonstigeeigenschaften IS 'Sonstige Eigenschaften aus den einzenen Bauwerkstypen'; COMMENT ON COLUMN alkis.lk_bauwerke.gehoertzubauwerk IS 'Beziehung zu ax_bauwerkeeinrichtungenundsonstigeangaben (0..1): ''AX_SonstigesBauwerkOderSonstigeEinrichtung'' kann einem anderen Bauwerk zugeordnet werden.'; COMMENT ON COLUMN alkis.lk_bauwerke.gehoertzu IS 'Beziehung zu ax_gebaeude (0..1): ''AX_SonstigesBauwerkOderSonstigeEinrichtung'' kann einem Gebäude zugeordnet werden, soweit dies fachlich erforderlich ist.'; COMMENT ON COLUMN alkis.lk_bauwerke.zeigtauf IS 'Beziehung zu ax_lagebezeichnungmithausnummer (0..*): ''Turm'' zeigt auf eine ''Lagebezeichnung mit Hausnummer''.'; CREATE INDEX lk_bauwerke_geom_idx ON alkis.lk_bauwerke USING gist (wkb_geometry); CREATE UNIQUE INDEX lk_bauwerke_gml ON alkis.lk_bauwerke USING btree (gml_id COLLATE pg_catalog."default", beginnt COLLATE pg_catalog."default"); CREATE INDEX lk_bauwerke_gz ON alkis.lk_bauwerke USING btree (gehoertzu COLLATE pg_catalog."default"); CREATE INDEX lk_bauwerke_gzb ON alkis.lk_bauwerke USING btree (gehoertzubauwerk COLLATE pg_catalog."default"); CREATE INDEX lk_bauwerke_za ON alkis.lk_bauwerke USING btree (zeigtauf COLLATE pg_catalog."default");
Abfragen zum Füllen der Tabelle
--HolgerR (Diskussion) 13:52, 26. Jun. 2015 (CEST)
Ich hatte versucht, das Feld sonstigeeigenschaften (ein Array) durch folgenden Ausdruck zu füllen
'{"zustand="::varchar || zustand), "objekthoehe="|| objekthoehe}' AS sonstigeeigenschaften
leider ist mir das so nicht geglückt. Das Feld wurde daher auf 'NULL' gesetzt. Habt ihr da eine Lösung parat?
--Rahn (Diskussion) 15:02, 26. Jun. 2015 (CEST) So müsste es gehen:
ARRAY['zustand=' || zustand, 'objekthoehe='|| objekthoehe] AS sonstigeeigenschaften,
ax_bauwerkoderanlagefuerindustrieundgewerbe
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 1 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{"zustand="::varchar || zustand), "objekthoehe="|| objekthoehe}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_bauwerkoderanlagefuerindustrieundgewerbe ;
ax_bauwerkoderanlagefuersportfreizeitunderholung
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 2 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{'sportart='|| sportart}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_bauwerkoderanlagefuersportfreizeitunderholung ;
ax_einrichtunginoeffentlichenbereichen
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, NULL AS name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 3 AS class, -- Klasse zur Bauwerksfunktion NULL AS bauwerksfunktion, art, NULL AS funktion, -- '{'kilometerangabe='|| kilometerangabe}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_einrichtunginoeffentlichenbereichen ;
ax_heilquellegasquelle
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 4 AS class, -- Klasse zur Bauwerksfunktion NULL AS bauwerksfunktion, art, NULL AS funktion, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_heilquellegasquelle ;
ax_historischesbauwerkoderhistorischeeinrichtung
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 5 AS class, -- Klasse zur Bauwerksfunktion NULL AS bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{'archaeologischertyp='|| archaeologischertyp}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_historischesbauwerkoderhistorischeeinrichtung ;
ax_leitung
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, NULL AS name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 6 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{'spannungsebene='|| spannungsebene}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_leitung ;
ax_sonstigesbauwerkodersonstigeeinrichtung
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 7 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, funktion, -- '{'description='|| description}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_sonstigesbauwerkodersonstigeeinrichtung ;
ax_transportanlage
Achtung
hier ist das Feld art plötzlich ein varchar, hab ich erst einmal als Integer umgewandelt.
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 8 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, art::int, NULL AS funktion, -- '{'lagezurerdoberflaeche='|| lagezurerdoberflaeche, 'produkt='|| produkt}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_transportanlage ;
ax_turm
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 9 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{'zustand='|| zustand}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, zeigtauf, wkb_geometry FROM alkis.ax_turm ;
ax_vorratsbehaelterspeicherbauwerk
INSERT INTO alkis.lk_bauwerke ( gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, geomtype, class, bauwerksfunktion, art, funktion, sonstigeeigenschaften, gehoertzubauwerk, gehoertzu, zeigtauf, wkb_geometry ) SELECT gml_id, identifier, beginnt, endet, advstandardmodell, sonstigesmodell, anlass, name, CASE WHEN GeometryType(wkb_geometry) = 'POINT' THEN 0 WHEN GeometryType(wkb_geometry) = 'LINESTRING' THEN 1 WHEN GeometryType(wkb_geometry) = 'POLYGON' THEN 2 END as geomtype, 10 AS class, -- Klasse zur Bauwerksfunktion bauwerksfunktion, NULL AS art, NULL AS funktion, -- '{'speicherinhalt='|| speicherinhalt, 'lagezurerdoberflaeche='|| lagezurerdoberflaeche}' AS sonstigeeigenschaften, NULL AS sonstigeeigenschaften, NULL AS gehoertzubauwerk, NULL AS gehoertzu, NULL AS zeigtauf, wkb_geometry FROM alkis.ax_vorratsbehaelterspeicherbauwerk ;
Keytables und Signaturen
Hier der Link auf ein Archiv mit den ergänzenden Keytables betreffs der Entschlüsselung bei den Bauwerken.
[1]
Das Archiv enthält außerdem die Signaturen aus dem alkisplugin der Firma norBIT (umgewandelt in PNG) sowie die Definitionen für die Symboldatei.
zurück zu Gruppen_und_Themen_für_ALKIS#Bauwerke