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.
..