Todos os produtos
Search
Central de documentação

MaxCompute:ST_DWITHIN

Última atualização: Aug 26, 2026

A função ST_DWITHIN verifica se a menor distância entre dois objetos geográficos está dentro de uma distância especificada.

Sintaxe

BOOLEAN ST_DWITHIN(GEOGRAPHY <value1>, GEOGRAPHY <value2>, DOUBLE <distance>)

Parâmetros

Valor de retorno

Retorna um valor BOOLEAN conforme as regras a seguir:

  • TRUE se a menor distância entre value1 e value2 for menor ou igual a distance; caso contrário, FALSE.

  • FALSE se value1 ou value2 for um objeto geográfico vazio.

Exemplos

  • Exemplo 1: Verifique se a menor distância entre dois pontos está dentro de um limiar especificado.

    -- Returns FALSE. The distance between the two points is approximately 157249.63 meters, which is greater than the specified threshold of 157249.0.
    SELECT ST_DWITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT(1 1)'), 157249.0);
    
    -- Returns TRUE. The distance between the two points is less than the specified threshold of 157249.7.
    SELECT ST_DWITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT(1 1)'), 157249.7);
  • Exemplo 2: Trate objetos geográficos vazios.

    -- Returns FALSE because one of the geographic objects is empty.
    SELECT ST_DWITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POINT EMPTY'), 157249.7);
  • Exemplo 3: Verifique se um ponto está dentro de um polígono usando distância zero.

    -- Returns TRUE because POINT(0 0) is inside the POLYGON, and the shortest distance is 0.
    SELECT ST_DWITHIN(ST_GEOGFROMTEXT('POINT(0 0)'), ST_GEOGFROMTEXT('POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))'), 0.0);

Tópicos relacionados