2016-04-29 8 views
0

私はイベリア半島から収集したデータの補間頻度のマップを実行するためにRを使用しようとしています。 (何かのようなものhttps://gis.stackexchange.com/questions/147660/strange-spatial-interpolation-results-from-ordinary-krigingautomapパッケージのautokrigeを正しく使用することができません(Rは予測位置をうまく読み込めません)

私の問題は、autokrige関数のatributte new_dataにある種のエラーのために、プロットが補間データを表示していないことです。

https://cran.r-project.org/web/packages/automap/automap.pdf new_data: 予測場所を含むspオブジェクト。 new_dataは、点セット、 グリッドまたはポリゴンにすることができます。 NAを含んではいけません。このオブジェクトが提供されていない場合、デフォルトが計算されます。これは、input_dataの凸包を取り出し、その凸包内に約5000個のグリッドセルを配置することによって行われます。

私は、この新しい_データ属性を避けるとクリギング値のプロットプロットが得られるので、Rがポリゴンに変換されたマップをよく読み上げていないことが問題だと思います。しかし、私はイベリア半島の良い形を得ることはできません。 誰かが私を助けることができますか? 、私は私のデータはUTM投影に座標変換するので、私はエラーメッセージを得ることはありませんが、最後のプロットが補間されていない今 :http://pastebin.com/QHjn4qjP

実際のコード:私はあなたが私のデータを見ることができ、ここで

本当に感謝されます全体マップは、1つの色で表示されます:(

setwd("C:/Users/Ruth/Dropbox/R/pruebas") 

#Libraries 

library(maps) 
library(mapdata) 
library(automap) 
library(sp) 
library(maptools) 
library(raster) 
library(rgdal) 

####################MAPA############# 

#obtain the grid of the desired country 
map<-getData('GADM', country='ESP', level=0) 

#convert the grid to projected data 
mapa.utm<-spTransform(mapa3,CRSobj =CRS(" +proj=utm +zone=29 +zone=30 +zone=31 +ellps=WGS84")) 

###############################Datos####################### 

#submit the data 
data1<-read.table("FRECUENCIASH.txt",header=T) 
head(data1) 
attach(data1) 
#convert longlat coordinates to UTM 
coordinates(data1)<-c("X","Y") 
proj4string(data1) = CRS("+proj=longlat +datum=WGS84") 
data1.utm=spTransform(data1, CRS("+proj=utm +zone=29 +zone=30 +zone=31 +ellps=WGS84 ")) 

######################Kriging interpolation ##################### 


#Performs an automatic interpolation 

kriging_result<-autoKrige(Z~1,data1.utm,mapa.utm,data_variogram = data1.utm) 

#Plot the kriging 

result1<-automapPlot(kriging_result$krige_output,"var1.pred",sp.layout = list("sp.points", data1.utm));result1 

result2<-plot(kriging_result);result2 

答えて

1

あなたが得るエラーはあなたがAutomapのための入力として、非投影データを使用しているという事実に関連している。Automapのが唯一の投影されたデータを扱うことができます。map projectionsのためにグーグルではあなたにいくつかを与える必要があります背景情報。あなたのデータを適切な投影法では、spTransformをspパッケージから使用できます。

新しいデータなしで動作するというのは、そのオブジェクトでは投影が設定されていないためです。したがって、automapは警告できません。しかし、latlon入力データを持つautomapの結果は信頼できません。

+0

ありがとうございました。私はutm座標で試してみました。今、私はエラーは表示されませんが、最後のプロットは補間されず、マップ全体が単一の色で表示されます。これは私の新しいコードです。よろしくお願いします。 –

+0

私の最初の推測は、観測値が予測したい領域の外にあることです。観測値が遠く離れている場合、クリギング予測値は平均値に収束します。これは観測値です。座標を確認してください。座標変換に何か問題があったかもしれません。たとえば、utmに変換する前に間違った開始座標系を設定するなどです。また、utmがゾーンで動作することに注意してください。また、学習エリアに正しいゾーンを使用してください。 –

+0

私はもう一度ゾーンを追加しました。私はすでにこのtryalのすべてでそれらを書いたことを誓っています。私はそれらを消去します。間違いです。ところで、私はこの行を使用しました:result1 <-automapPlot(kriging_result $ krige_output、 "var1.pred"、sp.layout = list( "sp.points"、data1.utm)); result1それらのすべてがマップ内に表示されます。だから私はエラーがどこにあるのか分からない。もう一度あなたに感謝します –

関連する問題