2

ロサンゼルス港エリアの粒子状物質濃度差(After-Before)があります。ggmap を使用して濃度等高線をマップにプロットしようとしていますが、結果が大きく異なります。私が使用したコードを以下に示します (データはコードの下にあります)。

コード

install.packages('ggmap')

library(ggmap)

PM = read.csv('data.csv', stringsAsFactors = FALSE)

経度と緯度を取得する

geocode("Port of Los Angeles") # Not centered
geocode("Compton, CA") # Now centered

コンプトンの LON と LAT を使用する

POLA = c(lon = -118.220071, lat =  33.895849)
POLA.map = get_map(location = POLA, zoom = 10, color = 'bw')
ggmap(POLA.map) + geom_point(data = PM, mapping = aes(Longitude, Latitude)) + 
        stat_density2d(data = PM, mapping = aes(x = Longitude, y = Latitude, fill=..level..), geom = "polygon", alpha = 0.3, contour = TRUE)

ただし、等高線図には次のようなパターンが必要です。

https://drive.google.com/file/d/0B3XVjcsci0y3VDBTc01PYkhOckE/view?usp=sharing

ggplot(PM, aes(UTM.X, UTM.Y)) + geom_tile(aes(fill = Value), alpha = 0.8, color = "black") + 
        scale_fill_gradient(low = 'green', high = 'red')

データ: Col-1: 経度、Col-2: 緯度、Col-3: UTM-X、Col-4: UTM-Y、Col-5: 値

UTM 座標単位: メートル、UTM ゾーン = 11 N、データム = WGS84。データはこちらから入手できます: https://drive.google.com/file/d/0B3XVjcsci0y3LUpudko1S2c1cnc/view?usp=sharing

4

1 に答える 1

2

stat_density2dは、密度マップのプロットに使用されます。たとえば、点が多い場合は暗い色、少ない場合は明るい色です。Value密度プロットではなく、属性を持つ通常のグリッドがあります。

geom_tileしたがって、通常のグリッド マップを取得するために使用する必要があります。ただし、緯度と経度の座標は、軸に沿ったグリッドを形成しません。これを試して:

ggplot(data = PM, mapping = aes(x = Longitude, y = Latitude, fill=Value)) + geom_tile()

空白のプロットが表示されたら、これを試してください:

ggplot(data = PM, mapping = aes(x = UTM.X, y = UTM.Y, fill=Value)) + geom_tile()

そしてあなたはあなたのプロットを手に入れます。もちろん、ggmap背景と同じ座標系ではありません。

おそらくベースRのcontourLines関数を使用して、UTM座標で等高線の座標を取得し、 a を作成してSpatialLinesDataFrameから、緯度経度に変換して a に追加できggmapます。

グリッド マップのように見えるものを取得するもう 1 つの方法は、四角形のポイントを形状として使用することです。

ggmap(POLA.map)  + geom_point(data = PM, mapping = aes(Longitude, Latitude, colour=Value), size=4, alpha=0.5, shape=15) + scale_colour_gradient(low = 'green', high = 'red')

偽のグリッド

グリッド セルが重なってセルの輪郭のように見えるいくつかのアーティファクトがあり、凡例は不透明度なしで表示されているため、セルよりも飽和しているように見えます。グラフィックデバイスのサイズに依存するため、サイズパラメーターを正しく取得する必要があります。

すべて失敗したら、データをラスター パッケージ ラスター オブジェクトに変換し、GeoTIFF として保存し、QGIS にロードします。これにより、UTM グリッドをその場で緯度経度に再投影できます。

QGIS には素敵なブレンド モードもいくつかあるので、これをかなり簡単に行うことができます。

qgiのラスター

これは透明度ではなく、乗算ブレンディングであることに注意してください。透明性により暗い色が色あせてしまいますが、乗法混合では黒が透けて見えるため、ラベル付けとベース マップの詳細は引き続き表示されます。

また、ラスターが軸に沿っていないことに注意してください (特に下部で明らかです)。

于 2014-12-22T10:27:20.240 に答える