Todos os produtos
Search
Central de documentação

MaxCompute:ST_MAKELINE

Última atualização: Aug 26, 2026

A função ST_MAKELINE cria um objeto geográfico LINESTRING a partir de pontos extremos especificados.

Sintaxe

A função ST_MAKELINE tem duas assinaturas. Selecione a que corresponde ao seu caso de uso.

  • Assinatura 1: Crie um objeto geográfico LINESTRING a partir de dois pontos extremos.

    GEOGRAPHY ST_MAKELINE(GEOGRAPHY <point1>, GEOGRAPHY <point2>)
  • Assinatura 2: Crie um objeto geográfico LINESTRING a partir de um ARRAY com um ou mais pontos extremos.

    GEOGRAPHY ST_MAKELINE(ARRAY<GEOGRAPHY> <points>)

Parâmetros

Valor retornado

Retorna um objeto geográfico LINESTRING. Aplicam-se as seguintes regras:

  • Retorna NULL se qualquer parâmetro GEOGRAPHY de entrada for NULL ou se o ARRAY de entrada (ou qualquer um de seus elementos) for NULL.

  • Se a entrada consistir em dois pontos idênticos ou em um ARRAY com um único ponto, o resultado degenerará para um objeto geográfico POINT.

  • As limitações de precisão da S2 Geography Library podem causar pequenas discrepâncias entre a entrada e a saída.

Exemplos

  • Exemplo 1: Criar um objeto geográfico LINESTRING a partir de dois pontos extremos.

    -- Provide two different endpoints to create a LINESTRING.
    SELECT ST_MAKELINE(ST_GEOGPOINT(270, 0), ST_GEOGPOINT(1, 1));
    -- Result:
    +-------------------------+
    | _c0                     |
    +-------------------------+
    | LINESTRING (-90 0, 1 1) |
    +-------------------------+
    
    -- Provide two identical endpoints. The result degenerates to a POINT.
    SELECT ST_MAKELINE(ST_GEOGPOINT(1, 1), ST_GEOGPOINT(1, 1));
    -- Result:
    +-------------+
    | _c0         |
    +-------------+
    | POINT (1 1) |
    +-------------+
  • Exemplo 2: Criar um objeto geográfico LINESTRING a partir de um ARRAY com um ou mais pontos extremos.

    -- Provide an ARRAY of points to create a LINESTRING.
    SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0), ST_GEOGPOINT(1, 1), ST_GEOGPOINT(2, 2)));
    -- Result:
    +----------------------------+
    | _c0                        |
    +----------------------------+
    | LINESTRING (0 0, 1 1, 2 2) |
    +----------------------------+
    
    -- Provide an ARRAY with a single element. The result degenerates to a POINT.
    SELECT ST_MAKELINE(ARRAY(ST_GEOGPOINT(0, 0)));
    -- Result:
    +-------------+
    | _c0         |
    +-------------+
    | POINT (0 0) |
    +-------------+

Tópicos relacionados