すべての郵便番号の GeoCoordinates を 10 進数形式 (例: 5099755、928690) でデータベースに格納しています。
これらの値に基づいてエリア検索を行いたいのですが、見つけた数式では、Lat 値と Lon 値を Double として渡す必要があります。
これらの「10 進数」値を「2 倍」値に変換するにはどうすればよいですか?
すべての郵便番号の GeoCoordinates を 10 進数形式 (例: 5099755、928690) でデータベースに格納しています。
これらの値に基づいてエリア検索を行いたいのですが、見つけた数式では、Lat 値と Lon 値を Double として渡す必要があります。
これらの「10 進数」値を「2 倍」値に変換するにはどうすればよいですか?
数値がどのような座標系にあるかを知る必要があると思います-それらはUTM(ユニバーサル横メルカトル図法)のように見えますが、そうであれば、「ゾーン」パラメーター(55Hなど)も必要です。このドキュメントでは、UTM から DMS に変換する方法 (およびさまざまな地理データムのパラメーターを提供する) について説明し、Java に簡単に変換できる Javascript も提供します。
また、座標系変換を実行できる Java パッケージについて説明しているこのスタックオーバーフローの投稿もご覧ください。
繰り返しになりますが、コードでデータが既に使用されている形式とまったく同じ形式が必要な場合があります。
GeoPoints が GeoCoordinates 変数の場合
double lat = GeoPoints.getLattitude(); または double lat = GeoPoints.getLattitudeE6; double lon = GeoPoints.getLongitude(); または double lat = GeoPoints.getLongitudeE6;