[PostNAS] csv-Datei / Problem mit DB-Import von Grundausstattung

Thomas Baschetti info at thomas-baschetti.de
Mon Apr 16 05:45:48 EDT 2012


Am 16.04.2012 11:22, schrieb David.Mau at stadt.mainz.de:
>
> Hallo PostNAS-Gemeimde,
>
> vielen Dank für die schnellen Reaktionen und Ihre ausführlichen Antworten bzw. Fragen.
>
> 1) Das Ziel (Warum?):
> - in der ERP-Software sollen aktuelle ALKIS-Daten eingespielt werden
> - unser Partner für die ERP-Software sorgt für die Datenimport ins ERP-System
> - das Partnerunternehmen möchte aus dem "XML-Klumpen" die Daten strukturiert in einer csv-Datei aufbereitet haben
>
> 2) Zu Ihren Ausführungen:
> @ Herr Jäger:
> - der Focus der Auswertung liegt auf den Eigentümer (in diesem Fall unseren Kunden bzw. Tarifabnehmern)
>  
> @ Herr Baschetti:
> - ja, die csv-Export-Funktion ist keine SQL-Funktion, sondern das Ergebnis der SQL-Abfrage und soll als csv-Datei gespeichert werden können
> - ja, die Historie soll sich nur auf das Vorgängerflurstück beziehen
>

Und Sie brauchen jetzt im Prinzip die richtige(n) SQL-Abfrage(n)? Evtl. kann ich da in der 2. Wochenhälfte etwas unterstützen, sollte machbar sein
(Außer jemand anderes drängelt sich vor ;-)

> 3) Problem: Laden von *.xml-Dateien:
> Der Test-Import von Bestandsdatenauszug-Mustermonzel-06.05.2010.xml war erfolgreich.  Der Import der Gundausstattung (122 xml-Dateien) funktioniert per Einzelimport
> (gleiche Vorgehensweise wie bei Mustermonzel-Datei) leider nicht. Die Lösungsvorschläge von Ihnen Herr Jäger führen leider nicht zum Erfolg  (siehe:
> http://web.archiveorange.com/archive/v/1AbYi6WMmprvCUFMCjqK).
>
Die 1.9 von gdal ist ja verfügbar, die würde ich auf jeden Fall nehmen. Mit der funktionieren komplette Landkreise mit 400-600 Dateien in einem Rutsch.

> Ich habe dann das probiert (kenne mich mit Skripten, aber nicht so gut aus; BS: Windows XP):
> for nasdatei in D:/geodaten/alkis/*.xml ; do
>    ogr2ogr -f "PostgreSQL" -append PG:"dbname=alkis_nas user=postgres host=localhost port=5432" -a_srs EPSG:32632 D:/geodaten/alkis/${nasdatei}
> done
>
das ist Unix-Scripting, wird unter Windows nicht funktionieren. Dort könnte z.B. folgendes gehen (1-Zeiler):
for %q in D:\geodaten\alkis\*.xml do ogr2ogr -f "PostgreSQL" -append PG:"dbname=alkis_nas user=postgres host=localhost port=5432" -a_srs EPSG:32632 %d

(Auf der Kommandozeile, in einer Batchdatei .bat oder .cmd müssen die %-Zeichen verdoppelt werden, also
for %%q in D:\geodaten\alkis\*.xml do ogr2ogr -f "PostgreSQL" -append PG:"dbname=alkis_nas user=postgres host=localhost port=5432" -a_srs EPSG:32632 %%d


So ähnlich mache ich das gerade unter Windows, allerdings aufgeteilt auf mehrere Skripte, die dann auch Logausgaben machen und die Zeiten messen usw.
Wenn viele Daten eingelesen werden sollen würde ich auf jeden Fall die Standardwerte von Postgres erhöhen und evtl. bei ogr2ogr weitere Parameter angeben
(z.B. PG_USER_COPY=YES oder über -gt XXXXX die Anzahl der Features pro Transaktion deutlich raufsetzen). Beides aber nur, wenn der Import an sich funktioniert.

Viele Grüße
Thomas Baschetti

-- 

Thomas Baschetti - Systemanalyse Geographische Informationssysteme
Hakenstraße 8D
49074 Osnabrück

Tel: 0541 25 91 90 | mobil 01577 189 25 91
E-Mail: info at thomas-baschetti.de
www.thomas-baschetti.de
Ust-IdNr.: DE264355072

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://lists.osgeo.org/pipermail/nas/attachments/20120416/a412ab95/attachment.html