Kit*_*Kat 2 sql-server geometry geography spatial geospatial
我正在使用Sql server 2012和谷歌地图客户端,我使用SRID 3785,因为它是地图使用的mercator.我使用几何点数据类型来存储位置.我读几何比地理更快.但是当我试图计算点之间的距离时,特别是当我使用STDistance时,我会得到一个距离...以十进制度...这很棒..但我真的需要米来向用户显示它们......因此,当您知道自己的SRID时,当您确切知道地球上的哪个位置时,您如何将十进制度数的距离转换为米?我知道地理学处理仪表......但是如何从几何距离计算得到米?我真的很想知道开发人员在地理类型出现之前是怎么做的......谢谢!
听起来你在这里遇到了几个问题:
首先,Google地图投影的正确EPSG代码是3857,而不是3785.请参阅我的博客文章http://alastaira.wordpress.com/2011/01/23/the-google-maps-bing-maps-spherical- mercator-projection /用于解释代码背后相当复杂的历史.
其次,如果您正确使用该SRS,您的坐标应该已经是米.例如,伦敦大本钟的坐标(EPSG:3857)应约为(-13900,6710330).如果你有像(51.5,-0.12)这样的坐标,那么那些是WGS84 lat/lon,你应该使用SRID的地理数据类型:4326
第三,3857是Google Maps用于显示空间数据的投影坐标系,但其API中的操作使用标准WGS84(SRID 4326),因此使用它来存储数据可能是有意义的.
非常简单:如果您想要以米为单位的结果,则应使用以度数输入的坐标的地理数据类型,或使用以米为单位输入的坐标的几何数据类型.