質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Q&A

解決済

6回答

4685閲覧

緯度経度情報を北西から南東の順になるようにソートする

natady

総合スコア606

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

0グッド

1クリップ

投稿2016/09/08 00:50

編集2016/09/08 01:53

複数の緯度経度情報を北西から南東の順になるようにソートしたいです。

単純に緯度+経度の和が小さい順に並べていく方法では、緯度経度比の関係(?)かうまくソートできませんでした。

どうすればソートできるでしょうか?

追記

何を勘違いしたのか、北極点が緯度経度0度だと思って計算していました!
このそもそもの間違いを一番最初に指摘してくださったozwkさんをBAにさせていただきます。

皆様多数のご回答ありがとうございました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2016/09/08 01:21 編集

うまく行かないというコードとデータを書いてください。
miyabi-sun

2016/09/08 01:27

ですね、和ではなく差を求めるべきに気がついたのも、適当な数値の配列をでっち上げて、ソートロジックを作り始めてからでしたので・・・
guest

回答6

0

ベストアンサー

単純に緯度+経度の和が小さい順に並べていく方法

各点を北西軸に射影してソートしたいんですよね?

北が正、東が正方向で表されていれば、
これは南西から北東になると思います。
差を取れば、(緯度経度0度からみて)北西-南北方向になるのでは?

または、

ある基準点を取り、
そこを中心とした局地座標(NE、正距方位図法みたいなもの)で並び替えたいなら、
緯度経度を座標変換してからソートします。
2点の緯度、経度から距離と方位角を求める方法が調べればあるのでそれを利用します。

投稿2016/09/08 01:10

編集2016/09/08 01:27
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

natady

2016/09/08 01:51 編集

何を勘違いしたのか、北極点が緯度経度0度だと思って計算していました! このそもそもの間違いを一番最初に指摘してくださったozwkさんをBAにさせていただきます。ありがとうございました。
guest

0

足しちゃダメなのは当然ですが、それ以前に
まず、緯度が 北から南で 90 -> 0 -> -90 と 変化し
東西は、経度0を西とすると 西から東で 0 -> (180 ,-180) -> 0 と 変化しますので、
単純に数値だけで考えるとおかしくなりますね。
日本だけならマイナスはないんでほかの方のように考えればいいですが。

投稿2016/09/08 01:32

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

緯度経度のあり方から考えると逆です。

  • 北であればあるほど数値が大きい
  • 東であればあるほど数値が大きい(イギリスからどれだけ東に移動したかで+が増える)

なので単純に和で求めると北東→南西
質問者さんが求めたいのは北西→南東

緯度から経度を引いて(国内ならば大体35 - 大体135 ≒ -100)の結果になるでしょう。
この数値を元にソートすれば意図通りの結果が得られると思います。

投稿2016/09/08 01:25

miyabi-sun

総合スコア21158

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

そもそもソートしようとしている地点が一直線に並んでいるのでもない限り、厳密に北西から南東に向かって並べるということは不可能です。極端な話をすれば、正方形の形状のエリアに対象の地点がてんでバラバラに分布していたら、お望みのソートは限りなく困難です。なのでそこは、どういうルールで並び替えるか、そのポリシー決定からではないでしょうか?

投稿2016/09/08 01:17

swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

東西でソートしたあと南北でソートすればよいのでは?

投稿2016/09/08 01:01

yambejp

総合スコア114761

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

natady

2016/09/08 01:12

その方法ですと、東西:X軸、南北:Y軸とすると (-1 , 0)の点は(0 , 10000)の点よりも北西ということになってしまいます。
yambejp

2016/09/08 01:36

これは定義がわるいのでどうしようもないですね たとえば北極点から1m外れたところで最西端(最東端のわずか東)の地点は 質問者さんのロジックだとほぼほぼ一番北西でしょうけど、 座標上は最西端なので相当極点から離れたところとなります 結局なにをもって北西~南東なのかを示さないかぎり不毛な話になります
yambejp

2016/09/08 01:41

地球を真球だと仮定して北極点からの距離をもって北西→南東にソートする場合は 北極点からの距離は南北にしか依存しないため、当初示した 東西でソート後、南北でソートが正しいと思われます
guest

0

基準となる一番端の北西の緯度経度から距離を算出してソートすれば良いと思います。

投稿2016/09/08 00:59

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

natady

2016/09/08 01:08

基準となる一番端の北西の緯度経度はどのようにして求めればよいでしょうか?
退会済みユーザー

退会済みユーザー

2016/09/08 01:30 編集

ソートしたいデータの最北端の緯度と最西端の経度から基準となる緯度経度を用意してそこから距離を計算すればいいかと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問