pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Ryan Orth <ryan@seahat.com>
To: jeff@propertykey.com
Cc: pgsql-sql@postgresql.org
Subject: Re: nearest match
Date: Thu, 13 Mar 2003 11:22:21 -0600 (CST)
Message-ID: <10193.65.102.128.233.1047576141.squirrel@fordparts.com> (raw)
In-Reply-To: <3E709AF4.9050407@propertykey.com>
References: <10112.65.102.128.233.1047504752.squirrel@fordparts.com>
	<3E709AF4.9050407@propertykey.com>

> Ryan wrote:
>> I'm doing some work with part diagrams and server-side image maps. I
>> want to store single point coordinates (x,y) for reference numbers in
>> a table looking like:
>>
>> reference_number text,
>> x int,
>> y int
>>
>> My question is:  How can I find the *nearest* match of some clicked on
>> coordinates without specifying some arbitrary distance from the stored
>> point?
>
> How about something like this?
>
> select reference_number, '(50,50)'::point <-> point(x,y) as distance
> from my_table order by distance limit 1;
>
> With a reasonably small table, it should perform fairly well.

Hot damn! thats exactly what I needed.  I imagine I would only be
comparing the distance of 50 points at any given time (about the max
number of reference numbers on any given image) so its mighty quick.
(184 points takes 1.80 msec to check)

I didn't even know about those geometric operators (I find new stuff every
day I swear).   Are they SQL standard or postgres specific?

Ryan





view thread (6+ messages)  latest in thread

Message-ID: <10193.65.102.128.233.1047576141.squirrel@fordparts.com>
Permalink:  ../10193.65.102.128.233.1047576141.squirrel@fordparts.com/
Also on:    postgresql.org/message-id/10193.65.102.128.233.1047576141.squirrel@fordparts.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: ryan@seahat.com, jeff@propertykey.com
  Subject: Re: nearest match
  In-Reply-To: <10193.65.102.128.233.1047576141.squirrel@fordparts.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox