0

私は世界の部分的な地図を持っています (アメリカやアフリカなど)。部分/トリミングされたマップのピクセルサイズのサイズに基づいて、世界地図のピクセルサイズを知る必要があります。

部分マップのピクセル単位のサイズ ( など480x256) とminLongitude,maxlongitude,minlatitude,maxlatitude(別名、左、右、上、下の端) があります。

線形であるため、経度が簡単であることはわかっています。

FULL_CIRCLE_DEG = 360

longitudeDelta = (maxLongitude-minLongitude)/FULL_CIRCLE_DEG

MapFullSize = mapCroppedWidth/longitudeDelta

しかし、緯度については、少し異なります。

FULL_LATITUDE_DEG = MAX_LAT_ON_EARTH - MIN_LAT_ON_EARTH(85.7543...-(-85.7543...) のように)

latitudeDelta = (maxLatitude-minLatitude)/FULL_LATITUDE_DEG

MapFullHeight = ????

誰かが私を助けることができますか?

GPScoordinateToPixel 変換を取得するためのアルゴリズムはたくさんありますが、平方計算には何もありません。

ありがとうございました。

4

1 に答える 1

0

これがアイデアです。最初に、minLongitude、maxlongitude、minlatitude、maxlatitude で指定された長方形の面積を計算します。次に、世界地図全体の面積に対する現在の地図面積の比率を使用して、地図が現在占有している現在のピクセル数を、地図全体に必要なピクセル数に拡大することができます。

マップが現在占有している領域を計算するには、球面三角法が少し必要だと思います。必要なものは wikipedia で見つけることができます。ウィキペディアのそのページには、球面三角形の面積の公式が示されているので、長方形を 2 つの三角形と見なすと、その公式を使用して現在の地図の面積を計算できます。

于 2013-05-15T15:58:22.010 に答える