RE: [NAS] WG: Tabelle ax_flurstueck enthält nur Punktgeometrien
Jäger, Frank (KRZ)
F.Jaeger at KRZ.DE
Mit Dez 1 06:35:03 EST 2010
Hallo,
in dem SQL-Script wird die Function "AddGeometryColumn" verwendet um das Geometriefeld einzurichten.
Diese Function macht mehrere Dinge:
Sie speichert einen Verweis in "geometry_columns". Diese Metadaten dienen lesenden Programmen normalerweise zum Finden der Tabellen, die Geometrie enthalten.
Bei PostNAS müssen aber sogar die Tabellen dort einen (Dummy-)Eintrag erhalten, die gar keine Geometrie haben. PostNAS verwendet ausschließlich Tabellen, auf die in "geometry_columns" verwiesen wird.
Der Geometrie-Typ (Spalte "geometry_columns.type") ist nur nachrichtlich.
Die Function "AddGeometryColumn" setzt auch noch einige Constraints. Da wir hier mit gemischten Geometrietypen kämpfen, ist das hinderlich. Daher wird der Constraint im Script wieder heraus genommen:
ALTER TABLE ax_flurstueck
DROP CONSTRAINT enforce_geotype_wkb_geometry;
Für ein paar andere Tabellen muss das auch noch geschehen.
Ein Fall mit Geometrie POINT bei den Flurstücken ist mir noch nicht aufgefallen. Ich habe daher gerade mal nachgeschaut:
SELECT count(gml_id) as anzahl,
st_geometrytype(wkb_geometry)
FROM ax_flurstueck
GROUP BY st_geometrytype(wkb_geometry);
Für eine Gemeinde aus NRW wird gezählt:
256 MultiPolygon
23377 Polygon
Für die Musterdaten aus RLP wird gezählt:
2 MultiPolygon
2367 Polygon
Von Punktgeometrie zum Flurstück bin ich also noch verschont geblieben.
Die Vorwäsche der NAS-Datei mit sed kann auf Dauer nicht die Lösung sein. Kann das mal jemand im gdal-Trac als Fehler eintragen:
http://trac.osgeo.org/gdal/
Component = OGR_SF
Keywords = gml, nas
Mit freundlichen Grüßen
F. Jäger
> -----Original Message-----
> From: nas-bounces at lists.osgeo.org
> [mailto:nas-bounces at lists.osgeo.org] On Behalf Of Ralf Suhr
> Sent: Wednesday, December 01, 2010 11:43 AM
> To: Entwicklung einer NAS Schnittstelle
> Subject: Re: [NAS] WG: Tabelle ax_flurstueck enthält nur
> Punktgeometrien
...
> im NAS Objekt AX_Flurstueck stecken zwei Geometrien. Der
> Umring und die Objektkoordinate. PostNAS verwendet die in der
> XML Datei zuletzt vorkommende Geometrie. Der Workaround
> besteht z.Z. im löschen der Objektkoordinate mittels sed.
> In den Sachsenanhaltinischen NAS Daten besteht der
> Objektkoordinatenabschitt aus 5 Zeilen, deshalb der Aufruf:
> sed -i -e '/<objektkoordinaten>/,+4d' NAS Datei.
...
>
> Am Mittwoch 01 Dezember 2010, 11:14:11 schrieb Klein, Olaf (LGL):
..
> > ich habe mit PostNAS-0.5 ALKIS-Einrichtungsaufträge importiert.
> > Zuvor mit dem SQL-Skript von Herrn Jäger
> > "alkis_PostNAS_0.5_schema.sql" die Tabellen angelegt.
> >
> > Nun werden in die Tabelle AX_Flurstueck nur
> postgres-POINT-Geometrien
> > importiert anstatt der Flst-Grenz-Polygone.
..