postgresql/contrib/earthdistance
Peter Eisentraut 805e431a38 Add support for VPATH builds, that is, building somewhere else than in the
source directory.  This involves mostly makefiles using $(srcdir) when they
might have used ".".  (Regression tests don't work with this, yet.)

Sort out usage of CPPFLAGS, CFLAGS (and CXXFLAGS).  Add "override" keyword
in most places, to preserve necessary flags even when the user overrode the
flags.
2000-10-20 21:04:27 +00:00
..
Makefile Add support for VPATH builds, that is, building somewhere else than in the 2000-10-20 21:04:27 +00:00
README.earthdistance Add missing /contrib files 2000-06-19 14:02:16 +00:00
earthdistance.c /contrib patch from Karel. 2000-06-15 18:55:34 +00:00
earthdistance.sql.in Add missing /contrib files to CVS. 2000-06-15 19:05:22 +00:00

README.earthdistance

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.