Panoramioの写真の分布をGoogle earthへオーバーレイ (3): kmlの出力

その名もズバリ、Gnu RにkmlOverlayつう関数がある。ヘルプを見ると、GE_SpatialGridとある。んで、そのGE_SpatialGridのヘルプにほぼそのまま使えそうな例がある。詳しい説明は省くが、というか出来ないが、こんな風になる。

library(sp)
library(maptools)
library(MASS)

d <- read.csv ("c.txt", header = F)
p <- SpatialPointsDataFrame (d[, c(3:2)], d)
summary (Sobj_SpatialGrid (p)$SG)

g <- kde2d (d$V3, d$V2, n=200)
plt <- c (rgb (1, 1, c (63:0) / 64, alpha = c (0:63) / 255), 
          rgb (1, c (175:0) / 176, 0, alpha = c (64:239) / 255), 
          rgb (c (15:0) / 16, 0, 0, alpha = c (240:255) / 255))

proj4string (p) <- CRS ("+proj=longlat")
tf <- tempfile()
SGp <- GE_SpatialGrid (p)

png (file=paste (tf, ".png", sep=""), width=SGp$width, height=SGp$height, bg="transparent")
  par (mar=c (0, 0, 0, 0), xaxs="i", yaxs="i")
  image (g, xlim=SGp$xlim, ylim=SGp$ylim, col=plt)
  # par (new = T)
  # plot (p, xlim=SGp$xlim, ylim=SGp$ylim, setParUsrBB=TRUE)
  contour (g, xlim=SGp$xlim, ylim=SGp$ylim, drawlabels=F, add=T)
dev.off()

kmlOverlay(SGp, paste(tf, ".kml", sep=""), paste(tf, ".png", sep=""))


たぶん、グリッドを用意して、グリッドの範囲でpngを作成する。地図の投影方法を指定して、グリッドとpngをくっつけてkmlへ出力、つうことなんだろう。出力されるファイル、kmlpngはテンポラリディレクトリに作成される。ワシの場合だと、

/tmp/Rtmp_____

な場所だった。出力を行ったRを終了させるとテンポラリファイルも消えてしまうので、横取りしてコピーしておく。

ローカルのPCで開く場合 (Google earth)

出力されて移動されたkmlファイルを編集する必要がある。ファイルのパスを辻褄が合うようにする。タイトルも変えると良いだろう。

<?xml version='1.0' encoding='UTF-8'?>
<kml xmlns='http://earth.google.com/kml/2.0'>
<GroundOverlay>
<name>R image</name>
<Icon><href>/tmp/Rtmprc5hHe/file649f65fe.png</href><viewBoundScale>0.75</viewBoundScale></Icon>
<LatLonBox><north>35.7876767531209</north><south>35.63754</south><east>139.856644</east><west>139.656744</west></LatLonBox>
</GroundOverlay></kml>

Google mapsで開く場合

pngファイルをどこかにアップロードして、そのURLをさっきのkmlへ埋め込む。Google mapsの'My Maps'へkmlをインポートすると良い、らしい。はてなブログのように、アップロードしたファイルの取得には認証が必要な場合はうまくいかない。ズブズブのアップローダを探すべし。という訳で試してない。

先日のget_panoramasスクリプト、useridの部分を'public'とすると、全ユーザの写真が対象となる。東京駅近辺の密度はこんな風になった。


新宿、渋谷、上野は分かる。墨田区スカイツリーっぽい。豊島区の山は池袋、文京区と新宿の境のちょっと濃いところは早稲田大学辺りだろうか。それに比べて東京大学の周辺は薄いな、なんでやろ?他に王子周辺、赤羽周辺、駒場東大周辺、墨田区役所周辺が濃い。写真が多いところに名所名跡を訪ねるも良し、薄いところでディープな場所を探検するのも良し。kmlpngは添付しておく。

file649f65fe.png 直 file649f65fe.kml 直


関連する記事

KMLとは編集