2012-10-15 14 views
13

pngパッケージを使用して、PNGをラスタイメージとして読み込み、プロットしています。 PNGはオンラインソース、つまりWikipediaからのものです。しかしURLから直接PNGファイルを読み込む

library(png) 

pngURL <- "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Flag_of_Afghanistan.svg/150px-Flag_of_Afghanistan.svg.png" 

# Works: 
download.file(pngURL, "temp.png", mode = "wb") 
localPNG <- readPNG("temp.png") 
plot(1) 
rasterImage(localPNG, 0.8, 0.8, 1.2, 1.2) 

ではなく、ローカルにPNGを保存するためにdownload.file()を使用し、その後、再ロードすることを、URLから直接PNGをロードすることが好ましい:私は仕事に以下を得ることができます。しかし、これは動作しません:

# Does not work: 
internetPNG <- readPNG(pngURL) 

を、それが

Error in readPNG(pngURL) : 
    unable to open http://upload.wikimedia.org/wiki... 

、その結果として誰もがこの作業を取得する方法について提案があり、あるいはRは、このPNGをロードしません特定の理由があるんURLから?

ありがとうございます。

+1

質問で "Xは機能しません"と言えば、もっと教えてください。エラーが発生した場合は、質問に投稿してください。間違いはありませんか?その場合、Xはなぜ機能しないと思いますか? – Spacedman

+0

良い点、@スペースマン。投稿を編集しました。 – isDotR

答えて

15

RCurlパッケージのgetURLcontentを使用してください。

library(RCurl) 
myurl <- "http://upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Flag_of_Afghanistan.svg/150px-Flag_of_Afghanistan.svg.png" 
my_image <- readPNG(getURLContent(myurl)) 
+1

私のために働く... –

+1

私のために、あまりにも動作します。 RCurlは多くの問題を解決します。ありがとう! – isDotR

+0

ダウンロードしたいだけの場合はどうすればよいですか? –

関連する問題