postgresql/contrib/earthdistance
Bruce Momjian b825a8f025 When I removed the cube based stuff from eathdistance I accidentally
left a reference to cube in a comment in the regression test (that also
shows up in the expected output). This doesn't cause any real problem,
but people who read the comment might be confused. Attached is a diff to
remove the reference.

Bruno Wolff III
2002-10-21 20:33:21 +00:00
..
expected When I removed the cube based stuff from eathdistance I accidentally 2002-10-21 20:33:21 +00:00
sql When I removed the cube based stuff from eathdistance I accidentally 2002-10-21 20:33:21 +00:00
earthdistance.c
earthdistance.sql.in Update /contrib for "autocommit TO 'on'". 2002-10-18 18:41:22 +00:00
Makefile
README.earthdistance

---------------------------------------------------------------------
I corrected a bug in the geo_distance code where two double constants
were declared as int. I changed the distance function to use the
haversine formula which is more accurate for small distances.
I added a regression test to the package. I added a grant statement
to give execute access for geo_distance to public.

Bruno Wolff III
September 2002
---------------------------------------------------------------------
Date: Wed, 1 Apr 1998 15:19:32 -0600 (CST)
From: Hal Snyder <hal@vailsys.com>
To: vmehr@ctp.com
Subject: [QUESTIONS] Re: Spatial data, R-Trees

> From: Vivek Mehra <vmehr@ctp.com>
> Date: Wed, 1 Apr 1998 10:06:50 -0500

>  Am just starting out with PostgreSQL and would like to learn more about
> the spatial data handling ablilities of postgreSQL - in terms of using
> R-tree indexes, user defined types, operators and functions. 
> 
> Would you be able to suggest where I could find some code and SQL to
> look at to create these?

Here's the setup for adding an operator '<@>' to give distance in
statute miles between two points on the earth's surface. Coordinates
are in degrees. Points are taken as (longitude, latitude) and not vice
versa as longitude is closer to the intuitive idea of x-axis and
latitude to y-axis.

There's C source, Makefile for FreeBSD, and SQL for installing and
testing the function.

Let me know if anything looks fishy!

A note on testing C extensions - it seems not enough to drop a function
and re-create it - if I change a function, I have to stop and restart
the backend for the new version to be seen. I guess it would be too
messy to track which functions are added from a .so and do a dlclose
when the last one is dropped.