
緯度,経度から標高値をJSONP形式で出力します。単位はメートルです。
標高値はNASAのSRTM3を用いています。約90mメッシュの解像度なので,実際の感覚のような詳細な地形は十分に表現できていない可能性があります。つまり,だいたいの高さが表現されていると考えれば良いと思います。
また,このデータの観測方法上,急峻な地形の場所ではデータが欠落している箇所が発生している場合があります。データについての説明はドキュメントをご覧ください。データの説明は,ヤマレコBlogさんでも詳しく説明されています。
なお,解像度が粗くなりますが,南極以外の全球を整備したSRTM30のAPIもあります。
lat: 緯度 (30-47 度)
lon: 経度 (129-147 度)
http://webmodis.iis.u-tokyo.ac.jp/~tagchan/srtm/elevation.php?lon=138.72986&lat=35.36302
フォーマットはJSONPです。
elevationApi({
"elevation" : "3560",
"latitude" : "35.363022",
"longitude" : "138.729858"
"data" : "SRTM3"
});
ソースコードは(dem_value.c)こちらにあります。
クリックすると,標高値が表示されます。地図左下には検索フォームがあるので,気になる場所を検索して移動し,地図をクリックしてみてください。標高が表示されます。
//<![CDATA[
var map;
var marker;
function load() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.addControl(new GScaleControl());
map.addMapType(G_PHYSICAL_MAP);
map.addControl(new GMenuMapTypeControl(true, false));
map.enableScrollWheelZoom();
map.enableGoogleBar();
map.addControl(new GLargeMapControl());
map.setCenter(new GLatLng(34.985776660457525, 135.75848579406738), 7, G_PHYSICAL_MAP);
var icon = new GIcon();
icon.image = "http://www.google.com/intl/en_ALL/mapfiles/arrow.png";
icon.shadow = "http://www.google.com/intl/en_ALL/mapfiles/arrowshadow.png";
icon.iconSize = new GSize(39, 34);
icon.shadowSize = new GSize(39, 34);
icon.iconAnchor = new GPoint(10, 34);
GEvent.addListener(map, 'click', function(overlay, point){
getJSON(point.lat(), point.lng());
addMarker(point,icon);
});
}
}
function getJSON(lat, lon) {
var req_url = "http://webmodis.iis.u-tokyo.ac.jp/~tagchan/srtm/elevation.php?lat="+lat+"&lon="+lon+"";
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = req_url;
document.getElementsByTagName("head")[0].appendChild(script);
return;
}
function elevationApi( obj ){
var lat = obj.latitude;
var lon = obj.longitude;
var elevation = obj.elevation;
var html = "Location Lat:"+ lat +", Lon:"+ lon +"<br>Elevation: "+ elevation +"m";
document.getElementById("list").innerHTML = html;
}
function addMarker(point, icon){
map.clearOverlays();
marker = new GMarker(point,icon);
map.addOverlay(marker);
}
//]]>
2007/12/5: α版を公開しました。
Copyright (c) Hitoshi Taguchi 2000-2008 All Rights Reserved.