Hallo zusammen,
Ich hab ein Problem damit Openstreetmap GPS-Tacks (.gpx nicht .osm wie die Kartendaten) in PostGIS zu importieren.
Also eigentlich geht das wohl so, dass man das .gpx file erst mit gpx2shp ins Shape Format umwandelt und dann mit shp2pgsql ein sql-file erzeugt das man dann laden kann.
Schritt 1 (gpx -> shp) klappt ohne Probleme.
Beim 2ten (shp -> sql) Schritt bekomm ichs einfach nicht gebacken, dass ordentliche Insert-Anweisungen erzeugt werden. Die Tabelle wird ordentlich Created aber die Daten nicht eingefügt.
Meine Befehle waren folgende:
gpx2shp 670957.gpx
shp2pgsql 670957_trk test > foo.sql
foo.sql sieht dann so aus:
BEGIN;
CREATE TABLE "test" (gid serial PRIMARY KEY,
"shapeid" int4,
"name" varchar(32),
"cmt" varchar(255),
"desc" varchar(255),
"src" varchar(255),
"link" varchar(255),
"type" varchar(32),
"l(m)" float8,
"t(sec)" float8,
"s(km/hour)" float8,
"points" int8);
SELECT AddGeometryColumn('','test','the_geom','-1','MULTILINESTRING',2);
INSERT INTO "test" ("shapeid","name","cmt","desc","src","link","type","l(m)","t(sec)","s(km/hour)","points",the_geom) VALUES ('0','ACTIVE LOG 004',NULL,NULL,NULL,NULL,NULL,'28878.4231','2471.00','42.07','649','SEHR_LANGE_HEX_ZAHL');
END;
Keine Ahnung warum keine anständigen INSERT-Anweisungen generiert werden.
Die müsste ja im Prinzip sehr viele Tupel, in meinem konkrete .gpx-file so um die 1000, einfügen.
Statt dessen schein irgendwie alles als eine lange Hex-Zahl interpretiert zu werden und in ein Tupel gepackt zu werden.
Wär super wenn mir da jemand einen Tipp geben könnte, bin da schon den halben Tag dran und nervt doch schon so langsam…
Falls es jemand austesten will die GPS-Tracks von Openstreetmap gibts hier OpenStreetMap | Public GPS traces .
OS ist Ubuntu 9.10, Postgres 8.3.
Bin für jeden Hinweis dankbar.
Schönen Abend noch,
Frank