-
Notifications
You must be signed in to change notification settings - Fork 4
Geometriebildung
Thomas Schüttenberg edited this page Dec 11, 2017
·
8 revisions
- Nach dem Import der ISYBAU XML-Datei besteht der Datenbankinhalt ausschließlich aus geometrielosen Tabellen.
- Die Geomerie der Abwassertechnischen Anlagen muss anschließend mittels SQL aus Koordinaten gebildet werden.
- das Bezugssystem der Koordinaten wird im Feld
geometrie_crslage
am Ende der Tabelleidentifikati_datenkollekti_stammdatenkol_abwassertechnanlage
dokumentiert. - Jedoch nicht als EPSG-Code, sondern gemäß der CRS-Liste der ADV (GeoInfoDok 6.0.1)
z.B.DE_DHDN_3GK2
= DHDN, Gauß-Krüger-3-Grad-Streifen, 2. Streifen;ETRS89_UTM32
= ETRS89, UTM; zone 32
- das Bezugssystem der Koordinaten wird im Feld
- Die Geometriebildungen sind in geometriebildung_25832.sql bzw. geometriebildung_4647.sql zusammengefasst.
- Die ISYBAU Beispieldaten besitzen UTM Koordinaten mit Zone EPSG:4647!
-
Da bei einem Import mit
-overwrite
auch alle Views gelöscht werden, könnte man sie in eigenes Schema auslagern (z.B. "qgisybau
").
SELECT kk.parent_ogr_pkid,
st_setsrid(st_makeline(st_makepoint(kk.start_rechtswert, kk.start_hochwert),
st_makepoint(kk.ende_rechtswert, kk.ende_hochwert)), 25832)::geometry(LineString,25832) AS l_geom_2d
FROM isybau.identi_datenk_stammd_abwassanlage_geomet_geomet_kanten_kante kk
SELECT (SELECT p_1.parent_ogr_pkid
FROM isybau.ident_daten_stammd_abwassanlage_geomet_geomet_polygo_polygon p_1
WHERE pk.parent_ogr_pkid::text = p_1.ogr_pkid::text) AS parent_ogr_pkid,
st_setsrid(st_makeline(st_makeline(st_makepoint(pk.start_rechtswert, pk.start_hochwert),
st_makepoint(pk.ende_rechtswert, pk.ende_hochwert))), 25832)::geometry(LineString,25832) AS l_geom_2d
FROM isybau.ident_daten_stamm_abwasanlag_geome_geome_polygo_polygo_kante pk,
isybau.ident_daten_stammd_abwassanlage_geomet_geomet_polygo_polygon p
WHERE pk.parent_ogr_pkid::text = p.ogr_pkid::text
AND p.polygonart = 3 -- V105: 3=Polylinie eines Objektes (offen)
GROUP BY pk.parent_ogr_pkid;
- Kanten sind immer in der durch die Topologie festgelegte Fließrichtung zu dokumentieren.
SELECT
st_setsrid(st_makepoint(kp.rechtswert, kp.hochwert), 25832)::geometry(Point,25832) AS p_geom_2d
FROM isybau.identi_datenk_stammd_abwassanlage_geomet_geomet_knoten_punkt kp
SELECT (SELECT p_1.parent_ogr_pkid
FROM isybau.ident_daten_stammd_abwassanlage_geomet_geomet_polygo_polygon p_1
WHERE pk.parent_ogr_pkid::text = p_1.ogr_pkid::text) AS parent_ogr_pkid,
st_setsrid(st_makepolygon(st_makeline(st_makeline(st_makepoint(pk.start_rechtswert, pk.start_hochwert),
st_makepoint(pk.ende_rechtswert, pk.ende_hochwert)))), 25832)::geometry(Polygon,25832) AS f_geom_2d
FROM isybau.ident_daten_stamm_abwasanlag_geome_geome_polygo_polygo_kante pk,
isybau.ident_daten_stammd_abwassanlage_geomet_geomet_polygo_polygon p
WHERE pk.parent_ogr_pkid::text = p.ogr_pkid::text
AND (p.polygonart = ANY (ARRAY[1, 2])) -- V105: 1=innerer Polygonring (geschlossen), 2=äußerer Polyring eines Objektes (geschlossen)
GROUP BY pk.parent_ogr_pkid;