Soustraire une geometry SQL Server d'une autre

Existe-t-il un moyen de soustraire une geometry d'une autre? Une sorte de STUnion inverse ..

Le problème que je rencontre est que je dois m'assurer que la forme correspond à l'autre (sans changer la forme). J'ai pensé que je pourrais utiliser le STIntersection pour get la forme qui est "dedans". Cependant, STIntersection n'est pas précis et produit une forme qui peut (et ne) correspond pas à la vraie intersection.

Vous pouvez facilement voir ceci si vous prenez ensuite la différence STD de la forme originale.

Donc, ce que je voudrais faire est donné deux forms que je veux soustraire l'un de l'autre – par exemple, Prenez le STIsection, puis soustrayez le STDifference.

Des idées?

Edit: Pour l'instant, j'ai créé mon intersection à partir d'une version STBuffer (-1) de la plus grande forme, cela devrait tenir count de la variation mathématique de STIntersection avec une légère réduction de la précision. Cependant, j'aimerais toujours savoir si vous pouvez soustraire une geometry d'un autre ..

Utilisez simplement .STDifference() . Pas besoin de se croiser d'abord, puis soustraire l'intersection. Juste soustraire directement.

Avez-vous essayé STWithin ?