Você tem uma geometria, que armazena uma forma na geometria euclidiana, e deseja associar a ela um ponto no globo, representado por uma latitude e uma longitude, para ver se está dentro. Isso não funcionará, devido à maneira como o SQL armazena os dados. Você provavelmente precisará usar os tipos de dados Geography para verificar isso - Latitude e longitude são pontos em uma esfera (na verdade, dados geodésicos, já que a Terra não é exatamente uma esfera.)
Para obter mais informações sobre por que eles são diferentes, consulte esta explicação da microsoft . Também esta resposta no stackoverflow:GEOMETRY e GEOGRAPHY diferença SQL Servidor 2008
Para converter seus dados de geometria para geografia, tente:Geography::STGeomFromText(cast(GeomCol as varchar(max)), 4326)
Então você pode usar o
STIntersects
método, documentado pela microsoft aqui
.