- Categorias:
ST_DISTANCE¶
Retorna a distância geodésica mínima entre dois GEOGRAPHY ou a distância euclidiana mínima entre dois objetos GEOMETRY.
Sintaxe¶
ST_DISTANCE( <geography_or_geometry_expression_1> , <geography_or_geometry_expression_2> )
Argumentos¶
geography_or_geometry_expression_1
O argumento deve ser do tipo GEOGRAPHY ou GEOMETRY.
geography_or_geometry_expression_2
O argumento deve ser do tipo GEOGRAPHY ou GEOMETRY.
Retornos¶
Retorna um valor REAL, que representa a distância:
Para valores de entrada GEOGRAPHY, a distância é em metros.
Para valores de entrada GEOMETRY, a distância é computada com as mesmas unidades usadas para definir as coordenadas de entrada.
Notas de uso¶
Retorna NULL se um ou mais pontos de entrada forem NULL.
Para objetos GEOMETRY, a função reporta um erro se os dois objetos GEOMETRY de entrada tiverem SRIDs diferentes.
Exemplos¶
Exemplos GEOGRAPHY¶
Isto mostra a distância em metros entre dois pontos com 1 grau de distância ao longo do equador (aproximadamente 111 quilômetros ou 69 milhas).
WITH d AS ( ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(1, 0)) ) SELECT d / 1000 AS kilometers, d / 1609 AS miles; +---------------+--------------+ | KILOMETERS | MILES | |---------------+--------------| | 111.195101177 | 69.108204585 | +---------------+--------------+
Isso mostra o uso da função ST_DISTANCE com valores NULL:
SELECT ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL)); +-----------------------------------------------------------+ | ST_DISTANCE(ST_MAKEPOINT(0, 0), ST_MAKEPOINT(NULL, NULL)) | |-----------------------------------------------------------| | NULL | +-----------------------------------------------------------+
Exemplos GEOMETRY¶
O exemplo a seguir compara a distância calculada para objetos de entrada GEOGRAPHY e GEOMETRY.
SELECT ST_DISTANCE(TO_GEOMETRY('POINT(0 0)'), TO_GEOMETRY('POINT(1 1)')) AS geometry_distance, ST_DISTANCE(TO_GEOGRAPHY('POINT(0 0)'), TO_GEOGRAPHY('POINT(1 1)')) AS geography_distance;+-------------------+--------------------+ | GEOMETRY_DISTANCE | GEOGRAPHY_DISTANCE | |-------------------+--------------------| | 1.414213562 | 157249.628092508 | +-------------------+--------------------+