我在数据库中有很多Northing / Easting数据(例如:n 15217, e 88911
),我需要使用T-SQL将其转换为Lat/long
。
我怎么做?
答案 0 :(得分:7)
有一个开源dll库here (geocoordconversion)可以将eastings / northings转换为lat / lon。因此,您可以将某些内容用于原始转换。
或者,可能有用的是,我有project on GitHub使用此DLL将完整的Ordnance Survey邮政编码数据集导入SQL Server,将eastings / northings转换为lat / lon。这可用作命令行可执行文件。如果这与你想要的东西很好地对齐,那么你也许可以使用它。或者至少,有代码突出显示如何使用DLL执行转换。
<强>更新强> 从我的项目,.NET片段使用DLL转换为lat / lon:
/// <summary>
/// Converts northing and easting coordinates into Longitude/Latitude coordinates in the WGS84 coordinate system.
/// </summary>
/// <param name="northing">northing coordinate</param>
/// <param name="easting">easting coordinate</param>
/// <returns>converted coordinates</returns>
protected PolarGeoCoordinate ConvertToLonLat(double northing, double easting)
{
// Use GeoCoordConversion DLL to convert the Eastings & Northings to Lon/Lat
// coordinates in the WGS84 system. The DLL was pulled from: http://code.google.com/p/geocoordconversion/
// and is available under the GNU General Public License v3: http://www.gnu.org/licenses/gpl.html
GridReference gridRef = new GridReference((long)easting, (long)northing);
PolarGeoCoordinate polarCoord = GridReference.ChangeToPolarGeo(gridRef);
return PolarGeoCoordinate.ChangeCoordinateSystem(polarCoord, CoordinateSystems.WGS84);
}
答案 1 :(得分:0)
如果您看到this page显示了可以应用于更改此UTM格式的算法,则更改它们。您下载的页面上有一个样本电子表格,并查看计算结果。我怀疑抓住查找表并使用它们加入你的数据应该很容易。