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