osm2pgsql schema

Kann mir jemand erklären, wie ich zu einer Strecke/Linie der Tabelle line die Koordinaten der einzelnen Punkte herausfinden kann? Wenn ich in die Spalte way geometry schaue, kommt dort nur Buchstabensalat.

Meine Abfrage bisher:


SELECT 
  planet_osm_line.highway, 
  planet_osm_line.way
FROM 
  public.planet_osm_line
WHERE 
  planet_osm_line.highway = 'motorway';

Das da liefert vielleicht was brauchbares:

select highway,st_astext(way) from osm_line where highway='motorway';

 highway  | st_astext 
-------------------------
motorway | LINESTRING(1227629.45 6118439.06,1227200.25 6118106.97,1227069.29 6118019.58, ... )

Koordinaten sind x/y-Paare im SRS der Tabelle. Falls Länge/Breite gewünscht wird, wäre evtl.

select highway,st_astext(st_transform(way,4326))

geeignet, aber da hab ich wohl grad einen Bug (“failed to load NAD27-83 correction file”, muss ich mal suchen, was meine DB da von mir will…).

Grüße, Max

Edit: Problem behoben (proj4 nochmal inklusive der “proj-datumgrid-1.5.zip” installiert…):

select highway,st_astext(st_transform(way,4326)) from osm_line where highway='motorway'

 highway  | st_astext 
motorway | LINESTRING(11.0279829817024 48.069584659886,11.024127412503 48.0675911545925, ...)

Danke. Das sieht schon viel freundlicher aus.
Gibt es auch eine Lösung in der die Knoten IDs ausgegeben werden? So ließe sich viel einfacher feststellen ob ein Punkt Mitglied mehrerer Strecken ist.

Die IDs der Knoten stehen in osm_ways. Verknüpfbar über osm_id = id:

select osm_id,highway,nodes from osm_line join osm_ways on osm_ways.id=osm_line.osm_id where highway='motorway' limit 1;

osm_id |  highway   |   nodes

 119170134 | motorway | {1339715212,17477214, ...}