假设我有一个邮政编码表,其中Geography
列填充了Global - WGS84(SRID 4326),我可以准确地将它们(使用STDistance
)与{{ 1}}已经填充了北美的点 - NAD83(SRID 4269)?
答案 0 :(得分:1)
简而言之,没有。
SQL Server要求所有项目的空间功能'具有相同的SRID。这是因为SRID在背景中提供了用于计算距离的其他信息,例如椭球模型。
也就是说,您可以使用第二列计算具有公共SRID并将其用于距离计算。它很简单:
Declare @commonSrid geography = geography::STGeomFromWKB(<existing column>.STAsBinary(), 4326);
在执行此操作时,您必须确保所有SRID都基于纬度和经度小数点坐标,而不是例如网格参考。另外,由于您没有在它们之间进行适当的转换,您可能会发现距离不是100%准确 - 但它们会非常接近。