pg-SQL Hilfe!! ERROR:Operation on two GEOMETRIES with different SRIDs

hugo1981

Erfahrenes Mitglied
Hallo @ll,

irgendwie stehe ich total auf dem Schlauch.


Ich habe eine Tabelle Poi(name, bla, blu, geom)

Ich schreibe eine Abfrage in Java (arbeite mit JSP) die lautet (Funktion vereinfacht):

Code:
//Parameter:
double lat = 48.2189102173
double lon = 11.6243076324
double radius = 300.0

SELECT name, bla, blu
FROM Poi p
WHERE distance(p.geom, 'POINT("+lat+" "+lon+")') < radius

Hierbei wird der Fehler:
org.postgresql.util.PSQLException: ERROR: Operation on two GEOMETRIES with different SRIDs

ausgeworfen.

Wenn ich versuche die SRID an das POINT anzuhängen à la
Code:
WHERE distance(p.geom, 'POINT("+lat+" "+lon+")', 4326) < radius
erkennt Postgis die Funktion distance wegen falschen Parametern (das letzte zuviel) nicht mehr an..

SRID für poi.geom ist in der DB: 4326; ich nahm an, dass GPS Koordinaten (long, lat) auch SRID 4326 haben..
Meine Koordinaten habe ich grad aus google-maps nähe München.


Kann mir jemand erklären warum? bzw. wie ich das beheben kann? hab einiges leider ohne Erfolg probiert :(

Vielen vielen Dank im Voraus :)

lg,
hugo
 
Zuletzt bearbeitet:
So jetzt konnte ich das Problem lösen :D

Für alle die es Interessiert: Man muss das POINT in eine GEOMETRY "casten", hierbei kann man dann die SRID zuweisen..

Code:
WHERE distance(p.geom , GeometryFromText('POINT("+lon+" "+lat+")',4326)) < radius

lg,
hugo
 
Zurück