Convertir un objet géographique en géométrique ?

Certaines fonctions ne sont disponibles que pour les objets de type géométrique (comme la fonction Reduce par exemple) et la conversion directe n'est pas possible. Alors voici un moyen de convertir un objet (@h) géographique en son équivalent géométrique (@g) :

DECLARE @g geometry;

DECLARE @h geography;

DECLARE @t varchar(max);

-- A changer avec votre objet à convertir

SET @h = (select geom from pays where name='Argentina');

SET @t = @h.STAsText()

SELECT len(@t) as 'Nb de carac.',@t as 'Texte'

SET @g = geometry::STGeomFromText(@t,4326);

SELECT @h.STNumPoints() as 'Nb points avant',@g.STNumPoints() as 'Nb points après'