![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
PHPで2地点間の緯度経度の求め方について教えてください。
地点A(始点)と地点Z(終点)までを直線とした場合に、
地点Aから地点Z間の緯度経度を求めたいです。
求める地点Aから地点Z間の緯度経度の数は
php側で吸収し地点Aから地点Z間で、1地点(N)求めた場合、
地点Aから地点Nの距離 = 地点Nから地点Zの距離
としたい。(求める地点数を等間隔にしたい)
分かっている情報としては
・地点Aと地点Zの緯度経度
・地点Aから地点Zの距離
です。
そもそも求めることができるのでしょうか?
地点A(始点)と地点Z(終点)までの距離を求める方法等は、
サイトに載っていますが。
どなたかよろしくお願いいたします
No.3ベストアンサー
- 回答日時:
補足を頂きありがとうございます。
それでは多少誤差が発生する可能性はありますが、一番簡単なアルゴリズムをご紹介します。プログラムは以下の通りです。
使い方が分からないことがあったら補足をください。
--------------------------------------
<?php
//サンプル
$lat_a = 35.6813820; $lon_a = 139.7660840; //地点Aの緯度経度
$lat_b = 34.7019090; $lon_b = 135.4949770; //地点Bの経度
$n = 10; //経由地点数
//差分計算
$d_lat = ($lat_b - $lat_a) / ($n + 1);
$d_lon = ($lon_b - $lon_a) / ($n + 1);
$lat = array(); $lon = array();
$lat_n = $lat_a; $lon_n = $lon_a;
for ($i = 0; $i <= $n + 1; $i++) {
$lat[$i] = $lat_n;
$lon[$i] = $lon_n;
//次の経由地点へ
$lat_n += $d_lat; $lon_n += $d_lon;
}
//表示
for ($i = 0; $i <= $n + 1; $i++) {
echo "地点[{$i}] 緯度:{$lat[$i]} 経度:{$lon[$i]}<br />\n";
}
?>
----------------------------------------
これをGoogleMapsにプロットするプログラムもできたので、どこかで公開することにしましょう。
i80286さん
回答ありがとうございます。
とてもわかりやすく理解できました。
参考にさせて頂きます。
ありがとうございました。
No.2
- 回答日時:
まずは地球が丸いことを理解しなくてはなりません。
>地点A(始点)と地点Z(終点)までを直線
ここでいう直線とは、メルカトル的な等角航路での直線なのでしょうか?
それとも大圏コースにおける最短距離のことなのでしょうか?
はたまた、地中をとおる直線なのでしょうか?
この回答への補足
yambejpさん
返信ありがとうございます。
>ここでいう直線とは、メルカトル的な等角航路での直線なのでしょうか?
メルカトル的な等角航路です。
その直線上の緯度経度を知りたいです。
よろしくお願いします。
No.1
- 回答日時:
「PHPで2地点間の緯度経度」の意味が分からないので確認をお願いします。
以下の意味で合っていますでしょうか?1.地点Aと地点Zがあり、各々の緯度・経度は分かっている。
2.AとZを結ぶ直線距離上に等間隔にN個の地点(N1, N2, N3...)をプロットする。
3.N1, N2, N3...の緯度経度を求める。
ご質問は、PHPで3の答えを求めることができるかどうか、できるのならそのプログラムを教えてほしいということですか?
この回答への補足
i80286さん
返信ありがとうございます。
私の説明がヘタで申し訳ありません。
>1.地点Aと地点Zがあり、各々の緯度・経度は分かっている。
>2.AとZを結ぶ直線距離上に等間隔にN個の地点(N1, N2, N3...)をプロットする。
>3.N1, N2, N3...の緯度経度を求める。
>ご質問は、PHPで3の答えを求めることができるかどうか、できるのならそのプログラムを教えてほしいということですか?
まさしくその通りです。
上記で言うと地点Aと地点Zの緯度経度はわかっていて、
N1, N2, N3...の緯度経度を求めることが出来るかです。
お忙しいと思いますがよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 地図・道路 距離で検索する地図ソフト 2 2022/05/12 16:14
- 数学 この問題を教えて下さいm(_ _)m A地点からB地点を経てC地点まで自転車で行くと15分、歩いて行 5 2022/04/09 22:50
- 物理学 物理の質問です。 地面より9.8mの高さから小球を速さ3.0m/sで水平に なげだした。 投げ出した 5 2022/06/27 02:56
- その他(教育・科学・学問) A地点からB地点までの距離は16mで52秒で到着します。 その間30秒間隔でA地点からは製品が払い出 3 2023/08/19 11:19
- 地理学 地理について質問です。 正距方位図法は低緯度ほど、面積の歪みが大きくなりますよね? 北極点を中心とし 3 2022/07/20 08:40
- 物理学 この問題がわかりません Pは質量m、床の動摩擦係数はμです 画像のようにABC地点のエネルギーを求め 3 2022/09/03 21:36
- 統計学 統計学、エクセルがわかりません!解答と詳しい解説をお願いします! (1)それぞれの地域別に記述統計量 9 2022/08/21 16:30
- 数学 LがP地点とQ地点を往復したところ、4時間24分かかった。行きは時速6km、帰りは時速5kmで歩いた 5 2022/06/01 08:35
- 数学 この問題の答えを教えていただきたいです。 1.木の高さを測るため, 木の真下から10m離れた 地上の 1 2022/10/19 15:29
- 物理学 物理の問題です。 [水平投射]の問題です。 地面より9.8mの高さから、小球3.0msで水平に投げ出 2 2022/10/18 00:35
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動的なHTMLの書き換え
-
PHPのプログラムについて
-
PDOのlastInsertIDについて
-
functionCheckAuthについて
-
FORMタグを使わずに、POSTする...
-
ini_set("display_errors", On)...
-
$fm = mktime(0,0,0,・・・の0,...
-
クエリストリングが多くなると...
-
phpのプログラミングについて質...
-
ディレクトリ構成とプログラム
-
コメント 中国語 日本語
-
【BAT(バッチ)ファイル】Web...
-
フォントの色を変えるには?
-
AccessのDoCmd.SendObjectについて
-
.phpと.incファイルの違いはな...
-
FTPコマンドでディレクトリごと...
-
リンク先を隠す方法はないでし...
-
【file_exists】ファイルが存在...
-
セッションのクッキー有効期間...
-
配列とオブジェクトの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
phpにて動的なページを生成する...
-
XML-RPCでsend()できない
-
FORMタグを使わずに、POSTする...
-
さくらのレンタルサーバーでメ...
-
illegal string offset
-
PDOのlastInsertIDについて
-
php エラー
-
= $argv[1];はどんな働きがあり...
-
クエリ文字列が取得できない
-
sqliteでのデータベースのlocal...
-
PHPでの再帰を用いたツリー構造...
-
ブラウザゲーム作成までの道の...
-
【PHP】smartyとPHPの記述違い...
-
VBおすすめ書籍
-
ifの中にもうひとつif,else
-
PHPからPerlにデータを渡して結...
-
PHPのコードがそのまま表示され...
-
PHP3で作ったプログラムをPHP4...
おすすめ情報