【发布时间】:2018-04-24 07:49:02
【问题描述】:
我有附件表,其中每个附件都有 GPSLatitude 和 GPSLongitude 列。这是填充字段的遗留代码,其值如下所示:
GPSLatitude
50/1,5/1,1897/100
GPSLongitude
14/1,25/1,4221/100
我可以使用任何内置函数将它们转换为纬度和经度十进制值,如下所示:
Location Latitude
41.5803
Location Longitude
-83.9124
如果使用.net 也可以更轻松地完成此操作,我可以实现 SQL CLR 功能。
现在对我来说最困难的是理解这些值代表什么。遗留代码使用了一些 API,没有关于返回格式和如何阅读的文档。
以上值仅用于显示数据的格式。以下库用于获取值 - chestysoft 如下:
IF Image.ExifValueByName("GPSLatitude") <> "" THEN GPSLatitude = Image.ExifValueByName("GPSLatitude") ELSE GPSLatitude = NULL END IF
IF Image.ExifValueByName("GPSLongitude") <> "" THEN GPSLongitude = Image.ExifValueByName("GPSLongitude") ELSE GPSLongitude = NULL END IF
【问题讨论】:
-
这些旧值可能是“度、分和秒”格式的一些复杂变体吗?
-
@Cool_Br33ze 我想是的。我正在搜索,它必须是
(1) degrees, (2) degrees and decimal minutes, or (3) degrees, minutes, and decimal seconds.- 我猜,正在分隔这些值。 -
是
50/1,5/1,1897/100等于41.5803还是问题中的值只是为了显示格式? -
如果您想将这些值转换为更常用的纬度/经度值,您有办法验证这些值吗?
-
@MJH 只是格式化。我不知道这可以翻译成什么。
标签: sql-server tsql sql-server-2016 exif geography