Rで地理参照情報を含むラスターを作成する


9

前の質問を参照して、Rを使用して、生成されたラスターイメージをマップ上のレイヤーとして表示できる形式に「ジオコード」/変換するにはどうすればよいですか。要するに、私は商用のSpatialKeyスクリーンショット)ソフトウェアの結果を再現することを目指しています。

地図のデータをホストするためにGeoServerインスタンスを使用していますが、必要な投影と座標情報を画像に組み込んで、実際の地理的位置に正しく位置合わせする方法を教えてください。密度ヒートマップは、空間データを使用して作成されました。


これはプログラミングの問題にすぎないため、これはあまり話題になりません。spatstatパッケージ情報とショートコースpdfを見て、それがカバーされているかどうかを確認しましたか?私はこれが前に出てきたことを確信しています、そしてグーグル検索でこの関連するR-help回答が表示されます。さらに直接的な解決策が存在し、さらに検索を行っているとしても、私は驚かないでしょう。
アンディW

生成されたラスターイメージをどのように作成しましたか?それは別のアプリケーションからのものですか、それともR内で作成されたものですか?
シンバマング2012

R内でimage()関数を使用して生成されます。
Mimo

xの水平解像度と垂直解像度は等しくありません。このようなデータはarc-ascii形式で保存できません。Myxの次元は4684、1950で、解像度について不満があります。私はそれを同じにした。バギー

回答:


15

ラスターパッケージを使用すると、任意のラスター(サイズ、投影)を作成したり、行列などの既存のオブジェクトを使用したりできます。次に、投影と範囲を割り当てることができます。あなたのimage()機能を直接使用することができる行列引数を取ります。

library(raster)    
## Create a matrix with random data & use image()
xy <- matrix(rnorm(400),20,20)
image(xy)

# Turn the matrix into a raster
rast <- raster(xy)
# Give it lat/lon coords for 36-37°E, 3-2°S
extent(rast) <- c(36,37,-3,-2)
# ... and assign a projection
projection(rast) <- CRS("+proj=longlat +datum=WGS84")
plot(rast)

次にwriteRaster()、任意の数のフォーマットで使用できます。

writeRaster(rast, "~/myraster.asc", format = "ascii")

2

さまざまな方法がありますが、Windowsでオープンソースツールを使用したい場合は、3つの方法を提案できます。

  1. GDAL(オープンソースのジオラスター操作ライブラリ)のgdal_translateツールを使用します。おそらく-gcp pixel line easting northing elevation、ラスター(http://www.gdal.org/gdal_datamodel.html)のピクセルとラインがx / yであり、地理座標を東/北に配置するパラメーターが必要です。また、投影法を指定する必要があります-a_srs srs_def
  2. GDALへのrバインディングを使用して同じことを行う
  3. より簡単な「GUI」の方法は、このチュートリアルに従い、GDALでQGISを使用することです。これの欠点は、まだ設定していない場合、QGISとGDALの両方を設定する必要があることです。

どのルートを選択するにしても、その前に、必要なソフトウェアの各ビットの依存関係を注意深く検討します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.