If you're only concerned with 25 miles, you could use the method to determine which UTM zone your data is in for your first hospital and then use that for the calculation and buffer creation.  You could convert Pedro's PHP script into PL/PGSQL to make it easy to work with in the db.
<br><br><div><span class="gmail_quote">On 4/2/07, <b class="gmail_sendername">Michael Frumin</b> <<a href="mailto:mfrumin@rpa.org">mfrumin@rpa.org</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">



  

<div bgcolor="#ffffff" text="#000000">
correct.  I wanted to calculate the buffer so that I can render a map
using GeoServer, which sits right on top of PostGIS, which would show
the first set of hospitals, the 25 mile radius, and the second set.<br>
<br>
thanks,<br>
mike<div><span class="e" id="q_111b3bbcaedc8adb_1"><br>
<br>
<a href="mailto:david.bitner@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">david.bitner@gmail.com</a>
wrote:
</span></div><blockquote cite="http://mid4ECE4FEECC.0EB06C4FTFSVEVOZ@gmail.com" type="cite"><div><span class="e" id="q_111b3bbcaedc8adb_3">
  <pre>It is a common mis-assumption that you need to do a buffer calculation.  To<br>do this type of analysis, all you need is the distance_sphere() calculation:<br>select *,distance_sphere(hospital1geom,hospitals2geom) from hospitals2 where
<br>distance_sphere(hospital1geom,hospitals2geom)<25*1609 order by<br>distance_sphere(hospital1geom,hospitals2geom) asc;<br><br>Just add a limit 1 to the end if all you want is the closest.<br><br>No buffer necessary at all.
<br><br><br>David<br><br><br>On 4/2/07, Michael Frumin <a href="mailto:mfrumin@rpa.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"><mfrumin@rpa.org></a> wrote:<br>  </pre>
  </span></div><blockquote type="cite"><div><span class="e" id="q_111b3bbcaedc8adb_5">
    <pre> Right, I should be more specific from the outset.  I did do some<br>searching thru the PostGIS archives, and didn't find the answer I was<br>looking for; is there a PostGIS FAQ somewhere?<br><br>As for my problem, my inputs are two sets of geocoded hospitals, and I
<br>just want to be able to identify for each hospital in the first set, the<br>hospitals in the second set within approximately 25 miles.  I will the map<br>these sets, with a 25 mile buffer around the first set, using Geoserver.
<br>So, distance and area are both somewhat important, heading not at all.<br>distance_sphere(oid), sounds good for the calculation, but won't help with<br>the buffering because it doesn't tell me the 'distance' in lat/lng space
<br>that would equate to 25 miles (because of course this varies over the<br>globe).  To achieve this I would need to reproject into something that is in<br>meters, and buffer around that.<br><br>How egregious would you expect the errors to be if I simply use the
<br>projection for the UTM zone that represents, say, Central time?<br><br>thanks,<br>mike<br><br><br>    </pre></span></div>
  </blockquote><span class="q">
  <pre>_______________________________________________<br>postgis-users mailing list<br><a href="mailto:postgis-users@postgis.refractions.net" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">postgis-users@postgis.refractions.net
</a>
<a href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://postgis.refractions.net/mailman/listinfo/postgis-users</a>
  </pre>
  <br>
  <hr size="4" width="90%"><br>
  <br></span><div><span class="e" id="q_111b3bbcaedc8adb_8">
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:<br>
select *,distance_sphere(hospital1geom,hospitals2geom) from hospitals2
where distance_sphere(hospital1geom,hospitals2geom)<25*1609 order by
distance_sphere(hospital1geom,hospitals2geom) asc; <br>
  <br>
Just add a limit 1 to the end if all you want is the closest.<br>
  <br>
No buffer necessary at all.<br>
  <br>
  <br>
David<br>
  <br>
  <br>
  <div><span class="gmail_quote">On 4/2/07, <b class="gmail_sendername">Michael
Frumin</b> <<a href="mailto:mfrumin@rpa.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">mfrumin@rpa.org</a>>
wrote:</span>
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div bgcolor="#ffffff" text="#000000">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?<br>
    <br>
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.<br>
    <br>
How egregious would you expect the errors to be if I simply use the
projection for the UTM zone that represents, say, Central time?<br>
    <br>
thanks,<br>
mike<br>
    <br>
    </div>
  </blockquote>
  </div>
</span></div></blockquote>
</div>

<br>_______________________________________________<br>postgis-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:postgis-users@postgis.refractions.net">postgis-users@postgis.refractions.net
</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="http://postgis.refractions.net/mailman/listinfo/postgis-users" target="_blank">http://postgis.refractions.net/mailman/listinfo/postgis-users</a><br><br>
</blockquote></div><br><br clear="all"><br>-- <br>************************************<br>David William Bitner