On 01/09/2008, Michal Sokolowski <[EMAIL PROTECTED]> wrote:
>
>
>
> 2008/9/1 Tom Chubb <[EMAIL PROTECTED]>
>
>>  On 01/09/2008, Colin Guthrie <[EMAIL PROTECTED]> wrote:
>> >
>> > Tom Chubb wrote:
>> >
>> >> I thought it would be easy but it seems that I need to convert each
>> >> postcode
>> >> to Lat/Long using Geocoding and then work it out from there.
>> >>
>> >
>> > That's the best way: then just do something like:
>> >
>> > Here's how I do it in SQL, but the principle is the same in PHP, so I'm
>> > sure you'll be able to convert it.
>> >
>> > HTHs
>> >
>> > Col
>> >
>> > <snip>
>> >  public static function Distance($latA, $lngA, $latB, $lngB, $blnMiles =
>> > false)
>> >  {
>> >    $multiplier = 6371;
>> >    if ($blnMiles)
>> >      $multiplier *= 1.609344;
>> >
>> >    $rv = <<<ESQL
>> >  (ACOS(
>> >    SIN(RADIANS($latA)) * SIN(RADIANS($latB))
>> >    + COS(RADIANS($latA)) * COS(RADIANS($latB)) * COS(RADIANS($lngB) -
>> > RADIANS($lngA)))
>> >  * $multiplier)
>> > ESQL;
>> >    return $rv;
>> >  }
>> > </snip>
>> >
>> >
>> >
>> >
>> > --
>> >
>> > Colin Guthrie
>> > gmane(at)colin.guthr.ie
>> > http://colin.guthr.ie/
>> >
>> > Day Job:
>> >  Tribalogic Limited [http://www.tribalogic.net/]
>> > Open Source:
>> >  Mandriva Linux Contributor [http://www.mandriva.com/]
>> >  PulseAudio Hacker [http://www.pulseaudio.org/]
>> >  Trac Hacker [http://trac.edgewall.org/]
>> >
>> >
>> > --
>> > PHP General Mailing List (http://www.php.net/)
>> > To unsubscribe, visit: http://www.php.net/unsub.php
>> >
>> >
>>
>>
>> Thanks Colin,
>> That's all way above my head, but I think I'll be able to understand it
>> after a strong coffee!
>> Any idea how you get the co-ords from the UK Postcode though?
>> There seems to be a privacy factor with UK postcodes, but I'm only after
>> the
>> first section: eg SW11 6**
>>
>
>
> This address should help you. Thay have distance calculator on the page but
> also you can download database with postcodes and their co-ords ->
> http://www.pc-i.co.uk/postcode-distance.php
>
>


That's perfect for what I need! Thanks very much Michal

Tom

Reply via email to