[NAS] Erfahrungsbericht zum Laden von Alkisdaten
"Jäger, Frank (KRZ)"
F.Jaeger at KRZ.DE
Mon Feb 16 07:22:45 EST 2009
Hallo,
auch ich habe nun NAS-Daten des Kreises Lippe bekommen.
Mehr als 7 Monate nach Einführung von ALKIS möchten wir den kreisanghörigen Kommunen damit nun endlich wieder aktuelle Daten des Liegenschaftskatasters auf unserem Mapserver zur Verfügung stellen.
Die Daten:
Stadtgebiet von Lage, NBA-Erstabgabe, 128 Dateien, Menge: 1,69 GB, gezippt noch 52 MByte
Das System:
Debian 4, PostgreSQL 8.1, PostGIS 1.1
Wie Roland schon geschrieben hat, ist es ein konzeptioneller Fehler von PostNAS 0.3, die Datenbank-Struktur aus dem (zufälligen) Inhalt der ersten Datei aufzubauen. Das funktioniert mit Musterdaten in Form von *einer* Datei, nicht aber bei größeren Gebieten, die aufgeteilt werden müssen.
Es scheint noch Verwirrung zu herrschen bezüglich des Geometrie-Typs einzelner Elemente:
1. MultiPoint
-------------
Meldung: "ERROR 1: Unrecognised geometry type <MultiPoint>."
Kommt häufiger vor, führt aber nicht zum Abbruch.
"MultiPoint" kennt meine PostGIS nicht.
2. Beispiel: Bauwerk im Gewaesserbereich
----------------------------------------
Datenbank:
CREATE TABLE ax_bauwerkimgewaesserbereich
( ...
CONSTRAINT enforce_geotype_wkb_geometry CHECK (geometrytype(wkb_geometry) = 'LINESTRING'::text OR wkb_geometry IS NULL),
)
Konverter:
Command: INSERT INTO "ax_bauwerkimgewaesserbereich" (wkb_geometry , ....)
VALUES (GeomFromEWKT('SRID=25832;POLYGON ((480039.760999999998603 .....
ERROR 1: Terminating translation prematurely after failed
translation of layer AX_BauwerkImGewaesserbereich
* Der Konverter legt also das Geometriefeld als LINESTRING an und will anschließeden POLYGON hinein laden.
3. Beispiel: Bauwerk Oder Anlage Fuer Sport Freizeit Und Erholung
------------------------------------------------------------------
Datenbank:
CREATE TABLE ax_bauwerkoderanlagefuersportfreizeitunderholung
( ...
wkb_geometry geometry,
...
CONSTRAINT enforce_geotype_wkb_geometry CHECK (geometrytype(wkb_geometry) = 'POLYGON'::text OR wkb_geometry IS NULL),
)
Konverter:
Command: INSERT INTO "ax_bauwerkoderanlagefuersportfreizeitunderholung" (wkb_geometry , "advstandardmodell", "anlass", "bauwerksfunktion", "beginnt", "description", "gml_id", "sonstigesmodell") VALUES (GeomFromEWKT('SRID=25832;POINT (486345.052000000025146 5757310.441999999806285)'::TEXT) , 'DLKM', 0, 9999, '2008-06-09T11:42:35Z', 4250, 'DENW17AL0000VdCG', ARRAY['NWABK','NWDKOM'])
ERROR 1: Terminating translation prematurely after failed
translation of layer AX_BauwerkOderAnlageFuerSportFreizeitUndErholung
ERROR 1: INSERT command for new feature failed.
ERROR: new row for relation "ax_bauwerkoderanlagefuerindustrieundgewerbe" violates check constraint "enforce_geotype_wkb_geometry"
* Hier wird also das Geometriefeld als POLYGON angelegt.
Danach soll POINT hinein geladen werden.
-----
Gibt es in ALKIS/NAS keinen festgelegten Geometrietyp für eine Objektart?
Wir werden ein SQL-Script erstellen müssen, dass vor der ersten Konvertierung eine komplette Datenbank mit allen vorkommenden Attributen aufbaut.
Bei der Wahl des Geometrie-Typs müsste dann beim Laden vorzugsweise das Format der Datenbank verwendet werden, nicht das Format des ersten Vorkommens eines Attributs in NAS.
Bleibt die Frage, wie man aus einem Punkt ein Polygon zaubert.
Mit freundlichen Grüßen
F. Jäger
KRZ Lemgo
________________________________
From: nas-bounces at lists.osgeo.org [mailto:nas-bounces at lists.osgeo.org] On Behalf Of Segsa, Roland (Stadt Detmold)
Sent: Friday, February 13, 2009 1:14 PM
To: nas at lists.osgeo.org
Subject: [NAS] Erfahrungsbericht zum Laden von Alkisdaten
Hallo Liste!
Es ist soweit. Der Erstdatenbestand aus ALKIS für die Stadt Detmold liegt vor. (XML noch keine Geoinfodoc 6).
Ich habe die XML-Dateien (199 Stück) mit dem PostNAS-0.3 Konverter in die Postgresql 8.3.5 Datenbank mit Postgis 1.3 Aufsatz geladen. Der Ladevorgang war nach ca. 4 Stunden abgeschlossen. Während des Ladens ist auf dem Bildschirm ein paar Male die Fehlermeldung Error 1 unrecognised geometry type <MultiPoint> vorbeigerauscht. Sonst schien alles OK zu sein. Es wurden 91 Tabellen angelegt und mit Inhalten gefüllt.
....
Mit der ersten XML-Datei werden offensichtlich die Tabellen in Postgresql erstellt. Datensätze aus folgenden XML-Dateien die weitere Attribute enthalten werden nicht eingetragen. Hier müssten die Felder ergänzt werden!