Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 为什么SQL Server几何体接受SRID?_Sql Server_Gis_Geography - Fatal编程技术网

Sql server 为什么SQL Server几何体接受SRID?

Sql server 为什么SQL Server几何体接受SRID?,sql-server,gis,geography,Sql Server,Gis,Geography,我理解为什么我们显然需要为地理类型提供坐标系定义,但是我不清楚为什么我们能够为几何类型指定地理坐标系?根据MSDN文档: 平面空间数据类型geometry在SQL Server中实现为公共语言运行时(CLR)数据类型。此类型表示欧几里德(平面)坐标系中的数据 如果地理类型设计为平面,我们如何将地理模型应用于它?文档还指出,几何体的默认行为是不具有关联的SRID,据我所知: SQL Server中几何体实例的默认SRID为0。对于几何空间数据,不需要空间实例的特定SRID来执行计算;因此,实例可

我理解为什么我们显然需要为地理类型提供坐标系定义,但是我不清楚为什么我们能够为几何类型指定地理坐标系?根据MSDN文档:

平面空间数据类型geometry在SQL Server中实现为公共语言运行时(CLR)数据类型。此类型表示欧几里德(平面)坐标系中的数据

如果地理类型设计为平面,我们如何将地理模型应用于它?文档还指出,几何体的默认行为是不具有关联的SRID,据我所知:

SQL Server中几何体实例的默认SRID为0。对于几何空间数据,不需要空间实例的特定SRID来执行计算;因此,实例可以驻留在未定义的平面空间中。为了在几何体数据类型方法的计算中指示未定义的平面空间,SQL Server数据库引擎使用SRID 0


对我来说有意义的是将投影坐标系指定给地理类型。然而,从我所能告诉你的,我们只能使用地理坐标系。那么回到我最初的问题,为什么我们能够为几何体类型指定地理坐标系?

有人刚刚投票赞成这个问题,所以我想我会回答它。据我所知,将SRID分配给几何体类型的唯一目的是用于元数据。如果从外部将地理数据转换为投影形式,则可以将其作为几何体类型存储在SQL Server中,因为它现在是平面的

SRID不用于任何计算,但用于保存记录。事实上,如果两个几何体变量具有不同的SRID,那么SQL Server在尝试执行操作时将抛出错误