1

Google Earth(またはマップ) API を使用して、特定の領域の高さマップ/高度を取得するために使用する関数は何ですか (縦方向の精度ではなくキロメートルの精度で)?

たとえば、Lat=11 Long=12 という場所がある場合、その場所の高度を取得できますか? Google の高度は正確ではない可能性があり、5 メートルまたは 1 km の精度でさえない可能性があることは承知していますが、それで問題ありません (シンプルで楽しい Google Earth アプリのため、高度の正確さは必要ありません)。

以下の私のコードは、マウスが現在座っている位置で現在の高度を取得できますが、特定の場所の一連の高度値を取得するための関数呼び出しはありますか?

google.earth.addEventListener(ge.getWindow(), 'mousemove', function(evt) {

   if (event.getDidHitGlobe()) {
     var lat  = event.getLatitude();
     var long = event.getLongitude();
     var groundAltitude = ge.getGlobe().getGroundAltitude(latitude, longitude);
     if (groundAltitude) {
        alert(groundAltitude.toFixed(2));
   }
});

これが唯一の方法ですか?これは1つの経度/緯度に対して正確であることに注意してください。より正確に取得できますか(1km固有のように)

function obtainAreaAlt(startLong, endLong, startLat, endLat) {

     var alt = {};
     while (startLong < endLong) {
         var origLat = startLat;
         while (startLat < endLat) {
           var a = ge.getGlobe().getGroundAltitude(startLat, startLong);
           if (a)
              alt[""+startLat+","+startLong] = a.toFixed(2);
           startLat++;
         }
         startLong++;
         startLat = origLat;
     }

     return alt;
}
4

2 に答える 2

2

Google Maps API の Elevation Service を使用できます。位置の配列 (lat/lon 値) またはパスを受け入れます。

デモはこちら:

https://google-developers.appspot.com/maps/documentation/javascript/examples/elevation-paths

ドキュメントはこちら:

https://developers.google.com/maps/documentation/javascript/reference#ElevationService

利用制限があるので注意!

于 2012-07-01T11:24:33.523 に答える
0

Google Earth プラグインを使用すると、標高を選択している場所に移動し、標高データデータのブラウザへのダウンロードが完了するのを待って、標高の解像度を向上させることができます。

標高データのダウンロードが完了したかどうかを判断するには、ge.getStreamingPercent() を使用します。

http://earth-api-samples.googlecode.com/svn/trunk/examples/streamingpercent.html

ズームアウトしすぎると、地球には低解像度の地形モデルが取り込まれます

于 2012-07-04T06:28:54.047 に答える