[PostNAS] Antworten zu Delete/Replace
Bernd Kamjunke
bernd.kamjunke at csogis.de
Sa Feb 16 12:45:00 PST 2013
Hallo Herr Jäger, hallo Frau Emde!
Ich bin leider immer noch (oder wieder) mit dem Problem beschäftigt,
ALKIS Fortführungsdaten mit GDAL zu konvertieren.
Meine Versuche den aktuellen Quellcode unter Windows mit gml und sqlite
Unterstützung zu kompilieren endeten leider in der vielzitierten
"dll hell"...
Nächster Versuch wäre ihr Vorschlag es unter Linux zu probieren.
Dazu habe ich mit git bash
git clone git://git.debian.org/git/pkg-grass/gdal.git
mir den wie ich dachte aktuellsten Code runtergeladen, aber
was mich stutzig macht ist, z.B. das die Versionsdatei immer noch
1.9.2 anzeigt... ?
Ist der Code der, der die letzten Anpassungen für NAS enthält? Oder
wo kann man den laden? Mittels SVN kommt man so glaube ich nur auf
ältere Versionen, oder?
Da ich unter Linux eher wenig Erfahrungen habe bin ich auch für jeden
Tipp zum kompilieren seeehr dankbar!
Schönen Gruß
Bernd Kamjunke
_________________________________________________________________
CSO GmbH
Informations-Lösungen
Forsthausstrasse 2
75180 Pforzheim
Fon +49 (0) 72 31 . 97 35 63 (direkt)
Fon +49 (0) 72 31 . 97 35 10 (Zentrale)
Fax +49 (0) 72 31 . 97 35 90
eMail Bernd.Kamjunke at csogis.de
web www.csogis.de
_________________________________________________________________
Geschäftsführer Jörg Schempf, Dipl.-Ing. (FH)
Amtsgericht Mannheim . HRB 503836
UST-ID DE 144 17 16 31
_________________________________________________________________
-----Ursprüngliche Nachricht-----
Von: nas-bounces at lists.osgeo.org [mailto:nas-bounces at lists.osgeo.org] Im Auftrag von Bernd Kamjunke
Gesendet: Montag, 19. November 2012 15:52
An: NAS Schnittstelle via ogr2ogr
Betreff: Re: [PostNAS] Antworten zu Delete/Replace
Hallo Herr Jäger!
Danke für die Infos. Hab das Problem erkannt, kann leider in SQLite keine Procedures oder Variablen innerhalb von Triggern verwenden... da hab ich noch einiges zu tun.
Und gdal mal eben selbst kompilieren unter Windows und Visual Studio ist ja auch nicht ganz ohne, oder?
Gruß und Dank
Bernd Kamjunke
_________________________________________________________________
CSO GmbH
Informations-Lösungen
Forsthausstrasse 2
75180 Pforzheim
Fon +49 (0) 72 31 . 97 35 63 (direkt) Fon +49 (0) 72 31 . 97 35 10 (Zentrale) Fax +49 (0) 72 31 . 97 35 90 eMail Bernd.Kamjunke at csogis.de web www.csogis.de _________________________________________________________________
Geschäftsführer Jörg Schempf, Dipl.-Ing. (FH) Amtsgericht Mannheim . HRB 503836 UST-ID DE 144 17 16 31 _________________________________________________________________
-----Ursprüngliche Nachricht-----
Von: nas-bounces at lists.osgeo.org [mailto:nas-bounces at lists.osgeo.org] Im Auftrag von "Jäger, Frank (KRZ)"
Gesendet: Montag, 19. November 2012 12:10
An: 'NAS Schnittstelle via ogr2ogr'
Betreff: Re: [PostNAS] Antworten zu Delete/Replace
Hallo,
bei uns treten die Fehler nach der Aktualisierung inzwischen nicht mehr auf.
> Gibt es eine verbesserte gdal-Version dazu? Wir haben bisher 1.9.2 verwendet.
Man sollte die aktuelle Entwicklungs-Version verwenden.
Auschecken des Quellcodes und selbst compilieren.
> Oder ist in einem Datenbank-Template ein Trigger geändert worden?
Ja, siehe
http://trac.wheregroup.com/PostNAS/browser/trunk/data/konvert/postnas_0.7/alkis_PostNAS_0.7_schema.sql
-- 2012-10-31 FJ Trigger fuer NAS-Replace-Saetze repariert:
...
CREATE OR REPLACE FUNCTION delete_feature_kill() RETURNS TRIGGER AS $ ...
-- Nur alte Objekte entfernen
query := 'DELETE FROM ' || NEW.typename
|| ' WHERE gml_id = ''' || gml_id || ''' AND beginnt < ''' || aktbeg || '''';
Und
http://trac.wheregroup.com/PostNAS/browser/trunk/data/konvert/postnas_0.7/pp_laden.sql
2012-10-29 Redundanzen aus alkis_beziehungen beseitigen, die nach NAS replace auftreten ...
DELETE
FROM alkis_beziehungen AS bezalt -- Beziehung Alt
WHERE EXISTS
...
> und haben daher die Vorgehensweise ... nur prinzipiell befolgt
Der Konverter fügt bei "replace" das geänderte Objekt in die Objekt-Tabelle ein und macht einen Eintrag in der Tabelle "delete".
Der Eintrag in "delete" löst den Trigger aus. Der Trigger soll die alten Objekte finden und löschen.
Bisher wurde nur nach "gml_id" gesucht und gelöscht, das war der Fehler.
Da zuerst das neue Objekt eingetragen wird (gleiche "gml_id" wie das alte) und erst dann der "replace" in die "delete"-Tabelle eingetragen wird, hat der Trigger das alte *und* auch das neue Objekt gelöscht. Daher die "Löcher" in der Karte.
Über die neue WHERE-Clausel im DELETE versuche ich das nun zu vermeiden.
Die redundanten Einträge in der Tabelle "alkis_beziehungen" werden derzeit mit einem SQL-Befehl nach dem Konverter-Lauf bereinigt.
Hier könnte man auch noch was in den Trigger einbauen damit die Datenbank während des Laufes konsistenter bleibt.
Mfg
F. Jäger
Von: nas-bounces at lists.osgeo.org [mailto:nas-bounces at lists.osgeo.org] Im Auftrag von Bernd Kamjunke
Gesendet: Montag, 19. November 2012 11:46
An: nas at lists.osgeo.org
Betreff: Re: [PostNAS] Antworten zu Delete/Replace
Hallo Herr Jäger, hallo an alle weiteren Beteiligten!
In meiner Firma haben wir das gleiche Problem mit NAS-Aktualisierungsdaten aus NRW:
..
Wir benutzen allerdings eine SQLite-Datenbank und haben daher die Vorgehensweise wie unter http://trac.wheregroup.com/PostNAS/wiki/SchrittfuerSchritt#
beschrieben nur prinzipiell befolgt.
Leider bin ich aus den Inhalten der Emails zu diesem Fehler abschließend nicht wirklich schlau geworden, daher meine Fragen:
Gibt es schon eine Lösung zu diesem Problem und wenn ja, wo genau "liegt" die?
Gibt es eine verbesserte gdal-Version dazu? Wir haben bisher 1.9.2 verwendet.
Oder ist in einem Datenbank-Template ein Trigger geändert worden?
Schönen Gruß
Bernd Kamjunke
_______________________________________________
NAS mailing list
NAS at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/nas
_______________________________________________
NAS mailing list
NAS at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/nas
More information about the NAS
mailing list