4

重複の可能性:
北緯から緯度経度への東経

データベースに多くのNorthing/Eastingデータがあり(例:) 、T-SQLでn 15217, e 88911変換する必要があります。Lat/long

どうすればいいですか?

4

2 に答える 2

7

ここには、東経/北緯を緯度/経度に変換できるオープン ソース dll ライブラリ(geocoordconversion)があります。したがって、生の変換に使用するために何かをノックアップできます。

別の方法として、この DLL を使用して Ordnance Survey の完全な郵便番号データセットを SQL Server にインポートし、東経/北緯を緯度/経度に変換するプロジェクトを GitHubに用意しています。これは、コマンドライン実行可能ファイルとして利用できます。これがあなたが望んでいるものとうまく一致するなら、それを使うことができるかもしれません。または、少なくとも、DLL を使用して変換を実行する方法を強調するコードがあります。

更新 私のプロジェクトから、DLLを使用して緯度/経度に変換する.NETスニペット:

/// <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);
}
于 2012-12-13T10:45:23.257 に答える
0

このページに、この UTM 形式を変更するために適用できるアルゴリズムが表示されている場合は、それらを変更してください。ダウンロードしたページにサンプルのスプレッド シートがあり、計算を確認できます。ルックアップ テーブルを取得し、それらを使用してデータに結合するのは非常に簡単だと思います。

于 2012-12-13T10:38:32.037 に答える