« Return to Thread: SRID for analyzing a USA national data set in Meters
It is a common mis-assumption that you need to do a buffer calculation. To do this type of analysis, all you need is the distance_sphere() calculation: select *,distance_sphere(hospital1geom,hospitals2geom) from hospitals2 where distance_sphere(hospital1geom,hospitals2geom)<25*1609 order by distance_sphere(hospital1geom,hospitals2geom) asc; Just add a limit 1 to the end if all you want is the closest. No buffer necessary at all. David On 4/2/07, Michael Frumin mfrumin@... wrote:Right, I should be more specific from the outset. I did do some searching thru the PostGIS archives, and didn't find the answer I was looking for; is there a PostGIS FAQ somewhere? As for my problem, my inputs are two sets of geocoded hospitals, and I just want to be able to identify for each hospital in the first set, the hospitals in the second set within approximately 25 miles. I will the map these sets, with a 25 mile buffer around the first set, using Geoserver. So, distance and area are both somewhat important, heading not at all. distance_sphere(oid), sounds good for the calculation, but won't help with the buffering because it doesn't tell me the 'distance' in lat/lng space that would equate to 25 miles (because of course this varies over the globe). To achieve this I would need to reproject into something that is in meters, and buffer around that. How egregious would you expect the errors to be if I simply use the projection for the UTM zone that represents, say, Central time? thanks, mike_______________________________________________ postgis-users mailing list postgis-users@... http://postgis.refractions.net/mailman/listinfo/postgis-users
It is a common mis-assumption that you need to do a buffer calculation. To do this type of analysis, all you need is the distance_sphere() calculation:
select *,distance_sphere(hospital1geom,hospitals2geom) from hospitals2 where distance_sphere(hospital1geom,hospitals2geom)<25*1609 order by distance_sphere(hospital1geom,hospitals2geom) asc;
Just add a limit 1 to the end if all you want is the closest.
No buffer necessary at all.
David
On 4/2/07, Michael Frumin <mfrumin@...> wrote:Right, I should be more specific from the outset. I did do some searching thru the PostGIS archives, and didn't find the answer I was looking for; is there a PostGIS FAQ somewhere?
As for my problem, my inputs are two sets of geocoded hospitals, and I just want to be able to identify for each hospital in the first set, the hospitals in the second set within approximately 25 miles. I will the map these sets, with a 25 mile buffer around the first set, using Geoserver. So, distance and area are both somewhat important, heading not at all. distance_sphere(oid), sounds good for the calculation, but won't help with the buffering because it doesn't tell me the 'distance' in lat/lng space that would equate to 25 miles (because of course this varies over the globe). To achieve this I would need to reproject into something that is in meters, and buffer around that.
How egregious would you expect the errors to be if I simply use the projection for the UTM zone that represents, say, Central time?
thanks,
mike
« Return to Thread: SRID for analyzing a USA national data set in Meters
| Free embeddable forum powered by Nabble | Forum Help |