zusammengefasste Bauwerkstabelle
Aus kvwmap
Version vom 26. Juni 2015, 12:28 Uhr von HolgerR (Diskussion | Beiträge)
zurück zu Gruppen_und_Themen_für_ALKIS#Bauwerke
Inhaltsverzeichnis
Hinweise
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
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
;
zurück zu Gruppen_und_Themen_für_ALKIS#Bauwerke