Vous avez une géométrie, qui stocke une forme dans la géométrie euclidienne, et vous souhaitez y associer un point du globe, représenté par une latitude et une longitude, pour voir s'il se trouve à l'intérieur. Cela ne fonctionnera pas, en raison de la façon dont SQL stocke les données. Vous devez probablement utiliser les types de données Géographie pour vérifier cela - La latitude et la longitude sont des points sur une sphère (en fait des données géodésiques, puisque la Terre n'est pas tout à fait une sphère.)
Pour plus d'informations sur les raisons pour lesquelles ils sont différents, consultez cette explication de Microsoft . Aussi cette réponse sur stackoverflow :GÉOMÉTRIE et GÉOGRAPHIE différence SQL Serveur 2008
Pour convertir vos données de géométrie en géographie, essayez :Geography::STGeomFromText(cast(GeomCol as varchar(max)), 4326)
Ensuite, vous pouvez utiliser les STIntersects
méthode, documentée par microsoft ici
.