DECLARE @Route geography
SET @Route = geography::STLineFromText('LINESTRING(-0.175 51.0, -0.175 59.0)',4326)
DECLARE @Route2 geography
SET @Route2 = @Route.STDifference(geography::STPointFromText('POINT(-0.175 52)', 4326))
SELECT @Route2
Why does @Route2 evaluate to LINESTRING (-0.175 59, -0.175 51)
instead of a MULTILINESTRING
consisting of the line segments on either side of the point?
The only way I have been able to do this is by creating a second LINESTRING
with very small length (0.0001) and use this to subtract. It works, but it isn't very elegant.