Porcentagem de uma forma que existe dentro de outra forma no Sql Server 2008/2012

Uma função escalar simples para ver quanto uma forma existe dentro de outra forma, como uma porcentagem.

por exemplo. Quanto o SoHo cabe em Manhattan ?

CREATE FUNCTION [dbo].[PercentageOfIntersection]
(
@SmallShape GEOGRAPHY,
@LargeShape GEOGRAPHY
)
RETURNS FLOAT

AS

BEGIN
RETURN
(@SmallShape
.STIntersection(@LargeShape )
.STArea() /
(CASE
WHEN
@SmallShape .STArea() <= 0
THEN
0.0000001
ELSE
@SmallShape .STArea()
END)) * 100.00
END