PostGIS: Convert meters to arbitrary spatial reference units?

المشرف العام

Administrator
طاقم الإدارة
I'm writing a query that needs to be able to work with data of any SRID. The basic problem is very simple - I get two pieces of information:

  1. A point (SRID = 900913)
  2. A distance (unit = meters)
I [would like to] transform these into the native SRID, and then run a query to find features within the given distance of the point:

proj_point = ST_Transform(point, (SELECT ST_SRID(geom) FROM table LIMIT 1));proj_dist = Something... But what?SELECT * FROM table WHERE ST_Distance(geom, proj_point) < proj_dist ORDER BY geom proj_point LIMIT 10;My problem is the conversion of the units. I can look up the SRID of the native data and transform the point no problem. But how do I do the same with the distance?

I've seen answers to related questions, but they have all involved reprojecting the queried data. Holy overkill! This should be doable with a single lookup and multiplication...

Pointers, anyone? Thanks very much in advance!



أكثر...
 
أعلى