可能重复:
东向北到纬度经度
我在数据库中有许多北移/东移数据(例如:)n 15217, e 88911
,我需要Lat/long
使用 T-SQL 将其转换为。
我该怎么做?
这里有一个开源 dll 库(geocoordconversion),可以将东/北转换为纬度/经度。因此,您可以敲出一些东西以将其用于原始转换。
或者,可能有用的是,我在 GitHub 上有一个项目,该项目使用此 DLL 将完整的军械调查邮政编码数据集导入 SQL Server,将东/北转换为纬度/经度。这可作为命令行可执行文件使用。如果这与您想要的完全一致,那么您也许可以使用它。或者至少,有代码强调如何使用 DLL 执行转换。
更新 从我的项目中,.NET 片段使用 dll 转换为纬度/经度:
/// <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);
}
如果您看到此页面显示了您可以应用更改此 UTM 格式的算法,请更改它们。您下载的页面上有一个示例电子表格,并查看计算结果。我怀疑它应该很容易抓住查找表并使用它们加入您的数据。