Je hebt een meetkunde, die een vorm opslaat in de Euclidische meetkunde, en je wilt een punt op de wereldbol, vertegenwoordigd door een lengte- en breedtegraad, ermee associëren om te zien of het binnenin ligt. Dit werkt niet vanwege de manier waarop SQL de gegevens opslaat. U moet waarschijnlijk aardrijkskundegegevenstypen gebruiken om dit te controleren - Breedte- en lengtegraad zijn punten op een bol (eigenlijk geodetische gegevens, aangezien de aarde niet echt een bol is.)
Voor meer informatie over waarom ze anders zijn, zie deze uitleg van microsoft . Ook dit antwoord op stackoverflow:GEOMETRY en GEOGRAFIE verschil SQL Server 2008
Om uw gegevens van geometrie naar geografie te converteren, probeert u:Geography::STGeomFromText(cast(GeomCol as varchar(max)), 4326)
Dan kun je de STIntersects
. gebruiken methode, gedocumenteerd door microsoft hier
.