3

プログラムは、Google Earth API が場所の正確な高度を取得したことをどのように判断する必要がありますか?

Google Earth プラグイン API には、地上高度を取得する次のメソッドがあります。

double GEGlobe.getGroundAltitude(double lat, double lon)

ただし、この関数は、対象の緯度、経度からのカメラの距離に応じて、異なる結果を返します。たとえば、ある場所の真の高度が +181.60 の場合

カメラがその場所からさまざまな距離にあるときに関数を呼び出すと、次の高度が返されます。

異なるカメラ位置での getGroundAltitude の戻り値:

-19.38 (カメラが場所から非常に遠い)

+06.11 (カメラが近づきました)

+89.13 (...)

+166.82

+177.47

+181.53 (カメラは位置に v.close になりました)

戻り値 181.53 は、真の高度 181.60 に十分近い値です。

問題は、最も正確な高度を確実に取得したことをプログラムがどのように判断する必要があるかということです。

4

1 に答える 1

2

これは、Google Earth の落とし穴の 1 つです。地上高度は、その地点で利用できる画像の品質に依存します。したがって、画像が良ければ値は正確になり、画像が悪い場合は値が悪くなる可能性があります。

読み込まれた画像の量を確認できますgetStreamingPercent()。ストリーミングの割合が増加するにつれて、地上高度の値がより正確になるはずです。

Google の標高 API を使用することをお勧めします。この API は、外部サーバーからデータを取得するために実際に呼び出されます (ここでは、読み込まれた % は関係ありません)。この方法の欠点は、インターネット接続が必要なことです。覚えておいてください。

https://developers.google.com/maps/documentation/elevation/

編集

覚えておくべきもう1つのことは、そのgetGroundAltitude()呼び出しは非常に厄介です。地球上の 1 点の値を取得しようとしていますが、エラー チェックが不十分です (つまり、点 X、Y の値がわからない可能性があるため、すべての点が周囲にあるにもかかわらず、何か間違った値を返します)。 X、Y には有効なデータがあります。)

于 2012-05-05T03:37:09.820 に答える