| From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
|---|---|
| To: | Tad Marko <tad(at)tadland(dot)net> |
| Cc: | Bruno Wolff III <bruno(at)wolff(dot)to>, <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: Earth distance |
| Date: | 2003-03-27 14:40:54 |
| Message-ID: | 20030327063840.W76526-100000@megazone23.bigpanda.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
On Thu, 27 Mar 2003, Bruno Wolff III wrote:
> On Wed, Mar 26, 2003 at 18:29:42 -0600,
> Tad Marko <tad(at)tadland(dot)net> wrote:
> > Bruno,
> >
> > I aplogize for bothering you direclty, but I'm having some difficulty with
> > some syntax using the earth distance functions. Every single example I can
> > find is using hard coded constants for the latitude and longitude, but I'm
> > trying to use a join to get these values. Basically, what I'm trying to do
> > is:
> >
> > select up.first_name, up.last_name, up.city, zip_code from user_primary as
> > up, ziplocs as zl where zl.zip=up.zip_code::integer and '(33.0, 97.1)'::point
> > <@> '(zl.lat, zl.lon)'::point < 50;
> >
> > But this fails with a
> >
> > ERROR: Bad point external representation '(zl.lat, zl.lon)'
> >
> > message. I simply cannot figure out how to specify the lat and lon values
> > from the joined table. Can you offer any suggestions?
That'd attempt to make a point from the string literal given, not what you
want. I think point(zl.lat, zl.lon) might work (there's a point function
that takes two doubles and returns a point).
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tim Ashman | 2003-03-27 14:54:12 | Re: Development Language, OS and PostgreSQL |
| Previous Message | Bruno Wolff III | 2003-03-27 13:05:30 | Re: Earth distance |