私は緯度/経度と高度の飛行経路を持っており、これをcesium.jsのX、Y、Zのカートンに変換する必要があります。 私は、私の機能から正しい結果を得ているようには見えないので、これを変換しようとしている壁にぶち当たっています。極座標→直交座標の関数が正しいデータを出力しない
var R = 6371;
function polarToCartesian(latitude, longitude, elevation){
x = (R+elevation) * math.cos(latitude) * math.cos(longitude);
y = (R+elevation) * math.cos(latitude) * math.sin(longitude);
z = (R+elevation) * math.sin(latitude);
var ar = [x,y,z];
return ar;
}
極座標とデカルトの正しい公式を使用してはいけません。また、正しい地球半径を持たないでください。私は、半径が6371でなければならないが、同じSOの質問を参考にすることはできないようだ。
私のコードが正しいかどうかは部分的にチェックされています。手動で、地球の半径+飛行経路の高度を手動で加算し、これがx、y、zベクトルの長さに等しいかどうかを確認します。例えば
:私は私の機能この
-93.028,44.6942,7800
緯度を与えるときのy、zの(3689.2472215653725,3183.2401988117012,13306.90338789763)
が出力されるxは、長い間、標高
は、誰かが達成するために右のjsのコードを見つけるために私を指すでしたこの変換?
グローブ上にポイントを配置する際の極座標に慣れていない、[私はウィキペディアのページを確認しました](https://en.wikipedia.org/wiki/Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates)、あなたが正しいとは思わない入力。地球上の極座標を持つリソースにリンクできますか?また、あなたがトップに立つ 'R'は何ですか? – broguinn
また、仰角が地球の中心からの距離として定義されている場合、3次元格子が地球の中心に(0、0)あるとすれば、それは 'z'と同じ値であってはいけませんか? – broguinn