aboutsummaryrefslogtreecommitdiff
path: root/noao/rv/rvidlines/idnearest.x
blob: 41aa4c61ead0e3ef5814554c9de6fb3753dd8b20 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
include	"identify.h"

# ID_NEAREST -- Find the nearest feature to a given coordinate.

procedure id_nearest (id, fitnear)

pointer	id			# ID pointer
double	fitnear			# Coordinate to find nearest feature

int	i
double	delta, delta1

begin
	if (ID_NFEATURES(id) < 1) {
	    ID_CURRENT(id) = 0
	    return
	}

	ID_CURRENT(id) = 1
	delta = abs (FIT(id,1) - fitnear)

	do i = 2, ID_NFEATURES(id) {
	    delta1 = abs (FIT(id,i) - fitnear)
	    if (delta1 < delta) {
		ID_CURRENT(id) = i
		delta = delta1
	    }
	}
end