LINK:[GoogleEarthとR][ShapeFileライブラリ][kmlラボ][空間的なデータの分析][Rでジオコーディング][RでGPS]
GoogleEarth [http://earth.google.com/]はGoogleが無料で公開している3D-GIS用のソフトです。現在、Windows版・Mac版・Linux版が公開されています。
Rを用いて、インタラクティブな操作によって3D-GISを作成するのは、今のところほぼ不可能ですが、
GUI部分をGoogleEarthにまかせて、バックエンド処理をRで行うと色々な場面で結構使えるのではないかと思いつきました。
目次
論文引用・書籍等に引用する場合の著作権についての連絡>>okinawa
GoogleEarth [http://earth.google.com/]はGoogleが無料で公開している3D-GIS用のソフトです。
現在、Windows版・Mac版・Linux版が公開されています。
Rを用いて、インタラクティブな操作によって3D-GISを作成するのは、今のところほぼ不可能です。
しかし、GUI部分をGoogleEarthにまかせて、バックエンド処理をRで行うと色々な場面で結構使えるのではないかと思いつきました。
なお地理データについてはShapeFileライブラリにて公開しているESRIShapeFileを用います。
「本ページにて公開しているShapeFileデータの作成に当たっては、ESRIジャパン株式会社の全国市区町村界データを使用しました。
本データの著作権はESRIジャパン株式会社に帰属します。」
ESRIJapan様が公開されている全国市区町村境界データ
[全国市区町村境界データ]http://www.esrij.com/products/gis_data/japanshp/japanshp.html
[shapefileの仕様書]http://www.esrij.com/products/gis_data/shape/index.html
コメント欄 (最新)†
- iOS版のGEが3D対応になりました・・・がメモリ要求高杉! -- okinawa
- 次期GEの3D機能がすごい --
- Google Maps はWebGL の採用で、やがて、WebGL と一体化かな --
- GExplorer オープンソースに --
- GE 6.1 リリース --
- KMZ LoaderはiOSのGEの共有フォルダ内にInBoxフォルダを生成してKMZを表示できるようにしているようです。 -- okinawa
- 自作KMZを表示させたところ、どうやら色指定の順番が変わっているようです。 -- okinawa
- KMZ LoaderはTimespans,Tours,ComplexPolygonには対応していないとのこと。(iOS GEの制限によるもの) Open in かiTunesでD&DすればOK -- okinawa
- iPad/iPhone向けにKMZ Loaderが出ている。自作KMZをiOSのGEで表示できるようにする優れもの。しかも無料! 試したところ、ポリゴン(高度)も表示できた。-- okinawa
- Updates to all versions of Google Earth coming this summer? -- okinawa
- Google Earth Builder が出るらしい -- Okinawa
- 最近、ArcGIS Explorer の add in が充実しているようだ。R 関係はなさそうだけど。 --
- Google Maps 5.1 for Android リリース。iOS のアップデートはないのかな。 --
- ↓友人のAndroidでみましたが、ほとんどGEですね。ぐりぐりでした。 -- okinawa
- Google Maps 5.0 for Android リリース。 --
- ↓↓Galaxy Tab 版が公開されているとか。Android 優先かな。 --
- ESRIへのリンクを張り直しました -- okinawa
- GoogleMapsが3Dに対応するらしい。表示データもベクター化するという。GEとMapの融合だな。 -- okinawa
- ↓一般向けじゃないね --
- Google Earth Engine 登場 -- okinawa
- GE 6.0 リリース。 --
- iOSのGEってAppの中にファイル共有でデータが入れられるようになっている。いまのところなにも入っていないが何らかの隠し機能と思われる。 -- okinawa
- Google Earth for iPhone updated with retina display, ocean floor -- okinawa
- The Google Earth COM API is being phased out だそうです。代わってJavaScript API(GoogleEarthAPI,GoogleMapAPI)を利用するようにとのことです。まあ、COMAPI利用できてたのはWINだけですし。 -- okinawa
- ウィキリークスによるアフガン戦争日記のKMLファイルは衝撃的。 --
- お天気レイヤの雲をチェックすると地球に雨が降るギミック。今のところアメリカだけみたいです。 -- okinawa
- ArcGIS for iOS(iPad/iPhone/iPod Touch) 無料リリース。 --
- GE5.2 GE3iPad 両方試してみました。GE5.2はブラウザ部分の使い勝手がUPしてますね。GE3iPadはiPhone版をとりあえず対応した感じですが、手のひらでぐりぐりできるのは楽しいですね。 -- okinawa
- ↓ちょっと表示が遅いかな --
- GE iPad 対応版リリース --
- GE 5.2 リリース。 --
- ArcGIS online。Bing は使えるけど、KML は未サポート。 --
- ↓単に緯度経度をリンクさせて表示が切り替わってるだけっぽいですね。 -- okinawa
- ↓APIも共通? --
- ↓ですね!ようやくでました。これでMapとEarthの境目がなくなりました。 -- okinawa
- Earth View 公開 --
- iPad用をはやく触ってみたいですね。あと1ヵ月! -- okinawa
- Android 2.1版「Google Earth」公開 --
- R を動かしたかったら、 slate PC。 --
- iSlateではGEが大きく表示されるのかな? -- okinawa
- Nexus One のGEではボイスコマンドが使えるらしい。でもiPhoneでもそうだけどちょっと恥ずかしいので、あまり使わないのよねボイスコマンド。 -- okinawa
- Google は開発用の sim free の端末をGoogle Store? で、すでに売っている。本格的な展開には利用な real shop が必要か、実現すれば、Google の美味しい食事を出すカフェも併設して欲しい --
- Google直販か?とのこと。どうやって売るのかな。 -- okinawa
- これでiPhoneの縛りもゆるくなってくるかな。 -- okinawa
- Google Phone が出てくる。これでマーケティングが見えてきましたね。Googleだから無料はありえない? -- okinawa
- 「Go 言語にRなどが移植されると・・・」<ーちょっと言っている意味がよくわかりませんが、Dr.Whoは(年寄りだった時の方が)好きです。 -- okinawa
- ↓Android と Chrome OS は将来的には統一されるようですが、その際に、Go 言語にRなどが移植されると、Dr. Who じゃないけど、it's fantastic! --
- クロムOSにGoogleEarthが載ってくるとすごいけどな。 -- okinawa
- Androidは技術的には問題ないですが、マーケティングが見えないので私的には?です。それよりクロムOSの方が良さそう。 -- okinawa
- ↓↓来年は Android がすごいような、予測ではUSAで2年後には iPhone を追い抜くとか。Google は Android だけサポートするものも出しているし、来年はタブレットも出るし、おもしろくなりそう。 --
- Rユーザー会2009発表スライドUP http://www.slideshare.net/fumihikomaki/kmlr-2694211 -- okinawa
- すべてのものがiPhoneにシフトしてきてますね。元来地図系ってモバイルが基本ですからね。(iPhoneを使うようになってPCを使う時間がめっきり減りました。iPhoneでプレゼンする日も近い?) -- okinawa
- Bing Maps もiPhone に対応するとか。 --
- iPhone 用GE plug-in でないかな --
- GE5.1リリース。バグフィックス版でベータがとれました。 -- okinawa
- GE for iPhone2.0 追加>マイマップはNetworkLinkのみKMLで提供する方式のようなので、基本的にはGoogleMapのKMLオーバーレイに準拠しているようです。実は、iPhoneでKMLを表示する手法はトリック(検索からURLを直接叩く)としては存在していたのですが、Googleが正式に対応したことが大きいと思います。 -- okinawa
- GoogleEarth for iPhone2.0が公開されています!なんとマイマップが表示できるようになりました!やったー!
下記の画像は、以前作ったgunma2.kmlをマイマップに登録してiPhone上のGoogleEarthで呼び出したもので、残念ながらポリゴンの高さは無視されるようです。
また、meuse.kmzのようなラスターデータとの組み合わせもうまくいきませんでした。-- okinawa
- route me というオープンソースのものはどうでしょうか。ただし、ソースのみです。Android だと、キャッシュをサポートした gvSigなんとというフリーのものがありますね。Android は来年以降飛躍するかな。 --
- 現状のiphoneのマップでナビをやろうとすると地図データのキャッシュが小さいので通信費用がMAXになってしまい、年間利用を考えると本物のナビが買えてしまいます。地図データをある程度iphone側に保存してあればオフラインで(GPSとコンパスはオフラインで使える)できるので通信費が安く済みます。この辺りをちゃんと考えてくれてるといいですね。 -- okinawa
- APPLELINKAGEより。Android 2.0向けの無料GPSナビアプリ「Google Maps Navigation」発表。iPhone版も開発中!http://www.applelinkage.com/#091029001 ところでiphoneのマップに自作KMLが乗せられる記事をどこかで見たような記憶があるのですが、どこだったかな〜。 -- okinawa
- /.からの引用ですが、「海上自衛隊の護衛艦「くらま」と韓国籍のコンテナ船「カリナスター」が関門海峡で衝突し、双方に火災が発生する事故が起きたが、NHKの定点カメラの映像とGoogle Earthを使い、衝突位置を推定した人が現れた」とのこと。こんな使い方もあるとは気がつきませんでした。http://slashdot.jp/it/article.pl?sid=09/10/28/1056219 -- okinawa
- 私のMacBookでは今までGEで太陽を見ることができなかったのですが、雪豹に変えGE5.1にしたら見えるようになってました!どちらの成果なのだろう? -- okinawa
- ジオコーディングもかなり速くなってますね!実用的なスピードになってます! -- okinawa
- GE 5.1 公開。高速化と IEなどのWin32 用ブラウザーへのプラグインの自動インストール。 --
- ArcGIS Explorer 9 使ってみました。機能的にはかなり良くなってますが、重い。メモリFATです。また提供されてる地図の解像度が低い。GEと張り合うのは大変ですね。 -- okinawa
- rgdalのWriteOGRにKMLのsampleが追加されています。 -- okinawa
- ↓デモとスペック等を見ただけですが、SDKもあるしGISviewerとして相当いいせんいってますね。触ってみて報告します。 -- okinawa
- ArcGIS Explorer 900リリース。2D/3D切り替え。KMLサポート。地図投影サポート。プレゼン機能。日本語(GUI)対応など。 --
- なんだ、GE はもうかぐやのデータ使っている。http://internet.watch.impress.co.jp/docs/news/20090721_303730.html --
- そういえば、かぐやのデータが11月に公開。GEへはWMS(ウエブ地図サービス)で出力。 -- カネのないメルクリンファン
- GoogleEarthにMoon(月)追加 。月のshapefileってあるのかな?--
- rgdalでreadOGRを使ってKMLをRに読み込むことができるようになってました。 -- okinawa
- GoogleNativeClient(GNC)でRをコンパイルすれば、ユニバーサルRができてしまうのだろうか・・・。 -- okinawa
- 既報ですが、Google I/O 2009後に発表されていた「GoogleNativeClientをブラウザに標準で埋め込む」ことはGEやO3Dにとって大きな転換になるでしょう。バイナリをブラウザ内で動かせるのですからplug-inがまったく不要になり、Webアプリとスタンドアローンの境目がなくなります。Googleは本気でしょう。 -- okinawa
- http://planetinaction.com/ がすごい! -- okinawa
- このままでいくと、GoogleEarth ver6か7あたりでスタンドアローン版はなくなっちゃうかもね。 -- okinawa
- GoogleEarth APIが更新されているようです。GoogleMap内でGoogleEarthの3DViewに切り替えられるようになっています。
とうとう、GoogleMapとEarthの境目がなくなってきましたね。http://earth-api-samples.googlecode.com/svn/trunk/demos/mapsapi/beefy.html -- okinawa
- CoolApplicationsにKMLFACTBOOK追加。KML自動生成の集大成って感じです。これの都道府県版があるといいのにね。 -- okinawa
- O3Dです --
- GoogleからO3DなるWeb3D plug-inが公開されています。そのうちGEとのコラボもあるんでしょうね。楽しみ! -- okinawa
- rgdalですが、R2.8.*からKML2.2対応になっています。それ以前ではKML2.0ですので、writeOGRを使うときはRのバージョンにご注意ください。ちなみにgx:拡張(GE5)には未対応です。 -- okinawa
- gx:タグ付きのやつですね。kmlラボではすでに対応してます。機能拡張もいいのですが、残ってるバグ(仕様バグ?)を取ってほしいですけど。(特に、3D関係はcolladaに丸投げなので、もうちょっとなんとかして欲しいところですね。) -- okinawa
- "Google Earth 5.0 KML Extensions"ってどうだろう。 --
- ↓GoogleOceanの次のネタかな・・・。 -- okinawa
- これまた旬な話題ですね。個別の位置情報データをGoogleのクラウド上に置ければ、iphoneなどのチープなデバイスのGEでもローカルにデータを保存する必要がなくなり、自作のKMLを呼び出せるんじゃないでしょうか。
また、位置情報データを共有するのであれば、GPS機器から位置情報を自動UPすることで、更に詳しいデータを取得できるようになる。
Googleは地図情報だけではなく、物(車)や人の動的な位置情報を欲しがっているとみえますね。まあ、詳しい内容が出ていないのであくまでも推測ですが・・・。 -- okinawa
- Google Maps Data API には、GE ユーザーにとってどんなメリットがあるのでしょうか? -- 風来坊
- rcomが(また)新しくなっています。バージョン注意! -- okinawa
- http:/www.nin.com がGEpluginと連動するiphone appを作成中??? こんな使い方もあるのね。 -- okinawa
- ↓レスありがとうございます。 --
- 補足:GEではkml内部にCollada(daeファイル)を包含して画面に表示させているだけです。 -- okinawa
- ↓SketchUpではVRMLは取り込めないようですね。出力はできるようですが。 -- okinawa
- 流れとしては VRML -> Collada -> Kml ですかね。SketchUpでVRML取り込めないのかな? -- okinawa
- VRML ⇔ KML コンバータってないでしょうか? -- 仮想現実モデラー
- GoogleEarth Pluginがバージョンアップし、GE5と同等になりました。アドオンを無効化し再インストールしてください。 -- okinawa
- 2009/03/31現在 R2.8.1においてrcomをインストールしてもリソースが足りずGoogleEarthCOMAPIのサンプルがうまくうごきませんので、 http://sunsite.univie.ac.at/rcom/download/ から RAndFriendsLightSetup2081V3.0-11-1.exeをダウンロードしてインストールしてください。 -- okinawa
- しばらく変換がないなぁと思っていたけど、maptools 便利なったものだ。 --
- kmlLine,kmlPolygonの実行結果を追加しました。 -- okinawa
- ↓この関数を使うと、ShapeFileからダイレクトにkmlがつくれました。writeOGRよりは柔軟性がありそうですが、高度は相変わらず追加できません。関数自体は単にタグをハードコーディングしているだけのようですので、改造はできそうですね。 -- okinawa
- maptoolsにkmLine,kmlPolygonが追加されました! -- okinawa
- 既報ですが、GE5ではバルーン内のHTMLはWebkit対応のようです・・・つまりGoogleChromeと同じエンジンってこと。まあ、当然といえば当然。 -- okinawa
- GE5.0でも以前としてポリゴンホール問題は解決していません。本当に解決するには、立体の上面を地平線と平行に湾曲させないと無理だと思います。時間がかかりそうですね。(地球規模のポリゴンでなければ、高度を少し追加してあげれば見かけ上ホールは消えますので、この方法で回避できます) -- okinawa
- ついでにGoogleMars(火星)も選べるようになりました。 -- okinawa
- GPSデータを取り込む機能が使えるようになっています。また、ツアーの録画ができるようです。 -- okinawa
- GE5.0ではGoogleOcean以外にもかなり機能が追加されているようです。 -- okinawa
- GoogleEarth5.0が出ました!予想通りGoogleOceanが追加されています! -- okinawa
- コメント欄更新しました。 -- okinawa
- New View of Ocean Floor in Google Earth! Google Oceanの布石でしょうか海の表示が変わりましたね。 -- okinawa
- SyNetパッケージ内にポイントデータをKML出力するoutgearth関数を発見しました。 -- okinawa
- Google がKML gadgetをリリースしました。 --
GoogleEarthダウンロード&関連情報リンク†
http://earth.google.co.jp/
http://code.google.com/apis/earth/ New!
GoogleEarthPlugin用リンクコード作成
http://code.google.com/apis/kml/documentation/index.html
http://code.google.com/intl/en/apis/kml/documentation/kmlreference.html
http://earth.google.com/comapi/
GoogleEarthBlog
GoogleMap
巨匠net
R and GoogleEarth OMEGAHATにありました。
KMLFACTBOOK:†
MapWindowGIS&Shape2Earth:~†
Unype:†
Rを用いたGoogleEarthの活用†
rcom パッケージ†
rcom:http://cran.md.tsukuba.ac.jp/web/packages/rcom/rcom.pdf
rcomを使ってRからGoogleEarthを直接コントロールする(Windows Only)†
RDCOM/RCOM解説参照。
rcomは常に最新版にupdateしておいてください。
rcomを使うとRからGEが簡単にコントロールできるようになります。
バージョンの取得:
library(rcom)
x<-comCreateObject("GoogleEarth.ApplicationGE")
comGetProperty(x,"VersionAppType") #アプリケーションタイプ
comGetProperty(x,"VersionMajor") #バージョン(メジャー番号)
comGetProperty(x,"VersionMinor") #バージョン(マイナー番号)
comGetProperty(x,"VersionBuild") #バージョン(ビルド番号)
視点の移動:
library(rcom)
x<-comCreateObject("GoogleEarth.ApplicationGE")
cam<-comCreateObject("GoogleEarth.CameraInfoGE")
comSetProperty(cam,"FocusPointLatitude","35.3874") #フォーカス−緯度
comSetProperty(cam,"FocusPointLongitude","139.4285") #フォーカス−経度
comSetProperty(cam,"Range","100") #フォーカスからの距離(上空:m)
comSetProperty(cam,"Tilt","70") #傾き(度)
comSetProperty(cam,"Azimuth","-49") #方位(度)
comInvoke(x,"SetCamera",cam,"0.1") #実行
カメラの位置取得:
library(rcom)
x<-comCreateObject("GoogleEarth.ApplicationGE")
cam0<-comInvoke(x,"GetCamera","1")
comGetProperty(cam0,"FocusPointLatitude") #フォーカス−緯度
comGetProperty(cam0,"FocusPointLongitude") #フォーカス−経度
comGetProperty(cam0,"FocusPointAltitude") #フォーカス−高度(m)
comGetProperty(cam0,"FocusPointAltitudeMode") #フォーカス−高度の基準
comGetProperty(cam0,"Range") #フォーカスからの距離(上空:m)
comGetProperty(cam0,"Tilt") #傾き(度)
comGetProperty(cam0,"Azimuth") #方位(度)
サーチ:
library(rcom)
x<-comCreateObject("GoogleEarth.ApplicationGE")
search<-comCreateObject("GoogleEarth.SearchControllerGE")
comInvoke( search,"Search","東京タワー")
KMLの図形等の直接書き込み:
library(rcom)
KMLData<-paste('<?xml version="1.0" encoding="UTF-8"?> ',
'<kml xmlns="http://earth.google.com/kml/2.2">',
'<Document>',
'<name>poly.kml</name>',
'<Placemark>',
'<name>poly</name>',
'<styleUrl>#msn_ylw-pushpin</styleUrl>',
'<Polygon>',
'<tessellate>1</tessellate>',
'<altitudeMode>relativeToGround</altitudeMode>',
'<outerBoundaryIs>',
'<LinearRing>',
'<coordinates>',
'142.528104678677,36.84729384409629,22606 142.0451584602107,31.51918420212569,22606 148.6995389862778,30.67971755270119,22606 149.6771463245612,36.05082231833893,22606 142.528104678677,36.84729384409629,22606',
'</coordinates>',
'</LinearRing>',
'</outerBoundaryIs>',
'</Polygon>',
'</Placemark>',
'</Document>',
'</kml>',sep='')
KMLData2 <-paste("<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
"<kml xmlns=\"http://earth.google.com/kml/2.1\">",
"<Placemark>",
"<name>Geneva</name>",
"<LookAt>",
"<longitude>139.4285</longitude>",
"<latitude>35.3874</latitude>",
"<altitude>0</altitude>",
"<range>316.3662914479763</range>",
"<tilt>0</tilt>",
"<heading>6.199453434125936</heading>",
"</LookAt>",
"<Point>",
"<coordinates>6.156019183879536,46.20743386584116,0</coordinates>",
"</Point>",
"</Placemark>",
"</kml>",sep="")
GEI<-comCreateObject("GoogleEarth.ApplicationGE")
comInvoke(GEI,"LoadKmlData",KMLData)
comInvoke(GEI,"LoadKmlData",KMLData2)
RからGEへのShapeFileポリゴンの直接書き込み:
LoadKmlDataで大きなKMLを渡すとGEがハングしますので、細切れにして渡しています。
事前にGEを起動して、群馬県あたりを表示しておいてください。
また、この方法ではフォルダ名やファイル名に日本語は使えないようです。
sp:maptools:rgdalパッケージ†
sp(空間データ用クラスおよびメソッド)パッケージ中のオブジェクト一覧
maptools(Maptools)パッケージ中のオブジェクト一覧
rgdal(GDAL(Geospatial Data Abstraction Library, 地理空間データ抽象ライブラリ)のバインディング)パッケージ中のオブジェクト一覧
maptools:http://cran.md.tsukuba.ac.jp/web/packages/maptools/maptools.pdf
sp:http://cran.md.tsukuba.ac.jp/web/packages/sp/sp.pdf
rgdal:http://cran.md.tsukuba.ac.jp/web/packages/rgdal/rgdal.pdf
RでShapeFileからkmlファイルを直接作成する方法(基本編)†
空間的なデータの分析よりGISdata.zipをダウンロードし、C:直下に解凍する。
凡例オーバーレイ付き
ラスターオーバーレイ†
maptools:kmlOverlay†
SpatialPointsDataFrameデータを用いて、PNG・KMLを出力し、GoogleEarthで表示させます。
KMLと作成されたPNGはC:直下に落ちてきますので、kmlOverlay.kmlをダブルクリックし、GEを起動してください。(注:rgdalも必要です。WINのみ実行可。)
library(maptools)
library(rgdal)
opt_exask <- options(example.ask=FALSE)
qk <- SpatialPointsDataFrame(quakes[, c(2:1)], quakes)
proj4string(qk) <- CRS("+proj=longlat")
tf <- "c:/kmlOverlay"
SGqk <- GE_SpatialGrid(qk)#<=ここがミソ
png(file=paste(tf, ".png", sep=""), width=SGqk$width, height=SGqk$height,
bg="transparent")
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
plot(qk, xlim=SGqk$xlim, ylim=SGqk$ylim, setParUsrBB=TRUE,col="red")
dev.off()
kmlOverlay(SGqk, paste(tf, ".kml", sep=""), paste(tf, ".png", sep=""))
kmlOverlayでは機能が足りないので作成しました。
kmlOverlayNodeクラスには、SpatialPointsDataFrameとGE_SGクラスを格納し、いくつかのパラメータも設定できるようにしました。
また、show()とwritekml()メソッドを設定しました。show()は生成されたインスタンスの内容の表示、writekml()はkmlの生成・出力を行います。
#kmlOverlayNodeClass ver0.1.4
setClass("kmlOverlayNode",
representation = representation(sppdf="SpatialPointsDataFrame",
item="character",
range="numeric",
kmlpath="character",
pngpath="character",
color="character",
pch="numeric",
pointsize="numeric",
GE_SG="GE_SG"),
prototype = prototype(sppdf=NULL,
item="",
range=0,
kmlpath="c:/",
pngpath="c:/",
color="green",
pch=19,
pointsize=24,
GE_SG=NULL))
setMethod("show",signature(object="kmlOverlayNode"),
function(object){
sppdf<-object@sppdf
i<-object@item
r<-object@range
kp<-object@kmlpath
pp<-object@pngpath
col<-object@color
ps<-object@pointsize
pch<-object@pch
gesg<-object@GE_SG
cat("kmlOverlayNode::","\n")
cat("\nSpatialPointsDataFrame:","\n")
str(sppdf)
cat("\nitem name:",i)
cat("\nrange:",r)
cat("\nkmlpath:",kp)
cat("\npngpath:",pp)
cat("\ncolor:",col)
cat("\npch:",pch)
cat("\npointsize:",ps)
cat("\nGE_SG:","\n")
str(gesg)
})
writekml<-function(x)x
setGeneric("writekml")
setMethod("writekml",signature(x="kmlOverlayNode"),
function(x){
sxml<-'<?xml version="1.0" encoding="UTF-8"?>'
skml<-'<kml xmlns="http://earth.google.com/kml/2.2">';ekml<-"</kml>"
sGroundOverlay<-"<GroundOverlay>";eGroundOverlay<-"</GroundOverlay>"
sname<-"<name>";ename<-"</name>"
nametag<-paste(sname,x@item,"(",x@color,")",ename,sep="")
sIcon<-"<Icon>";eIcon<-"</Icon>"
pngfilename<<-paste(x@pngpath,x@item,".png",sep="")
pngfile<-paste("<href>",pngfilename,"</href>",sep="")
viewBoundScale<-"<viewBoundScale>0.75</viewBoundScale>"
altitude<-paste("<altitude>",x@range,"</altitude>",sep="")
altitudeMode<-"<altitudeMode>absolute</altitudeMode>"
sLatLonBox<-"<LatLonBox>";eLatLonBox<-"</LatLonBox>"
north<-paste("<north>",x@GE_SG$ylim[['max']],"</north>",sep="")
south<-paste("<south>",x@GE_SG$ylim[['min']],"</south>",sep="")
east<-paste("<east>",x@GE_SG$xlim[['max']],"</east>",sep="")
west<-paste("<west>",x@GE_SG$xlim[['min']],"</west>",sep="")
outkml<-c(sxml,skml,sGroundOverlay,nametag,sIcon,pngfile,viewBoundScale,eIcon,altitude,altitudeMode,sLatLonBox,north,south,east,west,eLatLonBox,eGroundOverlay,ekml)
outfile<-paste(x@kmlpath,x@item,".kml",sep="")
write(outkml,outfile)
png(file=paste(x@pngpath,x@item, ".png", sep=""), width=x@GE_SG$width, height=x@GE_SG$height,bg="transparent",pointsize=x@pointsize)
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
plot(x@sppdf,pch=x@pch,cex=0.05*sqrt(x@sppdf[[x@item]]),col=x@color)
dev.off()
})
更新履歴:
2008/04/07 ver0.1.4 メソッドのwrite()をwritekml()に変更。R2.4.1,R2.5.1,R2.6.2にて生成確認。
kmlOverlayNodeクラスを利用したサンプル†
(事前にkmlOverlayNodeクラスを作成しておくこと)
library(maptools)
library(rgdal)
qk <- SpatialPointsDataFrame(quakes[, c(2:1)], quakes)
proj4string(qk) <- CRS("+proj=longlat")
SGqk <- GE_SpatialGrid(qk)
kmlOVN<-new("kmlOverlayNode")
kmlOVN@sppdf<-qk
kmlOVN@GE_SG<-SGqk
kmlOVN@item<-"mag"
kmlOVN@range<-0
kmlOVN@pch<-3
kmlOVN@pointsize<-24*5
kmlOVN@color<-"red"
show(kmlOVN)
writekml(kmlOVN)
ベクターオーバーレイ†
maptools:kmlLine†
maptoolsのサンプルを実行。tempファイル内にkmlが作成される(拡張子なし)
maptools:kmlPolygon†
maptoolsのサンプルを実行。tempファイル内にkmlが作成される(拡張子なし)
ごらんのようにポリゴンホールにもきちんと対応しています。
rgdal:writeOGR†
空間的なデータの分析からGISdata.zipをダウンロードし、C:直下に解凍してください。
ShapeFileからSpatialPolygonsDataFrameオブジェクトを作成し、直接KMLに変換します。
KMLはC:直下に落ちてきますので、kmlOverlayVector.kmlをダブルクリックし、GEを起動してください。(注:rgdalも必要です。WINのみ実行可。)
library(maptools)
library(rgdal)
x<-readShapePoly("c:/GISdata/gunma.shp")
x@data$PREF<-iconv(x@data$PREF,"","utf-8")
x@data$CITY1<-iconv(x@data$CITY1,"","utf-8")
x@data$CITY2<-iconv(x@data$CITY2,"","utf-8")
x@data$TOWN1<-iconv(x@data$TOWN1,"","utf-8")
x@data$TOWN2<-iconv(x@data$TOWN2,"","utf-8")
tf <- "c:/kmlOverlay"
writeOGR(x, paste(tf, "Vector.kml", sep=""), "gunma", "KML")
XMLパッケージ†
XMLパッケージでwriteOGRで出力されたkmlデータを再構成=>kmlラボ†
writeOGRで出力されたkmlデータをXMLパッケージを用いて再構成し、高さ、ポリゴンの色、ポリゴンの線の色を指定できるkmlAltitudeNode関数を作成しました。
(構造決めうちなので、ShapeFileライブラリのデータをwriteOGRでkml出力したデータしか使えないと思います)
注)R2.7.2は日本語が文字化けします。R2.6.2ですと日本語もうまく表示されます。
kmlAltitudeNode<-function(doc,data,fillcolor,linecolor){
library(XML)
#岡田先生の流用
findDoc <- function(x) {
if(xmlName(x) == "Document") {
return(x)
}
for(m in xmlChildren(x)) {
n <- findDoc(m)
if(!is.null(n)) {
return(n)
}
}
return(NULL)
}
node0 <- findDoc(xmlRoot(doc))
len1<-length(node0[[1]])
for(i in 2:len1){
#altitude
node1<-node0[[1]][[i]][[2]][[1]]
node1<-addChildren(node1,xmlNode("extrude","1"),xmlNode("altitudeMode","relativeToGround"))
#fillcolor
node2<-node0[[1]][[i]][[3]][[2]]
node2<-xmlNode("PolyStyle",xmlNode("color",fillcolor[i-1]))
#linicolor
node3<-node0[[1]][[i]][[3]][[1]]
node3<-xmlNode("LineStyle",xmlNode("color",linecolor))
#polygon
len2<-length(node0[[1]][[i]][[2]][[1]])
for(j in 1:len2){
x1<-xmlValue(node1[[j]][[1]][[1]])
x2<-rev(unlist(strsplit(x1," ")))
x3<-paste(x2,data[[i-1]],sep=",",collapse=" ")
node1[[j]][[1]][[1]]<-xmlNode("coordinates",x3)
}
node0[[1]][[i]][[2]][[1]]<-node1
node0[[1]][[i]][[3]][[2]]<-node2
node0[[1]][[i]][[3]][[1]]<-node3
}
return(node0)
}
#sample
library(XML)
doc <- xmlTreeParse("c:/kmlOverlayVector.kml")
data<-sample(1000:10000,39)
fillcolor<-c("ff000000","ffff0000","ff00ff00","ff0000ff","ffffff00","ffff00ff","ff00ffff","ffffffff","00000000")
linecolor<-"NA"
x<-kmlAltitudeNode(doc,data,fillcolor,linecolor)
saveXML(x,"c:/test.kml")
Examples†
meuse川の土壌汚染に関するデータを用いた3D-BubblePlot†
spパッケージではおなじみのdata(meuse)を用いてGoogleEarth上にバブルプロットを表示しました。
土壌内の重金属の種類はレイヤごとに分割して、高度を変化させました。
library(maptools)
library(rgdal)
data(meuse)
fkml<-function(itemname="",Range=0,north=0,south=0,east=0,west=0){
sxml<-'<?xml version="1.0" encoding="UTF-8"?>'
skml<-'<kml xmlns="http://earth.google.com/kml/2.2">';ekml<-"</kml>"
sGroundOverlay<-"<GroundOverlay>";eGroundOverlay<-"</GroundOverlay>"
sname<-"<name>";ename<-"</name>"
nametag<-paste(sname,itemname,ename,sep="")
sIcon<-"<Icon>";eIcon<-"</Icon>"
pngfilename<<-paste("c:/",itemname,".png",sep="")
pngfile<-paste("<href>",pngfilename,"</href>",sep="")
viewBoundScale<-"<viewBoundScale>0.75</viewBoundScale>"
altitude<-paste("<altitude>",Range,"</altitude>",sep="")
altitudeMode<-"<altitudeMode>absolute</altitudeMode>"
sLatLonBox<-"<LatLonBox>";eLatLonBox<-"</LatLonBox>"
north<-paste("<north>",north,"</north>",sep="")
south<-paste("<south>",south,"</south>",sep="")
east<-paste("<east>",east,"</east>",sep="")
west<-paste("<west>",west,"</west>",sep="")
outkml<-c(sxml,skml,sGroundOverlay,nametag,sIcon,pngfile,viewBoundScale,eIcon,altitude,altitudeMode,sLatLonBox,north,south,east,west,eLatLonBox,eGroundOverlay,ekml)
outfile<-paste("c:/",itemname,".kml",sep="")
write(outkml,outfile)
}
meuse2<-SpatialPointsDataFrame(meuse[,c(1:2)],meuse)
proj4string(meuse2) <- CRS("+init=epsg:28992")
meuse3<-spTransform(meuse2,CRS("+proj=longlat"))
SGmeuse <- GE_SpatialGrid(meuse3)
itemname<-"cadmium"
fkml(itemname=itemname,Range=110,north=SGmeuse$ylim["max"],south=SGmeuse$ylim["min"],east=SGmeuse$xlim["max"],west=SGmeuse$xlim["min"])
png(file=paste("c:/",itemname, ".png", sep=""), width=SGmeuse$width, height=SGmeuse$height,bg="transparent",pointsize=24)
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
text<-paste('plot(meuse3,pch=19,cex=0.05*sqrt(meuse3$',itemname,'),col="orange")',sep='')
eval(parse(text=text))
dev.off()
itemname<-"zinc"
fkml(itemname=itemname,Range=80,north=SGmeuse$ylim["max"],south=SGmeuse$ylim["min"],east=SGmeuse$xlim["max"],west=SGmeuse$xlim["min"])
png(file=paste("c:/",itemname, ".png", sep=""), width=SGmeuse$width, height=SGmeuse$height,bg="transparent",pointsize=24)
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
text<-paste('plot(meuse3,pch=19,cex=0.05*sqrt(meuse3$',itemname,'),col="green")',sep='')
eval(parse(text=text))
dev.off()
itemname<-"lead"
fkml(itemname=itemname,Range=90,north=SGmeuse$ylim["max"],south=SGmeuse$ylim["min"],east=SGmeuse$xlim["max"],west=SGmeuse$xlim["min"])
png(file=paste("c:/",itemname, ".png", sep=""), width=SGmeuse$width, height=SGmeuse$height,bg="transparent",pointsize=24)
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
text<-paste('plot(meuse3,pch=19,cex=0.05*sqrt(meuse3$',itemname,'),col="cyan")',sep='')
eval(parse(text=text))
dev.off()
itemname<-"copper"
fkml(itemname=itemname,Range=100,north=SGmeuse$ylim["max"],south=SGmeuse$ylim["min"],east=SGmeuse$xlim["max"],west=SGmeuse$xlim["min"])
png(file=paste("c:/",itemname, ".png", sep=""), width=SGmeuse$width, height=SGmeuse$height,bg="transparent",pointsize=24)
par(mar=c(0,0,0,0), xaxs="i", yaxs="i")
text<-paste('plot(meuse3,pch=19,cex=0.05*sqrt(meuse3$',itemname,'),col="yellow")',sep='')
eval(parse(text=text))
dev.off()
出来上がった、zinc.kml,cadmium.kml,copper.kml,lead.kmlをGEに読み込みます。
kmlOverlayNodeクラスで処理した場合†
kmlOverlayNodeクラス(自作)を利用した作成した場合のコード(WINのみ)
library(maptools)
library(rgdal)
data(meuse)
meuse2<-SpatialPointsDataFrame(meuse[,c(1:2)],meuse)#SpatialPointsDataFrameに変換
proj4string(meuse2) <- CRS("+init=epsg:28992")#プロジェクションの指定
meuse3<-spTransform(meuse2,CRS("+proj=longlat"))#緯度・経度に変換
SGmeuse <- GE_SpatialGrid(meuse3)#GE上に投影するグリッドの生成
kmlOVN<-new("kmlOverlayNode")#kmlOverlayNodeのインスタンス生成
kmlOVN@sppdf<-meuse3#バブルプロット用データの設定
kmlOVN@GE_SG<-SGmeuse#グリッドデータの設定
items<-c("zinc","lead","copper","cadmium")#表示用アイテム名の指定
colors<-c("green","cyan","yellow","orange")#バブルポイントの色
ranges<-c(80,90,100,110)#GEにオーバーレイするレイヤの高度の設定
kmlOVN@pointsize<-24#バブルポイントの大きさ(デフォルト値24ポイント)
i<-0
for(i in 1:4){
kmlOVN@item<-items[i]
kmlOVN@color<-colors[i]
kmlOVN@range<-ranges[i]
show(kmlOVN)#インスタンスの内容の確認
writekml(kmlOVN)#kml出力実行
}
meuse川の土壌汚染3D-BubblePlotのGoogleMapでの表示†
http://maps.google.co.jp/maps?f=q&hl=ja&geocode=&q=http:%2F%2Fwww.okada.jp.org%2FRWiki%2F%3Fplugin%3Dattach%26refer%3DGoogleEarth%25A4%25C8R%26openfile%3Dmeuse.kmz&ie=UTF8&t=h&z=14
ipodTouchでmeuse川の土壌汚染3D-BubblePlotの表示†
上記のURLをipodTouchのsafariからアクセスしただけです。ちにみに画面はiphoneSDKのシミュレータで表示しグラブで撮影しました。
ipodTouchでも同様に表示できています。いや〜それにしてもipodTouch便利です。安価な公衆無線LANが普及してくれたらと本気で思います。
GoogleEarthPluginを利用したHTMLの作成†
Webで利用できるGoogleEarthです。GoogleEarthPluginは上記ダウンロードよりダウンロードして、インストールしてください。(現在Winのみ)
ここでは、RでGoogleEarthPluginを利用したHTMLを作成します。
GoogleEarthPluginの起動(HTML)†
h0<-c('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />')
h1<-c("<html>","<head>","<title>Hello Google Earth!</title>")
h2<-c("<!-- *** Replace the key below below with your own API key, available at http://code.google.com/apis/maps/signup.html *** -->")
h3<-c('<script src="http://www.google.com/jsapi?key=ABQIAAAA7Qa-RE_JYtVliR9OTauOexScAlgT1OMB91Iojh4cvnPDirRWVBRkKoWJQNoMN19LbzuRx7z0aIWHTQ"></script>')
JS1<-c('<script>google.load("earth", "1");','var ge = null;')
JS2<-c('function init() {','google.earth.createInstance("map3d", initCallback, failureCallback);','}')
JS3<-c('function initCallback(object) {','ge = object;','ge.getWindow().setVisibility(true);','}')
JS4<-c('function failureCallback(object) {','}','</script>')
h5<-c("</head>","<body onload='init()' id='body'>","<center>","<div>Hello, Earth!</div>")
h6<-c("<div id='map3d_container'","style='border: 1px solid silver; height: 600px; width: 800px;'>")
h7<-c("<div id='map3d' style='height: 100%;'>","</div>","</center>","</body>","</html>")
text<-c(h0,h1,h2,h3,JS1,JS2,JS3,JS4,h5,h6,h7)
write(text,"c:/geplugin1.html")
C:直下に落ちてきます。
GoogleEarthPluginでmeuse川データ表示1†
h0<-c('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />')
h1<-c("<html>","<head>","<title>Hello Google Earth!</title>")
h2<-c("<!-- *** Replace the key below below with your own API key, available at http://code.google.com/apis/maps/signup.html *** -->")
h3<-c('<script src="http://www.google.com/jsapi?key=ABQIAAAA7Qa-RE_JYtVliR9OTauOexScAlgT1OMB91Iojh4cvnPDirRWVBRkKoWJQNoMN19LbzuRx7z0aIWHTQ"></script>')
JS1<-c('<script>google.load("earth", "1");','var ge = null;')
JS2<-c('function init() {','google.earth.createInstance("map3d", initCallback, failureCallback);','}')
JS3<-c('function initCallback(object) {','ge = object;','ge.getWindow().setVisibility(true);','}')
JS4<-c('function failureCallback(object) {','}','</script>')
h5<-c("</head>","<body onload='init()' id='body'>","<center>","<div>Hello, Earth!</div>")
h6<-c('<iframe src="http://www.takitwithme.com/geiframe.html?url=http://www.okada.jp.org/RWiki/%3Fplugin%3Dattach%26refer%3DGoogleEarth%A4%C8R%26openfile%3Dmeuse.kmz&t=0&h=-13.00527898952727&z=6448.588586035891&ll=50.97369298594917,5.746012139557919" name="takit-geembed" frameborder="0" height="510" scrolling="auto" width="500"></iframe>')
h7<-c("</center>","</body>","</html>")
text<-c(h0,h1,h2,h3,JS1,JS2,JS3,JS4,h5,h6,h7)
write(text,"c:/geplugin2.html")
C:直下に落ちてきます。
GoogleEarthPluginでmeuse川データ表示2†
h0<-c('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />')
h1<-c("<html>","<head>","<title>Hello Google Earth!</title>")
h2<-c("<!-- *** Replace the key below below with your own API key, available at http://code.google.com/apis/maps/signup.html *** -->")
h3<-c('<script src="http://www.google.com/jsapi?key=ABQIAAAA7Qa-RE_JYtVliR9OTauOexScAlgT1OMB91Iojh4cvnPDirRWVBRkKoWJQNoMN19LbzuRx7z0aIWHTQ"></script>')
h4<-c("<script>")
JS1<-c('google.load("earth", "1");','var ge = null;','function init() {','google.earth.createInstance("map3d", initCallback, failureCallback);','}')
JS2<-c('function initCallback(object) {','ge = object;',"var url = 'http://www.okada.jp.org/RWiki/?plugin=attach&refer=GoogleEarth%A4%C8R&openfile=meuse.kmz';","google.earth.fetchKml(ge, url, finished);","ge.getWindow().setVisibility(true);","var layerRoot = ge.getLayerRoot();","var terrainLayer = layerRoot.getLayerById(ge.LAYER_TERRAIN);","layerRoot.enableLayerById(ge.LAYER_TERRAIN, false);","layerRoot.enableLayerById(ge.LAYER_ROADS, true);","var navControl = ge.getNavigationControl();","navControl.setVisibility(ge.VISIBILITY_SHOW);","}")
JS3<-c("function failureCallback(object) {","}")
JS4<-c("function finished(object) {","if (!object) {","alert('bad or NULL kml');","return;","}","ge.getFeatures().appendChild(object);","var la = ge.createLookAt('');","la.set(50.97369298594917, 5.746012139557919, 8000, ge.ALTITUDE_MODE_RELATIVE_TO_GROUND, ","0, 0, 0); //180, 60, 500);","ge.getView().setAbstractView(la);","}")
f1<-c("</script>","</head>","<body onload='init()' bgcolor='#000000'>")
f2<-c("<div>",'<font style="font-family:arial;font-size:20pt;color:#ffffff;"><b>3D Meuse River Explorer</b> <font style="font-size:14pt;color:#aaaaaa">beta</font> ','</div>')
f3<-c("<table>","<tr valign=top><td>","<div id='map3d_container'","style='border: 1px solid silver; height: 380px; width: 800px;'>","<div id='map3d' style='height: 100%;'></div>","</div>")
f4<-c('</td></tr>','</table>','</body>','</html>')
text<-c(h0,h1,h2,h3,h4,JS1,JS2,JS3,JS4,f1,f2,f3,f4)
write(text,"c:/geplugin3.html")
その他†
GERライブラリ (内容が古くなっています)†
GoogleEarth上で塗りわけ地図(主題図)を表示させるためのライブラリです。
R(D)COMを用いてExcelと連動できるGERexcel.xlsつき。
実行環境:
OS:WINXPSP2,WIN2000
R:R2.4.1,maptoolsv0.6-3
GERexcel.xlsを利用する場合は、RSrv201が必要
R(D)COMのダウンロードサイト(http://sunsite.univie.ac.at/rcom/ )-[Download Area]-[current]内RSrv201.exe
Excel:2000
GoogleEarth:4(2722)
利用データ:
okinawaDATA.csv:厚生労働省が公開しているデータ(平均寿命2000年男性・女性)を加工したもの
okinawa.shp:ESRIジャパン株式会社の全国市区町村界データ
「本データの作成に当たっては、ESRIジャパン株式会社の全国市区町村界データを使用しました。本データの著作権はESRIジャパン株式会社に帰属します。」
更新履歴:
2006/12/19 GERLib ver0.3.2 第3版公開
2006/09/26 GERLib ver0.3.1 第2版公開(Excel対応)
2005/12/01 japanae2000.zip 公開
2005/11/24 GERLib ver0.2.0 公開初版
- 2006/12/19 細かいバグを取り、若干修正。
- 2006/09/26 ExcelからGEの操作ができるように改良しました。
- 2005/12/01 japanae2000.zipは、平均寿命2000年男性および女性のデータと凡例データです。shapefileはダウンロードしたjapan_jdgファイルを、
添付しているshapecleanerでクリーニングしてから利用してください。
- 注)平均寿命2000年男性および女性のデータは厚生労働省が公開しているデータを基に作成しました。
http://www.mhlw.go.jp/toukei/saikin/hw/life/ckts00/xls/hyou1.xls
- 2005/11/24 まだまだ不完全ですが、とりあえず公開します。
ギャラリー†
1.埼玉県1995年平均寿命男性(2005/10/23更新)
2.千葉県1995年平均寿命男性(2005/10/23更新)
プリズムマップ
3.群馬県1995年平均寿命男性(2005/10/23更新)
4.関東1995年平均寿命男性
5.日本全図2000年平均寿命男性(最新データです)(3Dポリゴンは使っていないので影響はないと思います)
http://bbs.keyhole.com/ubb/download.php?Number=165657
ちょっとまだ不完全ですがUPしてみました。今回のものは凡例もRで作っています。けっこう重い(3M.kmz)ので注意。
6.日本全図2000年平均寿命女性
http://bbs.keyhole.com/ubb/download.php?Number=169274
解説)上記の図の凡例はクオンタイルを用いて16分割しています。
追伸)1995年および2000年の市区町村別生命表は、すでにベイズ統計学的手法によって推計値の算出が行われていました。
7.沖縄県市町村の3大死因クラスターの分布
沖縄県市町村の3大死因(がん・脳血管疾患・心疾患)のSMR(標準化死亡比:全国を100とした場合、100以上ならば死亡が多く100以下なら死亡が少ない)を1985−90−95−2000の4回15年間のデータをもとに階層化クラスター分析を行いました(ward法、平方ユークリッド距離)。(注:SMRはあくまでも全国に対する相対指標なので、時系列のデータとして用いた場合、妥当であるかどうかはわかりません。また、時系列データをクラスター分析していいものなのかどうかは十分検証できておりません。)
赤い地域は、死亡比が増加している地域です。青い地域は男性のみ死亡比が増加している地域です(女性は変化なし)。黄色は、死亡比が高い離島です。
日本県境データ†
GoogleEarthのPlaces内のJapan Prefectureを右クリックし、Edit...を選ぶと、県境の設定が出てきますので、ここで、高さ・色・塗るなどのプロパティを変更できます。
GEインタラクティブファンクション†
GECOM_APIマニュアルが公開されました( http://earth.google.com/comapi/ )
(1)インタラクティブにポリゴンの色を変化させる
インタラクティブにポリゴンの色を変化させるためのGoogleEarthのコードです。
赤い玉と黄色い玉の上にマウスポインタを置いてみてください。
この方法をうまく使うと、塗りわけ色の色階級を逐次変化させながら見せることができますね。
(2)KEYHOLElib(GoogleEarthAPI)を用いて、IEとGEを連動させる(WINのみ)
IEとGEを連動させるサンプルです。IEから利用してください。
起動するとIEのセキュリティチェックが働きますが、許可してください。
また、RDCOMが必要なプログラムもありますので事前にRDCOM2.0をインストールしてください。
(htmlとhtaの両方を用意しましたので、使い分けてください。)
- moveToCoordinates :表示されているボタンを押すとGEが自動的にその場所に飛びます。
- ScreenShot :白黒のスクリーンショットを任意の解像度で取り、その結果をブラウザに表示します。
- getCoods :GE上のCoordinateのlatitude・longitudeを抽出します。
- getCoodsToRplot :getCoodsで抽出したlatitude・longitudeをRDCOMを使ってRでplotします。
コメント欄アーカイブ†
コメント欄(2008)†
- GEbrogのThe Year 2008 in Google Earthを見ました。ことしもGEはすごく発展していることがわかります。大きなものはOGCKML認定、GEpluginとIphoneGEでしょうか。GE本体の部分では細かい機能追加やレイヤの追加がありました。さて、来年はいよいよGoogleOceanかな?(P.S OGCKMLになってからKMLの新機能(タグ)の追加が鈍っているような・・・) -- okinawa
- はい、そうです。ただ、今のところ高度0の場合に有効のようです。altitudeタグで高度を設定する方法は手元のGEではうまくいってませんね。もうすこし調べます。 -- okinawa
- ↓↓"AltitudeMode"タグの要素値に、"clampToAltitude" を入れて解決しているのでしょうか? --
- 追伸。今後RでのKML作成についてはrgdal&XMLパッケージを用いた手法(kmlラボ)で対応します。(ShapeFileから直接KMLを作る手法での実装はご勘弁を・・・) -- okinawa
- しかしTMEの作者はこんな「かくし仕様」をどうやって調べたんだろう・・・。 -- okinawa
- ↓確認しました。確かに正常に描画されるようになりました。ただ、表示する時にGoogleEarth側のロジックで「そんなタグ無いよ!」って怒られます。それでも進めると、正常に表示されます。たぶん、まだ仕様書にのらない実装途中のものでしょう。実装はしてみようと思いますが、変更になる可能性もありますね。 -- okinawa
- ポリゴンのホール(というより、色の塗り面から地面が浮き出てしまう)の問題は確認しておりましたが、現在は対応していません。TMEのプレゼンに対策のようなものが書いてありますが、KML2.2の仕様にないものなので動かしてみて使えるようであれば実装します。今回TMEが情報を公開してくれたおかげで、色々機能追加ができそうです。TMEの作者に感謝! -- okinawa
- TMEにポリゴンのホール(穴)への対策が書かれていますが、okonawa さんのツールはこの点については対処されているのでしょうか? --
- EveryTrail Now a Layer in Google Earth! -- iPhone appのEveryTrailでGPS情報を蓄積し、GoogleEarthの新レイヤに追加できてしまいます。 -- okinawa
- TMEの作者がGooglePlexでプレゼンしたそうです。この人もGoogleに雇われちゃうのか? -- okinawa
- Google Earth Plus Discontinuedだそうだ。まあ、free版と大差なかったしね。plusの部分は将来のversionUpネタになるらしいです。ってことはGSP機能が使えるようになる!? -- okinawa
- TMEのドキュメントを見てますが、ノウハウがばっちり詰まってます。 -- okinawa
- やたー!また楽しみが増えますね! -- okinawa
- Thematic Mapping Engineのソースコード GPLv3 ラインセンスで公開。Google Earth プラグイン対応で、GUIのカスタマイズができる。PHP 利用のウェブインターフェースで、RCurl から利用できそう。 --
- みなさ〜ん!おまたせ〜!The Earth Browser Plug-in is now available on Mac OS X (Intel and PowerPC)! うれしいことにPPCMacにも対応してくれてるじゃありませんか。また、NPAPI plugin対応のブラウザなら動くかも・・・ということらしいです。ありがとうGoogle-- okinawa
- 現在は存在してません。研究途上でGoogleEarthと似た仕組みを使って地球ではなく人体を表示するものです。(北欧かどっかでやってたような・・・こんな感じかな?http://www.tobyo.jp/tobyoblog/2007/662.html http://www.visiblebody.com/start) -- okinawa
- ↓"Google Human being"ってサイトはどこにあるのでしょうか?なかなかヒットしません。OpenSimというのは聞いたことがあるのですが? --
- Ancient Rome in 3D for Google Earthを見て。CNET Japan の記事にも「いよいよGoogle Earthで古代ローマのツアーが始まる。ついに「Second Earth」へ向かうか?」があった。
感想としては、観光というより高品質な教材に見える。(ただ、個人的にはSecond Life系には行って欲しくない。Google Human being に行って欲しい。)
日本では電子教材市場がどの程度存在するのか判らないが、アメリカではそれがないと教師も教育ができなくなってきていると某番組で紹介していた。
そういう意味では↓の「今昔マップ2」のKML出力はGEの利用としては的を得ていると思う。電子教材=KMLいいかも。 -- okinawa
- 時系列地形図閲覧ソフト「今昔マップ2」公開されました。KML 出力ができるそうです。 --
- ↓FOSS4G2008 TOKYO 行ってきました。Rの話題はまったくありませんが(GRASS や QGIS の話題がなく、Web サービス中心)、Live DVD には収められていました。2012 年には日本で本大会開催かとか行ってましたけど。 --
- 追伸、iphone/ipod touch GEはオフラインでも動くようです。 -- okinawa
- キターーーーーーーー!!!!iphone/ipod touch GoogleEarth!!!!!!!!でもKMLの読み込みはできなさそう。 -- okinawa
- Thematic Mapping EngineはグラフィカルにKMLを作成しているだけで、裏の仕組み(KMLをどんな仕組みで作成しているか)は公開されていません。kmlライブラリはあくまで「Rでkmlをいじる」ことを目的としていますので、目的が全く違うと思います。(もちろん、Thematic Mapping EngineのKMLの表現方法は勉強になります) -- okinawa
- ↓"Thematic Mapping Engine"の違いはなんでしょうか? --
- kmlライブラリを公開しました。 -- okinawa
- ↓この方法は、プログラムをガリガリ組まなくても良い方法なので、今後はこの方法で機能拡張してみます。 -- okinawa
- 「writeOGRで出力されたkmlデータをXMLパッケージで再構成」を追加しました。(構造決めうちなので、shapefileをwriteOGRでkml出力したものしか使えないと思います。) -- okinawa
- ↓すごく面白そう! -- okinawa
- 来月東大CSISで開催予定のFOSS4G2008 TOKYO の詳細(一部は調整中)が決まりました。 -- OSGEO
- httpサーバー側にデータを投げれれば、どれを使ってもいいと思います。そういえば昔こんなのつくってたな〜。Rwwwのページ -- okinawa
- ↓レスありがとうごおざいます。rapacheというのがあるけれど、Win32はなく、こっちの環境はIISやはり、CGI-BINか? --
- できると思いますが、結局サーバーサービスになってしまうので、ローカルでサクッというわけにはいきませんね。(httpサーバを起動させたり、もろもろ)ただ、このEarthAtlasでのテクニックには学ぶべきところが沢山あります。3D Collada objectを使った3Dグラフとか。しかし、これにRがつながれば理想的ですね。 -- okinawa
- Google Earh API + ExtJS を使ったEarth Atlasってよさそう。なんとか、Rとダイレクトに連携できないものか。 --
- 初めて気が付いたのですが、GE(WIN)インストールするとgpsbabelもインストールされているのね。 -- okinawa
- Mandaraを使ってみた。KML出力もきれいにできるんですね。問題のClockWise変換は相変わらずできなさそうですが、これはShapeFile側が対応すべきなのでしょうね。Rでやればすぐできそうですね。 -- okinawa
- お〜!かなりいいかんじになりましたね。かゆいところに手が届いてます。 -- okinawa
- 地理教育で利用されているMandaraがバージョンアップ。シェープファイル出力、土地利用図5000対応、Google の Geocoder 対応、KML出力の改良。これで R と連携しやすくなった。 --
- WriteOGRのコードをUTF-8に対応するように変更しました。これでGE上での文字化けはなくなります。 -- okinawa
- やっとtouchをverUpできました! -- okinawa
- iphone3Gがとうとうでました。でもtouch用firmware2.0はいまだダウンロードできない。据え膳おあずけ状態でストレス急上昇です。 -- okinawa
- shapefileライブラリで紹介しているが、全国基準地域メッシュデータの公開をお願いした村上さんからshpファイル化したものも公開していただいた。http://d.hatena.ne.jp/murakami_tak/20080708/p1 このデータを使うことで、GoogleEarth上に3Dメッシュグラフを作ることが可能になる。このメッシュは多くのメッシュ化データの分類と同じ分類なので、メッシュ化データをそのまま利用することができると思われる。さて、そろそろ本格的につくるかぁ。 -- okinawa
- AGE480について。描画は高速化している。マウスコントロールは使いやすい。KMLの対応は不完全。ShapeFileの扱いが厳しくなった。依然としてベクターデータの描画が汚い。 -- okinawa
- ArcGIS Explorer サポート KMLのアニメーション、GeoRSS, GPX に対応し、IEなどに埋め込み可能。 --
- GoogleEarthplug-inの新しいバージョン(Mac&LinuxOS,MultiBrowser)が8月に出るとの情報がありました。 -- okinawa
- ソフトバンクiphone月8300円か。ざっと計算して20万。買う価値はあるのかと問われるとなんともいえない。touchもってるし。 -- okinawa
- R ver3.0か・・・。R教授は何か考えてるんだろうか。 -- okinawa
- Firefox3の灯。夜景がきれい。GeoRSS || GeoJSON + GE/GoogleMAP で、「R Ver.3.0」 の灯ができる? -- 言い出しぺっぺの法則はなしね。
- .Callの向こう岸:shapefileの仕様には3Dのフォーマットも含まれてるんですが、R側の受け皿がないのでRのクラスに変換する過程で端折られてるんですね・・・手のだしようがないです。もとい、出したくないです。 -- okinawa
- 個人的メモ2.よく考えてみたらGEpluginでColladaファイルのブラウザ表示ができるようになってるんですよね。 -- okinawa
- 個人的メモ。GoogleEarthは2005/06/28に公開された。もうすぐ3年ですねえ。あのころから比べて何か変ったのか? -- okinawa
- まあ、待て。まずはターミナル画面から・・・。 -- okinawa
- そうですね。軽くないと「ごろ寝deR」ができないし。 -- okinawa
- iphone もいいけど、 Willcom のUMLPC(0.5kgは重いなぁ)のようなものもっと軽くなってほしい(0.2kg ぐらいかな)。これができれば、どこでも R (ネット経由は除く)。 --
- iphoneはソフトバンクから!発売は年内。 -- okinawa
- keyですが、ローカルIPでもOKのようです。もしかして、起動元URLを暗号化してるだけなのかも。 -- okinawa
- だんだんわかってきました。まずkeyが「サイト専用」なのです。ここ「http://www.okada.jp.org/」用のkeyを取得しないと動かないのです。GEpluginが起動元サイトのチェックをおこなっているんですね。(一旦ダウンロードしてしまえばkeyがどうであれ動く)FireFoxでは一旦ダウンロードして開こうとするので、うまく動くのですね。 -- okinawa
- FireFoxで動作確認してたけど、IE6だとうまく動かないなぁ・・・。 -- okinawa
- GoogleEarthPluginのRコード修正。 -- okinawa
- GoogleEarthPluginでmeuse川データ表示2追加!(人のサイトのコードを使わずに表示) -- okinawa
- こちらに来られている方の中には、okinawaはXMLパッケージ使わんのか?と思われている方もいると思うが、XMLパッケージが継続的に利用できるものなのか不安があるため、あえて使っていない。リプリー先生あづかりモードになっているような感じだし。ただ、私はGIS2.0を志向しているのでXMLは必須であるとは思っている。 -- okinawa
- MacとLinuxの方はGEpluginがいまだ利用できないので、悔しい思いをされているかとおもうが、GEpluginのパラメータにはすでにMac&Linuxのものも入っている。出てくるのは、たぶん時間の問題だろう。 -- okinawa
- GEpluginをいろいろいじっていたのだが、これまでのGE(KML)でのデータ配信とは方法が異なってくるように感じられる。従来のGE(KML)では、KML自体をダウンロードしないと見れないが、GEpluginではサイトにアクセスすればすぐにKMLを見れること。(必要ならば、KMLをダウンロードしてGEで利用できる)それと、GoogleMapとの境目が基本的に消滅したこと。そして最後に気づいている人はいると思うが「GoogleEarthが完全にWebアプリになったこと」。Webアプリのオフライン化については今後の進展具合でどうなるか楽しみだ。以前、RcmdrでGEをコントロールするようなGUIが作れるかも・・・と発言したが、状況が変ったといわざるを得ない。やはりGUIはブラウザ&JavaScriptが正解だろう。 -- okinawa
- GEplugin対応のサイトが続々登場しているようですね。from Googleearth Blog. -- okinawa
- htmlじゃなくてhtaでもそのまま動きますね。MiniEarthが作れそう・・・。 -- okinawa
- 「GoogleEarthPlugin?を利用したHTMLの作成」更新 -- okinawa
- meuse川のkmzを表示させるHTML追加 -- okinawa
- 一度起動すれば、オフラインにしても動いてますね。画面の更新は行われませんけど・・・。 -- okinawa
- 「GoogleEarthPluginを利用したHTMLの作成」を追加! -- okinawa
- 忘れてました。ここです。http://code.google.com/apis/earth/ -- okinawa
- meuse川のkmzをGEpluginでFirefoxに読み込ませてみました。問題なく表示されました。 体感スピードは画面サイズが小さいためか非常に高速に感じます。-- okinawa
- プログラムはJavaScriptですね。R2HTMLが使えるかな? -- okinawa
- こここれはーー!!!やったー!!!Web内でGEが動いてますよ!動きも非常にスムースです。プログラムはJavaScriptっぽいけど。 -- okinawa
- Google is releasing a Google Earth plug-in! 動きがありましたね。詳細は追って書き込みます。 -- okinawa
- libkml ver0.2が出ています。今日と明日(5/28,29)に開催されるGoogle I/O でGIS関係も何か動きがあるようですね。 -- okinawa
- ESRI and Google Collaborateの続報。ESRIのArcGIS Server (version 9.3)でKMLに対応するとのことです。 -- okinawa
- iPhone Earth! Earthscape社製でGoogle純正ではないものですが、3Dでグリグリいってます。KMLも使えるのかは不明。 -- okinawa
- Google Geo Search APIを一般に公開!ESRI and Google Collaborate!なんだかわからんがすごそうです! -- okinawa
- ipodTouchでmeuse川の土壌汚染3D-BubblePlotの表示の追加 -- okinawa
- 確かに。 -- okinawa
- KML のカラースタイル設定は、なぜ RGBA ではなくて、ABGR なんだろう?これって世界標準には相応しくないのでは? -- XL5
- GE4.3バグフィックス版Update -- okinawa
- Googleが「GoogleOcean」を開発中!とうとう「深さ」が使えるようになるみたいですね。 -- okinawa
- 実はipod touchを購入して、GoogleMapを使ってみてるんですが、かなりいい感じですね。(webからじゃなくアプリの方です)ただ、沖縄では公開されてる無線LANがほとんど無いので利用価値がないです。国際通りくらいサクサク無線LANできるようにしてほしいものです。人の集まらないようなイベントにお金をかけるのではなくFonくらい配ればいいのに! -- okinawa
- ↓KML の座標形式はGMLに非常に近いので、GML の名前空間を使ったインライン表現になるのでは? --
- 追伸、KMLは正式にOGC(R)KML2.2としてOGCの管理下に入るようです。KeyHoleという一介の会社のフォーマットが、GoogleEarth&Mapによって広まってゆく様は感慨深いものがあります。KML対応のアプリがどんどん出てくるといいですね。 -- okinawa
- OGCですね。以前より共同でKML2.2を策定してたので、正式に認定したということでしょうか。また、GMLとの絡みが今後どうなっていくのか興味のあるところです。-- okinawa
- ↓国際標準といってもISOじゃないね。 --
- 祝!KMLファイルフォーマット国際標準認定 -- okinawa
- これからは GeoRSS が重要。GE も対応している。 --
- GE4.3リリース! -- okinawa
- kmlOverlayNodeクラスのMethod write()をwritekml()に変更。R2.4.1,R2.5.1,R2.6.2で生成を確認。 -- okinawa
- kmlOverlay (maptools)を用いたラスターオーバーレイにkmlOverlayNodeクラス(自作)を利用した場合を追加。 -- okinawa
- meuse川のコードをkmlOverlayNodeクラス(自作)で処理した場合をUP -- okinawa
- meuse川の土壌汚染3D-BubblePlotのGoogleMapでの表示追加。単にGoogleMapで表示するだけです。今後はGoogleMapネタも追加します。 -- okinawa
- meuse川の土壌汚染に関するデータ(data(meuse))を用いた3D-BubblePlot追加。コードは後ほど。そろそろGoogleEarthとRを再起動させます! -- okinawa
- libkml続報。SWIGに対応していると書いてありますので・・・もしかしてRでそのまま使える? -- okinawa
- GoogleからKMLパース用ライブラリlibkmlが出たようです!これはすごいかもしれません。http://code.google.com/p/libkml/ -- okinawa
- GoogleSky on GoogleMap! ついにきましたね! http://www.google.com/sky/ -- okinawa
- ESRI が ArcGIS Explorer 用 Explorer API (ArcGIS Explorer Objects)をリリース。 ESRI のホームページには情報なし。 -- メルクリンファン
- 面白いサイト発見しました。2006年度下期未踏ソフトウェア創造事業の成果だそうです。http://dev.treering.info/stats200712/main/index.aspx 感想としては、データ配信の仕組みとしては○。グラフ地図の仕組みとしては△ですね。グラフ地図は、やはりレイヤ化されないと・・・関連がわからないし、面白くないと思う。そうするとやはり3Dに行くのが素直なような気がします。 P.Sここまで作ったんならKML吐き出しでGEまでつなげてほしいですね。-- okinawa
- RでGISからの股引きですが、http://www.bias-project.org.uk/ASDARcourse/ の資料はかなりGOOD!です。だれか訳して日本でも出してほしいですね。 -- okinawa
- rgdalのwriteOGRの件ですが、どうやら「私のXPだけ」がおかしくなっていたようです。XPを再セットアップしたら<MultiPolygon><polygonMember>タグが出力されなくなりました。なにかとぶつかっておかしくなっていたようです。間違った情報をながしてしまい申し訳ございませんでした。 <(_ _)> Rのどのバージョンでも問題なくkmlに変換できます。(ただし、高さデータは相変わらず入りません) -- okinawa
- そういえばmaptoolsにreadGPSコマンドがありますね。今度はこれを使ってみようかな。 -- okinawa
- rgdalのwriteOGRが正常に動くようになっています。<MultiPolygon?><polygonMember>がきちんと「消えて」いました。 -- okinawa
コメント欄(2007)†
- 驚いた!Googleによると、いつのまにか東京が「10cm」?解像度になっている。見えすぎちゃってこまるの〜。古。 -- okinawa
- 驚いた。新ArcGISExplorerかなりいいですね。KMLもうまく取り込めてるような感じ。MSのVEより全然いい! -- okinawa
- ArcGIS Explorerの新規リリース。KML関連がよくなったとか。 -- iPhone_でR
- 今日なにげなくAppleScriptの用語説明を開いてたら、Mac版GEにもいくつかのコントロール機能が入っていました。これは使えそうですね・・・。 -- okinawa
- どこに問題があるのかは特定できていません。ただ、<MultiPolygon><polygonMember>タグ自体がGEに実装されていませんのでうまく表示できないようです。OGRのKMLドライバーに問題がある可能性が高いですが、もしかするとGMLのタグがKMLに取り込まれる予兆かもしれません。 -- okinawa
- ↓これはOGRライブラリーに問題があるのですか? --
- rgdalのwriteOGRを利用してShapeFileからKMLに変換した場合、正常に表示されなくなりました。原因は<MultiPolygon><polygonMember>タグが自動的に入ってきていることで、この2つを消すと正常に表示されます。まだ、KML出力は不完全なようですね。 -- okinawa
- 個人的にはGEであろうがGMであろうがKMLの表示媒体として利用価値の高いものを選びますね。(RでKML作ってる分にはどちらでも構わない) -- okinawa
- Google Maps の最近の機能アップ(Wiki ライクなコラボレーション機能・KML/GeoRSSサポート)により、GE の存在意義が薄れ、Google に見捨てられて、やがてGEは消滅? --
- Androidの感想。基本的に携帯電話なのですが、こんな電話だれが使うのか? -- okinawa
- Android続報。きちんと日本語表示にも対応してるようだ。(入力は別だろうな・・・) -- okinawa
- YouTubeのGoogle Androidの動画を見ましたが、GEっぽいものが動いてましたね。GEそのものではないにしてもGEMobile的なものは出てきそうですね。要はKMLを食べてくれればいい。 -- okinawa
- 53です。 -- okinawa
- ところで、MS の Virtual Earth はどうよ? --
- Googleがとうとう携帯用のソリューションを発表しました。GE関連サイトでも「GEを乗せてくれ!」コールが湧き上がっています。技術的には難しそうですが、Googleなのであっと言わせてほしいですね。 -- okinawa
- Google Sketchup 6 日本語版公開! -- okinawa
- 冗長なコードが多く、スクロールが疲れるのでtxtで添付することにしました。 -- okinawa
- 作成した画像もアップしました。 -- okinawa
- RでShapeFileからkmlファイルを直接作成する方法(基本編)をバージョンアップ。基本編じゃなくなってますが・・・。 -- okinawa
- youtube面白いですが、海の中にもあるのはどうしてだろう? -- okinawa
- 改良しました。(目次からうまく飛びます) -- okinawa
- コメント欄はもう少し上か、一番下にあるのがいいのではないでしょうか? -- 取りすがりの者
- 「Google Earth」にYouTube動画の再生機能を追加 --
- どういたしまして。ちょうどRCOMに取り組んでいたところなのでタイムリーなネタになりました。 -- okinawa
- okinawa さん、貴重な情報ありがとうございます。このような機能はGEのSDKが必要ではないかと思っておりました。 -- foolish_heart
- RからGEへのShapeFileポリゴンの直接書き込み追加。遅いけど動く。一時ファイル形式にした方が速そうですね。 -- okinawa
- KML図形等の直接書き込みをUP。やればできる! -- okinawa
- 視点の移動、カメラの位置、サーチ追加。 -- okinawa
- GoogleEarth COM でググって見てください。何人かの方が色々な言語で挑戦されていますが、同じCOMをたたいているだけですので、お望みのものはすべて可能でしょう。時間があればやってみます。 -- okinawa
- ↓面白そうなんですけど、できれば図形の直接書き込み、始点の移動、高さの変更などができれば素晴らしいのですが。 --
- 「rcomを使ってRからGoogleEarthを直接コントロールする」をUP! RCmdrと組み合わせるとすごいかも。-- okinawa
- 立体的な矢印は、VRMLだと円錐と円筒でできるのですが、KML のタイプには Polygon しかないので、SketchUp で作成するしかないでしょうね。2次元の矢印についてはGE-Pathを見つけました。 --
- ラインの幅はできたように思います。立体的な矢印は、標準機能にはないと思うので、ポリゴンで作るのが良いと思います。(上記のkmlリファレンスマニュアルを見てください。) -- okinawa
- 失礼しました。ところで、KMLではラインに幅(横・上下)や立体的な矢印を付加することはできるのでしょうか? -- かぐや
- この欄の最初のほうに同じ質問がありますが・・・。 -- okinawa
- R を使って放物線をKML出力できないかと考えておりますが、座標が緯度経度なので面倒なような。 -- かぐや
- writeOGRが吐き出すKMLを直接変数に取り込めれば、岡田先生の技でXMLを使ってDataFrameにし、標高データを追加して再度KMLにすればできると思うが、それなら今までの方法(shp2kml)と変わらないような・・・。rgdalにもう少しがんばってもらいましょう。 -- okinawa
- ↓なんだか面倒。R 内ですべて解決できないものか。 --
- writeOGRで作成したKMLをGEで再保存すると、標高データがcoordinates内に追加されますね。 -- okinawa
- 遅くなったがkmlOverlayとwriteOGRをアップ。いいかんじでつながってきているが、機能的にはいまひとつですね。 -- okinawa
- GoogleEarthアップデート。主にバグ取り版です。 -- okinawa
- GoogleearthBlogより、GE Free&Plusのライセンスの変更があり、企業内ユーザーも個人と同様のライセンスを適用することになったようです。これでまたひとつ業務システムへの適用障壁が下がりましたね。ありがとうGoogle。 -- okinawa
- bootcampでMacBookにubuntuを入れて、Linux版GEをインストールしました。Mac版・Win版と全く変わらないです。(あたりまえか) -- okinawa
- Sky は本日法大で開催された日本国際地図学会でも話題になっていました。 --
- GoogleEarth アップデート Sky表示が可能に! とうとう宇宙の表示が可能になりました。 -- okinawa
- Microsoft Virtual Earth will be supporting KML in a September/October release. -- okinawa
- CSISでRが認知されてきているのはとてもうれしい限りですね。(私は他人のふんどしで相撲をとっているだけです。) -- okinawa
- 東大 CSIS のCSIS SYMPOSIUM 2007 での丸山先生の講演「Rで空間統計解析」で、okinawa さん、大きく取り上げられていますね。GIS 学会での発表どうですか? --
- そういえばspのクラスって3dに対応してるのかしら? -- okinawa
- maptoolsのS3MapクラスとS4SpatialPolygonsDataFrameクラスの構造を空間的なデータの分析で公開しています。 -- okinawa
- rgdalのKML出力は属性値を高さに使えない平面図の出力をサポートしているだけですね。 --
- グーグルアースを楽しむBlog@N-OでYahoo!PipesでKMLを作るTipsが公開されています。おもしろそうですね。Yahoo!PipesってRのGUIに使えそうな仕組みですね。http://googleearth-no.blogspot.com/2007/07/yahoopipeskmltips.html -- okinawa
- 基本的にSOAPもRESTも「同じようなもの」と考えています。(仕様の違いは置いといてWebAPIという意味で) -- okinawa
- SOAP ですか、 REST のような軽いものはどうですか? --
- そう、GeoWebですね。Rは機能的にはGeoMashUp空間統計解析サーバーに適していると思います。ただ、現在のところSOAPサーバーといったMashUp用の「良い」パッケージが見当たらないです。どなたかご存知ありませんか?(RSOAPはちょっと・・・、SSOAPクライアントは使えそうですが・・・) -- okinawa
- 「R and Google Earth」がOMEGAHAT内にあるのを見つけました。http://www.omegahat.org/GoogleEarth/CityTemperatures/ -- okinawa
- 「単体のアプリとしてのGISと言うより、Web等を利用した一連のコンテンツサービスとしてのGISという考え方」この一つが、Geo-Spatial Webとか、これを縮めたGeoWeb というのでしたっけ。 --
- GE Maniacsより>フリーのGISソフト「Mandara」がKML出力対応!http://www5c.biglobe.ne.jp/~mandara/ -- okinawa
- 最近では単体のアプリとしてのGISと言うより、Web等を利用した一連のコンテンツサービスとしてのGISという考え方が出てきています。元々、欧米などでは社会基盤データベースとして発展してきた歴史があるため、コンテンツサービス=GISは受け入れやすいのでしょう。日本では、社会基盤データベースの構築・公開が不十分だったため、GIS=特殊なものという意識がいまだにあるように感じます。その点で言うと、GoogleMap,Earthのはたす役割は、日本では大きいように思います。最近、国が地理データの公開を次々に始めていますので、地方自治体が公開された地理データをGoogleMapやEarthを利用して、住民のためのコンテンツサービスとして再構築してゆくことが重要でしょうね。そういう中で、Rのはたす役割は大きいと思います。 -- okinawa
- 「ソフトウエアデザイン」の最新号に開発者の一人のインタービュー記事がありました。もともと、ナショジオが好きの「地理」好きであること、GE とGISの相違点は、前者が表示を重視し、後者は分析を重視しているということだそうです。 -- fly_me_to_the_moon
- 本当ですか?GML,G-XML,KMLいろいろあるが、やはりGoogle力のなせる技かKML。自前のクライアント持ってるのが強い。きちんとMac、Linuxにも対応してるし。 -- okinawa
- KML 3.0 で、OpenGISの実装仕様になるそうだ。 -- world_is_circle, never_begin
- グーグルアース レールウェイ。JR東日本提供!! -- テッチャン
- KML2.2はGoogleとOGCが共同でフォーマットを策定しているとのこと。GMLとの関連がどうなるのか興味深い。 -- okinawa
- GoogleEarthもGoogeMapも何故このように使われるようになってきたかと言うと、その背後にAR(Augmented Reality:強調現実感)というものが存在するためらしい。よく考えてみると、自然現象より抽出されたデータを基にした空間統計の出力表現の最終到達地点と言っても過言ではない。もちろん、EarthやMapで地面の中にもぐったり、微細世界の距離単位まで 網羅することができればの話だが・・・。-- okinawa
- GEではないのだが、兄弟のGoogleMapに大幅な進歩があったので報告。StreetviewとMapplet。どちらもすごい技術。昨今KML自体が共通化されてきているので、そのうちEarthとMapがシームレスにつながっていくのではと思っていましたが、Mappletを使うと実現できそうな感じですね。 -- okinawa
- KML 2.2 beta リリース。 -- okinawa
- KML 2.1 Reference - An OGC Best Practice これは図が多くて分りやすい。 -- OGC
- GEWin版のレジストリの中身を調べていて気がついたのですが、GoogleEarthはすでに内部ではGoogleEarthPlusの機能限定版になっていたようです。 -- okinawa
- 元々そうだったのかもしれませんが、GEはだんだん3Dブラウザになってきましたね。GISの領域を超えてきているような気がします。 -- okinawa
- GoogleEarthバージョンアップ(4.1b)しました。ファイルメニューに「GoogleMapで表示」が追加されました。GoogleEarthで表示している場所が連動してGoogleMapでも表示されます。 -- okinawa
- おお!これで、Rのグラフィック出力(PNG)をGEへ直接吐き出せますな。good Job!(やはりというかrgdal経由ということが書かれている) -- okinawa
- maptools でもGE対応!! --
- スタンフォード大学からなかなかすごいものが出てきました。まずは見てください。 http://gecensus.stanford.edu/gcensus/index.html -- okinawa
- GEBlogより。Google Earth + Unype + Skype = Multi-User Google Earth。Skypeを使ってGEをネット上で連動させるプログラムUnype出ました! http://www.gearthblog.com/ -- [[okinawa ]]
- 長年の懸案であったGDAL/OGRを学ぶ必要が出てきた。rgdalもあるので純粋なshp2kmlが作れるかもしれないが・・・なんか気持ち悪い。(独り言です) -- okinawa
- MacOSX10.4.8&VMwareFusion For MacでUbuntu Edgyを動かし、Automatix2を入れGoogleEarthLinuxをインストールしてみました。GEは起動して地球も表示されるのですが、地球の描画を繰り返してしまい使い物になりませんでした。(正常には動いていましたが、描画があまりに遅すぎてこのような挙動になったと思われますので、REAL環境では問題なく動くと思います。) -- okinawa
- SPOT Image が Google Earth に高解像度2.5mの衛星画像を提供しました。現在、フランス、ベルギー、ルクセンブルグ、スペイン、ポルトガルの画像を見るlことができます。 --
- shape2earthが再公開されました。( http://www.shape2earth.com )で、結局金とるのかよ・・・。 -- okinawa
- ようやくkml2.1のスキーマファイル(.xsd)が正式に公開されました。 -- okinawa
- いつのまにかGE4のβが取れてGE4(2722)が正式版になってました。 -- okinawa
- rgdal でも、KML出力ができますね。 -- wanderer
- Macで使えるAppleRemote(赤外線コントローラ)を使ってGEをコントロールするツールを見つけました。Remote Buddy( http://www.iospirit.com/ )でも、使い勝手はいまひとつ。そういえば、Wiiのリモコンを利用できるDarwinRemoteが日本人によって開発されています。( http://blog.hiroaki.jp )windows用のWiinRemoteもあります。( http://onakasuita.org/wii ) -- okinawa
- Google Earth バージョンアップ (Build : 2722) p.s IntelMac環境へ移行しました。今後はOS independentなcodeづくりに励みます。 -- okinawa
コメント欄(2006)†
- 最近GEを使っていて思うのですが、GEはGISだけではなく、Rの3D表示用画面として使うことができれば更に利用価値が上がるのではないかと.いかがでしょうか? -- okinawa
- 新しいGEでは、透過度の一括変更の扱いが変わったようです. -- okinawa
- GERライブラリver0.3.2UP R2.4.1に対応.細かな修正。 -- okinawa
- ギャラリーにR研究会でデモに用いたデータを追加しました。 -- okinawa
- New Google Earth 4 beta - 16-December-2006 -- okinawa
- Rとは直接関係ないけれど、オープンソースGISの普及促進を目的とする「OSGeo財団日本支部設立記念カンファレンス」が本日品川で開催されました。250人収容の会議室が結構埋まっていました。 -- WebGIS
- AGEでshapefileを読み込むにはプロジェクションが必要のようです。ShapeFileライブラリの「プロジェクションについて」の項に置いてあるものを(名前を変更して)追加すると、AGEにうまく読み込めました。 -- okinawa
- AGE使ってみました。なれもあると思いますが、GEに比べて表示のしかたが気持ち悪い。わたしの作ったshapefileはうまく読み込めませんでした。KMLはきちんと読み込めましたが、やはり表示が気持ち悪い。ベクターデータも、いちどラスターになってから表示しているような気がしますね。 -- okinawa
- でましたね ArcGIS Explorer。まだ触っていませんが、選択肢が増えることはいいことです。shapefileの読み込みに標準で対応しているのはありがたい。 -- okinawa
- ESRIより Google Earth 対抗ソフト?, ArcGIS Explorer がSDKと一緒に http://www.esri.com/software/arcgis/explorer/index.html より、ダウンロードできます。 SDKはインストール失敗しました。 -- ココロの親分
- 東京大学生産技術研究所の相良先生がCSVアドレスマッチングサービスのサイト( http://www.tkl.iis.u-tokyo.ac.jp/~sagara/geocode/condition.html )を開設されてますが、この技はそれを精度で凌駕していますね。すごいです! -- okinawa
- GE上で「情報を取得」などを行ってから再びKMLに書き出すと、coordinatesエレメントがついたKMLになりますが、それを再度Rにとりこむ関数...
placemark2GeoData <- function(rootNode) {
findDoc <- function(x) {
if(xmlName(x) == "Document") {
return(x)
}
for(m in xmlChildren(x)) {
n <- findDoc(m)
if(!is.null(n)) {
return(n)
}
}
return(NULL)
}
ininode <- findDoc(rootNode)
namev <- vector()
addrv <- vector()
longv <- vector()
lattv <- vector()
for(node in xmlChildren(ininode)) {
if(xmlName(node) == "Placemark") {
n <- NULL
a <- NULL
gd <- NULL
for(i in xmlChildren(node)) {
if(xmlName(i) == "name") {
n <- xmlValue(i$children[[1]])
} else if(xmlName(i) == "address") {
a <- xmlValue(i$children[[1]])
} else if(xmlName(i) == "Point") {
gd <- strsplit(xmlValue(i$children[[1]]$children[[1]]),",")[[1]]
}
}
if(!(is.null(gd) | is.null(a) | is.null(n)) ) {
namev <- append(namev, n)
addrv <- append(addrv, a)
longv <- append(longv, gd[1])
lattv <- append(lattv, gd[2])
}
}
}
return(data.frame(Name=namev, Address=addrv, Longitude=longv, Lattitude=lattv))
}
こんな風に使います
> doc <- xmlTreeParse("ih.kml")
> hospg <- placemark2GeoData(xmlRoot(doc)) # これでLong, Latが入ったデータフレームができる
> merge(hospg,hospd,by="Name")
ちゃんとデバッグはまだしてないのでバグがあるかもしれませんが...-- 岡田
- 原因がわかりました. 番地とか, 正規にはある部分を削るとガーナ沖から日本へ戻りました.(汗) -- なかま
- (データが無いと0なので) と書かれていますよ --
- えっ!ジオコーディングが不完全な場所もあるんですか。 -- okinawa
- sink(file("hospd.kml",encoding="utf-8",open="w")) に治せば, EUC,SJIS環境でも問題無いです. ちなみに私の家の住所ではガーナ沖(データが無いと0なので)にマークされました.(;_;) -- なかま
- だれか作るかな〜とは思ってたのですが、早速出てきましたね。 -- okinawa
- XMLパッケージを使って住所を含むデータフレームからkmlを生成したところ、見事にGeocodingしてくれました!これは便利。
一応手順を...
# hospdは $Addrに住所, $Nameに名前が入っているデータフレーム。
>library(XML)
>makePlacemark <- function(x) {
addr=xmlNode("address", xmlTextNode(hospd$Addr[x]));
name=xmlNode("name", xmlTextNode(hospd$Name[x]));
return(xmlNode("Placemark",addr,name));
}
>addrList <- lapply(1:nrow(hospd), makePlacemark)
>d<-xmlNode("Document")
>for(i in 1:length(addrList)) { d$children[[i]] <- addrList[[i]] }
>p <- xmlNode("kml", d)
>sink("hospd.kml")
>print(p)
>sink()
これでKMLはできるので、GEで読込めます。MacOS XではこれだけでOkですが、内部エンコーディングがUTF-8でないプラットホームでは文字コード変換が必要になるかもしれません。-- 岡田
- GEのいくつかのサイトで公表されていますが、プレイスマークを作成する場合、住所を直接<address>タグに埋め込むことでGE側で自動的に緯度経度にジオコーディングされ表示できるようです。日本語の住所でも問題なくできましたので、Rで住所プレイスマーク関数を作ってみようと思います。 -- okinawa
- GE4betaがバージョンアップしました。パスおよびポリゴンの描画が可能になりました。GEplusの機能がフリー版に降りてきているようですね。そういえば、起動するときに一瞬GEplusと表示されるんですよね・・・。 -- okinawa
- 真っ白な画像を地球全体に貼り付けたらいかがでしょうか? -- okinawa
- Google Earth/Maps 背景衛星・地図画像が消せたらいいのに -- ボヤキ
- GEBlogでも取り上げられていますが、GECOMのマニュアルが(こっそり)公開されているようです.それで、日本人が作ったGEドライビングも紹介されていました.Good Job!( http://tech.nitoyon.com/javascript/application/racing/2.html ) -- okinawa
- GERライブラリ不具合情報追加。 -- okinawa
- GERライブラリ(ver0.3.1)公開しました。 -- okinawa
- patchとGoogleMapOverlayは役目を終えたと思いますので、一番下に移動させました。 -- okinawa
- <あまりネットに出てないネタ>昨日気がついたのですが、GE4bにWMSクライアント機能が追加になってるんですね。WMSとはWebMappingServiceの略で、ネット上にサーバーを公開して地図情報を配信する仕組みです。[追加][イメージオーバーレイ][更新][WMSパラメータ]でWMSのURLを追加してあげれば、なんとGE上に画像がダイナミックに表示されます。これを使うと防災地図などをWMS化しておけば、簡単にオーバーレイできますね。すごい機能です。 -- okinawa
- ついにGE日本語版の正式サイトがオープンしました!( http://earth.google.co.jp/ ) -- okinawa
- 本日より2日間、沖縄で開催されている国際人間ドック学会において「統計解析環境RとGoogleEarthを用いた健康地図情報システム構築の試み」と題して当サイトでの成果を発表いたします。(1-7-24) お近くにいらしている方はぜひ聞きに来てください。 -- okinawa
- <GE Maniacsより>日本において新たなレイヤが追加されました。道路、境界、3D表示に至るほとんどの項目が利用可能となっていました。また、それに伴って
GE4bがバージョンアップされました。表示フォント部分が改善されているようです。(ルート検索はまだうまくいかない・・・沖縄では3Dの位置が微妙にずれていますね・・・。) -- okinawa
- <GE Maniacsより> GE plug-in for FireFox(&IE) KeyholeAPIを利用したブラウザへのGE画面のインポーズ機能。今回はFireFoxからも利用できるようになりました。FireFox&IEブラウザからGEが利用できます。( http://www.googleearthairlines.com/ ) -- okinawa
- アクセスカウンタが先週末から異常にあがりだしてるんですが、何かあったの? -- okinawa
- KMLの日本語解説は、ここです。( http://bubble.atnifty.com/modules/bwiki/index.php?KML ) -- okinawa
- もっと具体的に示していただけないと回答できません。(ポリゴンの属性とか、ポイントの属性とか・・・、例えばある町に点を打って、その町の人口のデータを吹き出しで表示する・・これはポイントの属性に<name>と<description>タグを埋め込みます・・) -- okinawa
- 数値や文字列です。 -- GE effect
- 属性とは、たとえばどんな属性のことですか? -- okinawa
- KMLには属性は保存できるのでしょうか? -- GE effect
- GE4bちょっとVerUP。いくつかの機能追加とバグ鳥。 -- okinawa
- KML2.1のチュートリアル公開!( http://earth.google.com/kml/kml_21tutorial.html ) -- okinawa
- MapWindowGISのサイトには日本語の掲示板もあり、Excelで利用されている方もおられます。RExcelと連動して空間統計のツールもできそうですね。 -- シャングリラ
- MapWindowGISのスクリプトはVB.netやC#だし、プラグインはVB6でかけるので、Rのcallはできそうですね。逆はどうかな? -- シャングリラ
- MapWindowGIS使ってみましたが、これは使えます!GE周りの環境が揃ってきたなぁ・・・。 -- okinawa
- MapWindowGISって国際化対応のようですね、日本語のファイルは今のところないようですけど。R(D)COMを呼び出せるかな。 -- シャングリラ
- GEManiacさんがMapWindowGISを用いたShape2Earthの記事を書いています。MapWindowGISはWindowsだけのGISアプリですが、Shape2Earthがでてきたおかげで俄然利用価値が高くなってきているようです。私も研究してみよっと・・・。(http://virtual.haru.gs/a-column/column/howto/shape2earth.html.html ) -- okinawa
- なかなか面白いアプリですね。パリを見たら,歩道を歩いている人が写っていますね。 --
- 教えていただいたレジストリパッチをUPしました。ありがとうございました。見やすくなりました。 -- okinawa
- 日本語化データを利用させていただいたお礼に、日本語化した、GE4bのフォントを調整するレジストリを紹介します。-- ま〜ちゃん
[HKEY_CURRENT_USER\Software\Google\Google Earth Plus\Render]
"GuiFontFamily"="MS UI Gothic"
"GuiFontSize"=dword:0000000a
- GEManiacさんからの引用ですが、( http://www.googleearthairlines.com/ )にGoogleEarth Plugin for Internet Explorer が出ています。GEとIEを連動させるplug-inです。ここでも紹介しているKeyhole.Libをたたくものですが、ActiveX plug-inにしたところが味噌で、IEの画面上にGEの画面をオーバーレイして操作できるようにしています。これはすごいですねGEがweb plug-inのように使えてる。 -- okinawa
- GE4bは一部では日本語化されているとの話がでていますが、私が落としたものは日本化されていませんでした。そのような場合、アップしてあるja.zipをためしてください。 -- okinawa
- KMLが2.1になってました。3Dテクスチャが追加されて、色々機能が増えています。力任せに作ってたので、そろそろ書き直すかあ〜。 -- okinawa
- Google SketchUp MacOSX版リリースされました. -- okinawa
- 早速いじってますが、ナビゲーションが画面で直接操作できるのはうれしいですね. -- okinawa
- Xの設定が十分ではなかったので泣きそうな速度でしたが, きちんと設定したらいい具合になりました.>GE -- なかま
- Linux版も出てます! -- okinawa
- おっと先をこされちゃった! -- okinawa
- Google Earth 4」ベータ版公開されましたね。 -- Boden See
- ここのところいいネタがあまりないGE&Rであるが、GE側で衛星画像の大幅な追加が行われた。わが沖縄も米軍基地丸見え状態になった。大丈夫なのであろうか? -- okinawa
- GE-GRAPH ( http://paginas.terra.com.br/informatica/sgrillo/googleearth/index.htm ) -- okinawa
- Rita やKatrina の影響を GoogleEarth で可視化を扱った http://www.gulfimpact.com/ にある立体棒グラフなどの例はこちらのスクリプトを使えばできそうですね。 --
- これで MetaCarta (テキストマイニング for GIS)とSpotFire(データマイニング with GIS functions)をGoogle が買収してフリーしてしまえば、 Cheap Revolution 万歳!!-- Q'TEL
- いつのまにやら、GEに日本の県境が表示されるようになってますね。 -- okinawa
- ユーザー喜びの声( http://virtual.haru.gs/up/src/uho0589.kmz ) -- okinawa
- 3DCADのSketchUpがGoogleに買収されてたのですが、Freeになって戻ってきました!チュートリアルを見よ!( http://sketchup.google.com/index.html ) -- okinawa
- 日本語フォント用レジストリパッチUPしました。kml内に日本語が入っている場合、GEがフリーズする現象を回避します。 -- okinawa
- exciteの自動翻訳を利用してページの(日本語=>英語)翻訳ができるようにしました。 -- okinawa
- getCoodsToRplot追加! getCoodsでGEから抽出したlatitude・longitudeをRDCOMを使ってRでplotしてます。 -- okinawa
- GEインタラクティブファンクションの項目にgetCoodsを追加しました。JScriptを使えばGEを外から動かせるようですので、RDCOMとうまく組み合わせてGEとRを連動させることができそうです。 -- okinawa
- GEインタラクティブファンクションの項目に新しいGE-API連動のサンプルを追加しました。 -- okinawa
- GEforMac未対応カードの情報です。( http://earth.google.com/support/bin/answer.py?answer=33878&topic=1149 ) -- okinawa
- GEforMacがOSX10.3.9に対応!(ビデオカードによってはうまく表示できません.http://support.ati.com で探してみてください)私のは、初期のPowerBookG4Ti(ATi-ATY,RageM3p,12A)なので未対応でした。ぐすっ。(でもEarth面のtextの化けとpolygonが塗れてないだけで、あとは正常に動いてます) -- okinawa
- GEでオリンピックを見よう!(http://services.google.com/earth/kmz/games.kmz ) -- okinawa
- Google,VW,NVIDIAがカーナビGEを本当に開発中!(http://gadgets.autoblog.com/2006/02/03/vw-to-use-google-earth-for-the-best-in-navigation-technology/) -- okinawa
- ShapeFileライブラリの項に書きましたが、地球地図のbnda.shpのBNDNET_IDとJCODEの変換テーブルを作成中です。これを利用すれば、精度の高い描画が可能となります。 -- okinawa
- 「Web上でKMLファイルを作成する」をUPしました。 -- okinawa
- 「インタラクティブにポリゴンの色を変化させる」をUPしました。 -- okinawa
- 冗長になってきましたので、時系列の表示を逆にして新規を上に追加するようにし、コメント欄を分離しました。 -- okinawa
- GEMacはOSX10.3.9以前のOSもサポートするようになるとのことです。少し待ちますかね・・・。 -- okinawa
- 1.25GHz G4 PowerBookでもかなりさくさくです。2月になったら4倍早いので試してみます:-) -- 岡田
- GEMacさくさく動くんですか!自分のPowerBookはOSX10.3なので動かせない・・・。Tiger買うかな。Mac版と共通にRのコードを動かせるようにしないといけないし。Intel版TigerはちょっといじればIntelPCでもうごくっぽいし。 -- okinawa
- MacWorldに合わせたのかもしれませんね> GE Mac. 今や旧世代となってしまったG5でさくさく動いています。Intel記念にR for Tiger-x86はトップページでもお知らせしておきました。 -- 岡田
- おっと!いつのまにやらIntelMacがぞろぞろと発売!まさかこのタイミングに合わせたのか?GE Macは? -- okinawa
- GoogleEarth for MacOSX(10.4)beta正式版がでました!http://earth.google.com/downloads.html -- okinawa
- GoogleEarth for MacOSX はIntelMacOSXでも動くようです。http://virtual.haru.gs/index.shtml -- okinawa
- R for Tiger-x86が出たみたいです http://research.att.com/~urbanek/R/exp/ -- 茜丸
コメント欄(2005)†
アクセス数:†
6003
人