【发布时间】:2011-07-15 14:16:03
【问题描述】:
我正在使用 Bing Maps AJAX API 和 SQL Server 2008 开发一个映射服务。在我看来,我应该使用地理数据类型还是几何数据类型。我研究了很多,但没有找到满意的答案。以下是有关该主题的一些链接:
- SQL 2008 geography & geometry - which to use?
- http://www.mssqltips.com/tip.asp?tip=1847
- https://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical-mercator-projection/
如果我比较这两种类型,我会看到以下几点。
专业地理
- 全球范围内的一致距离计算(时间线!)
- 数据库的坐标系与使用 Bing 地图 API (WGS84) 向地图添加数据的坐标系相同
- 精确
反地理
- 计算成本高
- 数据大小限制在一个半球
- 缺少函数(STConvexHull()、STRelate()、...)
专业几何
- 计算速度更快
- 数据大小不受限制
反地理
- 以度为单位的距离单位(如果我们使用 WGS84 坐标)
对我来说,问题是我不需要一个快速的框架、一个很好的覆盖范围(整个世界)和强大的功能。所以我更喜欢几何类型。 几何类型的问题是,我必须将我的数据转换为平面投影(Bing Map 使用 SRID=3875),以便获得用于计算的米。但是当我在数据库中使用 Bing 地图投影 (3875) 时,如果我不想在地图中显示它,我必须将我的数据转换回 WGS84。
【问题讨论】: