zusammengefasste Bauwerkstabelle: Unterschied zwischen den Versionen
K (→Hinweise) |
Wirsi (Diskussion | Beiträge) |
||
| (Eine dazwischenliegende Version von einem anderen Benutzer werden nicht angezeigt) | |||
| Zeile 87: | Zeile 87: | ||
leider ist mir das so nicht geglückt. Das Feld wurde daher auf 'NULL' gesetzt. | leider ist mir das so nicht geglückt. Das Feld wurde daher auf 'NULL' gesetzt. | ||
Habt ihr da eine Lösung parat? | Habt ihr da eine Lösung parat? | ||
| + | |||
| + | --[[Benutzer:Rahn|Rahn]] ([[Benutzer Diskussion:Rahn|Diskussion]]) 15:02, 26. Jun. 2015 (CEST) So müsste es gehen: | ||
| + | |||
| + | ARRAY['zustand=' || zustand, 'objekthoehe='|| objekthoehe] AS sonstigeeigenschaften, | ||
===ax_bauwerkoderanlagefuerindustrieundgewerbe=== | ===ax_bauwerkoderanlagefuerindustrieundgewerbe=== | ||
| Zeile 390: | Zeile 394: | ||
; | ; | ||
</pre> | </pre> | ||
| + | |||
| + | ==Keytables und Signaturen== | ||
| + | Hier der Link auf ein Archiv mit den ergänzenden Keytables betreffs der Entschlüsselung bei den Bauwerken. | ||
| + | [http://geoportal-vg.de/download/bauwerk.zip]<br> | ||
| + | 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]] | zurück zu [[Gruppen_und_Themen_für_ALKIS#Bauwerke]] | ||
Aktuelle Version vom 9. Februar 2016, 08:13 Uhr
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