## Name

ST_SymDifference — Computes a geometry representing the portions of geometries A and B that do not intersect.

## Synopsis

geometry ST_SymDifference(geometry geomA, geometry geomB, float8 gridSize = -1);

## Descrizione

Returns a geometry representing the portions of geonetries A and B that do not intersect. This is equivalent to ST_Union(A,B) - ST_Intersection(A,B). It is called a symmetric difference because ST_SymDifference(A,B) = ST_SymDifference(B,A).

If the optional gridSize argument is provided, the inputs are snapped to a grid of the given size, and the result vertices are computed on that same grid. (Requires GEOS-3.9.0 or higher)

Eseguito dal modulo GEOS

Enhanced: 3.1.0 accept a gridSize parameter.

Requires GEOS >= 3.9.0 to use the gridSize parameter

Questo metodo implementa le OGC Simple Features Implementation Specification for SQL 1.1. s2.1.1.3

Questo metodo implementa la specifica SQL/MM. SQL-MM 3: 5.1.21

Questa funzione supporta il 3d e non distrugge gli z-index. However, the result is computed using XY only. The result Z values are copied, averaged or interpolated.

## Esempi

 The original linestrings shown together The symmetric difference of the two linestrings
--Safe for 2d - symmetric difference of 2 linestrings
SELECT ST_AsText(
ST_SymDifference(
ST_GeomFromText('LINESTRING(50 100, 50 200)'),
ST_GeomFromText('LINESTRING(50 50, 50 150)')
)
);

st_astext
---------
MULTILINESTRING((50 150,50 200),(50 50,50 100))
--When used in 3d doesn't quite do the right thing
SELECT ST_AsEWKT(ST_SymDifference(ST_GeomFromEWKT('LINESTRING(1 2 1, 1 4 2)'),
ST_GeomFromEWKT('LINESTRING(1 1 3, 1 3 4)')))

st_astext
------------
MULTILINESTRING((1 3 2.75,1 4 2),(1 1 3,1 2 2.25))