- Categorias:
ST_UNION¶
Ao receber dois objetos de entrada GEOGRAPHY, retorna um objeto GEOGRAPHY que representa o conjunto combinado de formas para ambos os objetos (ou seja, a união de duas formas).
- Consulte também:
ST_UNION_AGG , ST_INTERSECTION , ST_DIFFERENCE , ST_SYMDIFFERENCE
Sintaxe¶
ST_UNION( <geography_expression_1> , <geography_expression_2> )
Argumentos¶
geography_expression_1
Um objeto GEOGRAPHY.
geography_expression_2
Um objeto GEOGRAPHY.
Retornos¶
A função retorna um valor do tipo GEOGRAPHY.
Notas de uso¶
Se qualquer vértice de um objeto de entrada estiver no limite do outro objeto de entrada (excluindo os vértices), alguns pontos da união podem estar representados mais de uma vez na saída,
Por exemplo, na instrução seguinte:
SELECT ST_UNION( TO_GEOGRAPHY('POINT(1 1)'), TO_GEOGRAPHY('LINESTRING(1 0, 1 2)') );
POINT(1 1)
está no limite doLINESTRING(1 0, 1 2)
mas não é um vértice dele.Neste exemplo, não há garantia de que ST_UNION produzirá uma saída mínima. A saída esperada deve ser o linestring de entrada:
LINESTRING(1 0, 1 2)
Mas a saída de fato pode ser:
GEOMETRYCOLLECTION(POINT(1 1),LINESTRING(1 0,1 1,1 2))
onde
POINT (1,1)
é representado duas vezes na saída: uma como o próprio ponto e outra como um ponto dentro do LineString.
Exemplos¶
O exemplo a seguir retorna um objeto GEOGRAPHY que representa a união de dois objetos de entrada GEOGRAPHY:
ALTER SESSION SET GEOGRAPHY_OUTPUT_FORMAT = 'WKT'; SELECT ST_UNION( TO_GEOGRAPHY('POLYGON((0 0, 1 0, 2 1, 1 2, 2 3, 1 4, 0 4, 0 0))'), TO_GEOGRAPHY('POLYGON((3 0, 3 4, 2 4, 1 3, 2 2, 1 1, 2 0, 3 0))') ) AS union_of_objects;
Esse exemplo produz a seguinte saída:
+-------------------------------------------------------------------------------------------------------------------------------------------+ | UNION_OF_OBJECTS | |-------------------------------------------------------------------------------------------------------------------------------------------| | POLYGON((3 0,3 4,2 4,1.5 3.500399839,1 4,0 4,0 0,1 0,1.5 0.5000571198,2 0,3 0),(1.5 1.500171359,1 2,1.5 2.500285599,2 2,1.5 1.500171359)) | +-------------------------------------------------------------------------------------------------------------------------------------------+
As imagens a seguir ilustram as diferenças nas áreas que representam os objetos de entrada e saída:
Entrada |
Saída |
---|---|