重複の可能性:
北緯から緯度経度への東経
データベースに多くのNorthing/Eastingデータがあり(例:) 、T-SQLでn 15217, e 88911
変換する必要があります。Lat/long
どうすればいいですか?
重複の可能性:
北緯から緯度経度への東経
データベースに多くのNorthing/Eastingデータがあり(例:) 、T-SQLでn 15217, e 88911
変換する必要があります。Lat/long
どうすればいいですか?
ここには、東経/北緯を緯度/経度に変換できるオープン ソース 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);
}
このページに、この UTM 形式を変更するために適用できるアルゴリズムが表示されている場合は、それらを変更してください。ダウンロードしたページにサンプルのスプレッド シートがあり、計算を確認できます。ルックアップ テーブルを取得し、それらを使用してデータに結合するのは非常に簡単だと思います。