Work > 土地被覆API

土地被覆API

2007年12月8日公開
2009年1月1日再公開

はじめに

「土地被覆」とは,地表面の物理状態をあらわすものです。 たとえば,コンクリート,森林,草地,水面,土壌などが挙げられます。 宇宙から地表面を観測する衛星リモートセンシング技術では, このような土地被覆の状態を広域に把握することに適しています。 アメリカの宇宙機関であるNASAが打ち上げた衛星を用いて, 全世界の土地被覆の調査が行われ,いくつかの土地被覆の カテゴリの分類行っており,データがインターネット上に公開されています。 そこで,このデータを誰もが使いやすい形にするために,APIとして公開してみました。

データはデジカメの画像と同じで,メッシュの形式で各メッシュに土地被覆のカテゴリが 格納されています。0.05度(30秒)で区切られたメッシュとなっており,各メッシュでその場所の もっとも割合の高い土地被覆のカテゴリが決定されています(空間解像度が0.05度といいます。) 赤道付近では0.05度は1000m程度の距離,北緯40度では750m程度の距離となります。 南北方向は1000m程度で変わりません。 この土地被覆APIからは,この程度の大雑把な土地被覆の状態を知ることができます。

データは,Boston大学が公開している データ を利用しました。2001年に取得されたデータを基に作成されているようです。

土地被覆カテゴリ

土地被覆カテゴリを以下に示します。カテゴリはいくつか種類はありますが, IGBP によるカテゴリに準拠しています。英語表記としていますが, なかなか日本語に訳しづらい場合もあります。各自で調べてみましょう。

CodeCategoryCodeCategory
0Water 9 Savannas
1 Evergreen Needleleaf Forest10 Grasslands
2 Evergreen Broadleaf Forest11 Permanent Wetlands
3 Deciduous Needleleaf Forest12 Croplands
4 Deciduous Broadleaf Forest13 Urban and Built-Up
5 Mixed Forests14 Cropland/Natural Vegetation Mosaic
6 Closed Shrublands15 Snow and Ice
7 Open Shrublands16 Barren or Sparsely Vegetated
8 Woody Savannas254 Unclassified

APIの使い方

以下のようなURLを入力します。

http://tagchan.sakura.ne.jp/program/land_cover/code.php?lon=139.645&lat=35.659

すると以下のような結果が返ってきます。

landcoverApi({ "latitude" : "35.659000", "longitude" : "139.645004", "Landcover" : "Urban and Built-Up", "code" : "13" });

JSONの形式で引数として指定したlon(経度),lat(緯度)の土地被覆カテゴリとコードが 返ってくるようにしました。Callback関数はlandcocerAPIです。

Google Maps APIとのマッシュアップ

Google Maps APIとのマッシュアップを行ってみました。 以下の地図をクリックすると,その箇所の土地被覆コードとカテゴリが表示されます。

Result

以下に,Google Maps APIのソースコードを載せます。なお,bodyタグでは, onload="load()" onunload="GUnload()"としています。

//<![CDATA[ var map; function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GScaleControl()); map.addControl(new GLargeMapControl()); map.addMapType(G_PHYSICAL_MAP); map.addControl(new GMenuMapTypeControl(true, false)); map.setCenter(new GLatLng(23, 147), 1, G_PHYSICAL_MAP); map.addControl(new GScaleControl()); 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(marker, point){ map.clearOverlays(marker); getJSON(point.lat(), point.lng()); map.addOverlay(new GMarker(point,icon)); }); } } function getJSON(lat, lon) { var req_url = "http://tagchan.sakura.ne.jp/program/land_cover/code.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 landcoverApi( obj ){ var lat = obj.latitude; var lon = obj.longitude; var code = obj.code; var category = obj.Landcover; var html = "Location Lat:"+ lat +", Lon:"+ lon +"<br>Code: "+ code +", Category: "+ category +""; document.getElementById("list").innerHTML = html; } //]]>

注意:当サービスを利用してのいかなる不利益が生じましても一切責任は負いかねます。

Return to page top