All pastes #733784 Raw Edit

Stuff

public text v1 · immutable
·published 2007-10-12 02:27 UTC
rendered paste body
CREATE  FUNCTION dbo.ComputeDistance
  (
    @Lat1   Numeric(6,4),
    @Lon1   Numeric(7,4),
    @Lat2   Numeric(6,4),
    @Lon2   Numeric(7,4)
  )
	RETURNS DECIMAL(6,2) 
		AS
		BEGIN
			IF @LAT1 IS NULL OR @LAT2 IS NULL OR @LON1 IS NULL OR @LON2 IS NULL OR @LAT1=0 OR @LAT2=0 OR @LON1=0 OR @LON2=0
				RETURN(9999)
			IF @LAT1 = @LAT2 AND @LON1 = @LON2
				RETURN(0)
	RETURN
		3958.75 * ACos(Sin(@Lat1/57.2958) *
		 Sin(@Lat2/57.2958) +
		 Cos(@Lat1/57.2958) *
		 Cos(@Lat2/57.2958) *
		 Cos(@Lon2/57.2958 - @Lon1/57.2958))
	END