A função ST_DISTANCE retorna a menor distância entre dois objetos GEOGRAPHY, em metros.
Sintaxe
DOUBLE ST_DISTANCE(GEOGRAPHY <value1>, GEOGRAPHY <value2>)
Parâmetros
value1, value2: Obrigatórios. Valores do tipo de dados GEOGRAPHY data type. Construa objetos GEOGRAPHY com funções como ST_GEOGPOINT, ST_GEOGFROMWKB, ST_GEOGFROMTEXT, ST_MAKELINE e ST_MAKEPOLYGON.
Valor de retorno
Retorna um valor DOUBLE que representa a menor distância entre dois objetos GEOGRAPHY, em metros. Aplicam-se as seguintes regras:
Se
value1ouvalue2for um objeto GEOGRAPHY vazio, a função retornará NULL.Devido às limitações de precisão da S2 Geometry Library, o valor retornado pode diferir ligeiramente da distância real.
Exemplos
-
Exemplo 1: Calcular a menor distância entre dois pontos
SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT(1 1)')); -- Returns: +-----------------------+ | _c0 | +-----------------------+ | 157249.62809250783 | +-----------------------+ -
Exemplo 2: Tratar um objeto GEOGRAPHY vazio
-- Returns NULL because the second geography object is empty. SELECT ST_DISTANCE(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT EMPTY'));