在SQL Server Spatial中使用几何而不是地理数据类型?


15

从历史上看,我主要在SQL Server中使用简单的纬度和经度坐标。我将它们作为地理数据类型存储在SQL Server中,并在各种显示(主要是Google Maps)上呈现它们。

最近,我开始使用来自各种来源的shapefile数据集,并且几乎全部是几何图形。此外,他们使用各种坐标参考系统。

与之合作真是太疯狂了。

考虑到大多数观看和使用VAST的人都希望采用这种格式,因此坚持使用WGS84确实无法实现这些特定空间参考系统的某些优势?


7
地理学是一个覆盖整个地球的系统,利用的椭球使地球变得相对不准确(因为它与测量有关)。每个“几何” CRS都与一个较小的区域相关,并被设计为对该定义区域进行准确的测量。验船师将其称为地面系统甚至是本地crs进一步向前迈进了一步。他们有一个起始控制点和/或控制点网络,并在该网络内进行测量以获得非常高的准确性(低于1%)。这导致我们需要做大量工作来了解差异
Brad Nesom 2014年

@BradNesom对此表示感谢。我认为我只是从我的需求出发,而不是从测量师的角度来看。
埃里克

Answers:


14

Stack Overflow有一个很好的答案,它有点像这样:

地理类型比几何类型更具限制性。它不能跨过不同的半球,因此必须逆时针绘制外圈。

其余的可以在SQL Server的Geography数据类型与Geometry数据类型中找到

一个几何VS地理学在从战壕博客进入更详细的SQL文章:

如果您正在寻找两种数据类型之间最大的差异,则将看到它的功能。几何对象只是2D平面多边形。这意味着,无论您将地球上的某个国家(例如“弯曲”的加拿大)还是靠近赤道的国家(例如“平坦”的巴西)都没关系。

另一方面,地理对象是3D(或什至4D)多边形,其曲线与地球的形状相同。这意味着2点之间的差值不是直线计算的,但是需要考虑地球的曲率。

另一个关键差异是将数据存储在标准坐标系(例如NAD_1983_StatePlane_California Zone 5)中的能力,并且可以使用空间数据库的所有功能,空间函数等,最重要的是可以使用局部坐标系的空间精度-地理位置作为您的数据类型,您只能将数据存储在WGS84中。

因此,我想说的是,如果您选择几何图形,请使用EPSG:102645/102245(您必须检查SoCal的标准“状态平面区域5”是什么),并且所有设置都可以使用您要进行的分析。如果要共享,则将数据集导出到WGS84(如果首选共享)。


从概念上讲,我可以理解,但是就洛杉矶县犯罪地图而言,它是一个县。即使是比我所看到的(可能)更大的商定数据预测,也只是(至少)我一直在努力(至少)在可引用的任何理论优势方面的互操作性难题。
埃里克

然后,我想说的是,如果您了解这些限制,并且可以在这些限制范围内操作,那么就应该努力!
DPSSpatial 2014年

我很想,如果我有一个水晶球来确定洛杉矶县的“ 5号州立飞机”的意思。我希望它购买的精度提高3毫米值得其他所有人都试图理解的头痛。
埃里克

更新了我的答案-使用几何作为数据类型,您可以将数据存储在状态平面中,而您不必担心...让我知道您的想法。
DPSSpatial 2014年

3
@radpin我同意从非GIS人员的角度学习这些东西是绝对的,Kafkaeque存在的恐怖,而且我大部分时候都同意在WGS84中提供一般用途的公共数据。但是,对于物业线和谈论公用事业管道和电线的潜在悲剧,那些3毫米可能意味着很多钱/诉讼。此外,这是加利福尼亚调查区域的地图,其中洛杉矶县是基准点之间的特例。好玩
Jason Scheirer 2014年

4

也许检查一下“投影坐标系”的属性,以了解其效用?

投影坐标系中提供了3个方面或属性,可确定其效用和原理。当然,任何在2D表面上的3D空间投影都会显示出失真与现实的关系。根据您的应用程序,使用特定的投影坐标系可以确保更准确地表示现实,并且在某些应用程序中,精细度精度很重要。

投影坐标系的三个属性。您可以在某些方面拥有完美,但在所有方面都不具有完美:

等距 -地图上显示的(到特定地点的)距离是真实的。

保形 -放大时,地图上显示的角度是真实的。

相等面积 -地图上记录的面积等于实际物体的面积。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.