ホームページ >Java >&#&チュートリアル >緯度/経度の座標をメルカトル図法のピクセル座標に変換するにはどうすればよいですか?

緯度/経度の座標をメルカトル図法のピクセル座標に変換するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-10 20:27:02219ブラウズ

How to Convert Latitude/Longitude Coordinates to Pixel Coordinates on a Mercator Projection?

メルカトル図法の緯度/経度座標をピクセル座標に変換する

地理データを扱う場合、多くの場合、緯度と経度を変換する必要があります。経度座標をメルカトル図法のピクセル座標に変換します。この変換は、地理データを画像や地図にオーバーレイする場合に不可欠です。

メルカトル図法は角度を保持する正角投影法であり、航海図に適しています。この投影法では、子午線は直線の垂直線として表され、緯線は直線の水平線として表されます。子午線と緯線の間隔は、歪んでいる極を除いて均一です。

球面の緯度 (φ) と経度 (λ) から投影されたピクセル座標 (x, y) を導出するには、次の式を利用します。式:

x = (longitude + 180) * (mapWidth / 360)
y = (mapHeight / 2) - (mapWidth * ln(tan((PI/4) + (latitude * PI/180) / 2)) / (2 * PI))

ここで、mapWidth と mapHeight は画像の寸法をピクセル単位で表し、度からラジアンへの変換は PI/180 を乗算することで実現されます。

これを実証するには変換では、緯度 41.145556、経度 -73.995 に位置する点を考えてみましょう。幅 200 ピクセル、高さ 100 ピクセルの画像の場合、この点のピクセル座標は次のとおりです。

x = (longitude + 180) * (mapWidth / 360)
= (-73.995 + 180) * (200 / 360)
= 79 pixels

y = (mapHeight / 2) - (mapWidth * ln(tan((PI/4) + (latitude * PI/180) / 2)) / (2 * PI))
= (100 / 2) - (200 * ln(tan((PI/4) + (41.145556 * PI/180) / 2)) / (2 * PI))
= 58 pixels

この変換により、地理データをメルカトル図法マップまたは画像上に正確に配置できます。数式とその応用を理解することで、正確なデータの視覚化と解釈が可能になります。

以上が緯度/経度の座標をメルカトル図法のピクセル座標に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。