PostGIS Problem - punkte im Umkreis von 5km (weltweit)

Hallo zusammen,

ich bin noch neu im Thema GIS und befasse mich aktuell mit folgendem Problem:

Ich habe mir PostGIS auf einer PostgreSQL DB installiert und nun folgende Tabelle mit Punkten die weltweit verteilt sind.

id    name    type    geom

Die Spalte

geom

beinhaltet die Position der Punkte. Definiert mit der SRID 4326

Sagen wir mal das wären Schulen

type = 'schule' 

und Krankenhäuser

type = 'krankenhaus'

Nun möchte ich eine Abfrage machen, die mir die Schulen und die Krankenhäuser im Umkreis von 5km zeigt.

Eine Abfrage in der Art:

SELECT p1.name as schule, p2.name as krankenhaus from
punkte p1, punkte p2
where ST_dwithin(p1, p2, 5000)
and p1.type = 'schule' and p2.type = 'krankenhaus' 

funktioniert leider nicht, da st_dwithin immer in Winkelgraden rechnet. Die 50000 sind also Winkeleinheiten.

ST_dwithin(p1::geometry, p2::geometry, 5000)

macht es leider auch nicht besser.

Habe ich einen Fehler in der Speicherung meiner Daten? Welche SRID muss ich denn verwenden? Oder habe ich da etwas noch nicht richtig verstanden?

Gruß
Stefan

Moin,

Du suchst vermutlich eher sowas: http://www.postgis.org/docs/ST_Distance_Sphere.html

LG,

-moenk