在 SQL Server 中将经纬度转换为 UTM X 和 UTM Y 坐标的函数
Posted
技术标签:
【中文标题】在 SQL Server 中将经纬度转换为 UTM X 和 UTM Y 坐标的函数【英文标题】:Function to convert from latitude and longitude to UTM X and UTM Y coordinate in SQL Server 【发布时间】:2019-12-04 07:42:28 【问题描述】:我需要在 SQL Server 中创建一个将经度和纬度转换为 UTM X 和 UTM Y 坐标的函数。当用户提供经度和纬度时,该函数应将该信息转换为 UTM X 和 UTM Y 坐标。
【问题讨论】:
请向我们展示您的代码以及您遇到的问题。 【参考方案1】:我在 .NET 中开发了一个库,可以从事务 sql 调用将 WGS84/UTM 坐标转换为纬度和经度
它的作用正好相反,但由于它使用 CoordinateSharp,您可以下载代码并轻松更改它以从 lat/long 转换为 wgs84。
你可以从github下载:
https://github.com/j-v-garcia/UTM2LATITUDE
usage:
SELECT dbo.UTM2LATITUDE(723399.51,4373328.5,'S',30) AS Latitude, dbo.UTM2LONGITUDE(723399.51,4373328.5,'S',30) AS Longitude
result:
39,4805657453054 -0,402592727245112
<param name="XUTM">pos UTM X</param>
<param name="YUTM">pos UTM Y</param>
<param name="LatBand">Latitude band grid zone designation letter (see http://www.dmap.co.uk/utmworld.htm) </param>
<param name="LongBand">Longitude band grid zone designation number (see http://www.dmap.co.uk/utmworld.htm) </param>
【讨论】:
以上是关于在 SQL Server 中将经纬度转换为 UTM X 和 UTM Y 坐标的函数的主要内容,如果未能解决你的问题,请参考以下文章
通过转换为 utm 计算纬度/经度距离与使用近似方法给出不同的结果