Calcular la distancia en metros o kilómetros entre dos puntos es más sencilla de lo que parece. Aquí expongo una función, que retorna la distancia lineal entre dos localidades.
A la función le enviamos la latitud y longitud de los dos lugares (punto a y punto b) y el tipo de dato en el que deseamos el resultado, metros (M) o kilómetros (K).
CREATE FUNCTION dn_fn_CalculaDistancia(
@latitud1 float,
@longitud1 float,
@latitud2 float,
@longitud2 float,
@unidad_metrica char(1)
)
RETURNS float
AS
BEGIN
--Unidad Metrica: K=kilometros M=metros
DECLARE @distancia float
--Radio de la tierra según WGS84
DECLARE @radius float
SET @radius = 6378.137
DECLARE @deg2radMultiplier float
SET @deg2radMultiplier = PI() / 180
SET @latitud1 = @latitud1 * @deg2radMultiplier
SET @longitud1 = @longitud1 * @deg2radMultiplier
SET @latitud2 = @latitud2 * @deg2radMultiplier
SET @longitud2 = @longitud2 * @deg2radMultiplier
DECLARE @dlongitud float
SET @dlongitud = @longitud2 - @longitud1
SET @distancia = ACOS(SIN(@latitud1) * SIN(@latitud2) + COS(@latitud1) *
COS(@latitud2) * COS(@dlongitud)) * @radius
IF @unidad_metrica = 'M'
SET @distancia = @distancia * 1000
-- Retorna distancia en Metros o Kilómetros
RETURN @distancia
END
Recordemos es la distancia lineal punto a punto.
- MSSQL calculo distancia coordenadas
- Cómo calcular distancia entre dos coordenadas GPS
- Distancia entre dos puntos geográficos
- Geolocalización en SQL Server
- Distancia entre dos puntos (dados por longitud y latitud)

Como podríamos aplicar esto para la búsqueda de puntos geográficos según su latitud y longitud en determinado radio?
Hola, no entiendo tu pregunta, en la función del ejemplo solo se deben de enviar los valores X y Y para el calculo de la distancia lineal.