26

(地理的に歪んだ)マップ上の既知のx/y座標にマップする緯度/経度のペアがたくさんあります。

次に、緯度と経度のペアがもう1つあります。可能な限り地図上にプロットしたいと思います。どうすればこれを行うことができますか?

最初に、最も近い3つの緯度/経度点の線形方程式系を作成し、これらから変換を計算することにしましたが、これはまったく機能しません。これは線形システムなので、近くのポイントも使用できません。

北が上にあると仮定することはできません。あなたが持っているのは、既存のlat / long-> x/yマッピングだけです。

編集:それはメルカトル図法、またはそのようなものではありません。読みやすさのために任意に歪められています(地下鉄路線図を考えてください)。マップの他の部分の歪みが計算しようとしているマッピングに影響を与えないように、最も近い5〜10個のマッピングのみを使用したいと思います。

さらに、マップ全体が非常に狭い地理的領域にあるため、地球について心配する必要はありません。地球平面説で十分です。

4

4 に答える 4

8

歪みの種類について、より具体的な詳細はありますか?たとえば、緯度と経度がメルカトル図法を使用して2Dマップに「歪められている」場合、変換計算はすぐに利用できます

マップが本当に恣意的に歪んでいる場合、試すことができることはたくさんありますが、おそらく最も簡単なのは、既存のポイントマッピングから加重平均を計算することです。重みは、新しいポイントから既存の各ポイントまでのx/y距離の2乗の逆数になる可能性があります。

いくつかの擬似コード:

estimate-latitude-longitude (x, y)

    numerator-latitude := 0
    numerator-longitude := 0
    denominator := 0

    for each point,
        deltaX := x - point.x
        deltaY := y - point.y
        distSq := deltaX * deltaX + deltaY * deltaY
        weight := 1 / distSq

        numerator-latitude += weight * point.latitude
        numerator-longitude += weight * point.longitude
        denominator += weight

    return (numerator-latitude / denominator, numerator-longitude / denominator)

このコードは、比較的単純な近似値を示します。投影が地理座標を歪める方法についてより正確にできる場合は、おそらくはるかにうまくいく可能性があります。

于 2008-08-05T05:48:22.353 に答える
2

大丈夫。理論的な観点からは、歪みが「任意」であり、任意のソリューションでこの任意の歪みをモデル化する必要がある場合、明らかに「答え」を得ることができません。ただし、どのような解決策も、状況の現実を反映している場合と反映していない場合がある歪みのモデルを (通常は暗黙のうちに) 適用する必要があります。

歪みマッピングのある種の局所的な連続性を推定するモデルに最も関心があるように見えるので、最も明白な選択は、すでに試したもの、つまり最も近い点間の線形補間です。それを超えるには、より高度な数学的および数値解析の知識が必要になります。

ただし、これをより多くのポイントに拡張できないと推測するのは正しくありません。最小二乗誤差アプローチを使用することで可能です。他の点の誤差を最小化する線形の答えを見つけます。これはおそらく最も単純な拡張機能です。つまり、最も近い 5 つのポイントを取得し、これらのポイントの誤差を最小限に抑える線形近似を見つけようとします。そして、それを使用してください。次にこれを試してみます。

それがうまくいかない場合は、N ポイントの領域にわたる線形性の仮定が破られます。その時点で、二次モデルまたは三次モデルにアップグレードする必要があります。その時点で数学は忙しくなるでしょう。

于 2008-08-05T15:47:51.830 に答える
0

問題は、球がさまざまな方法で歪む可能性があることです。赤道上でこれらすべてのポイントがわかっていると、たとえば、ポイントをさらに遠くにマッピングするのに役立ちません。

より適切な「近い」ポイントが必要です。次に、これらの3つのポイントが4番目の平面上にあると想定し、補間を実行できます。経度の距離は定数ではなく関数であることがわかっています。

于 2008-08-05T05:20:55.403 に答える
0

うーん。ここでの質問について何かが足りないかもしれませんが、長い/遅い情報がある場合は、北の方向もありますか?

測地線座標を投影座標系にマッピングする必要があるようです。たとえば、osgbからwgs84へ。

関係する計算は簡単ではありませんが、コードはほんの数行で出力されます。もっと時間があればもっと投稿したいのですが、シャワーが必要なので退屈でウィキペディアのエントリにリンクします。これはかなり良いです。

注:ポストシャワーは編集されました。

于 2008-08-05T05:21:02.800 に答える