タグ付けされた質問 「r」

統計計算言語とソフトウェア環境。

2
マルチポリゴンに縮小せずにRでバッファとユニオン
空間オーバーレイを実行して、一連のポイントが含まれるポリゴンを特定します。ただし、最初にポリゴンをバッファリングしてディゾルブし、マージされたポリゴン内の任意の場所にあるポイント(穴内にはない)に、オーバーレイ手順によって同様にラベルが付けられるようにします。 残念ながら、私が使用しているバッファリングまたはディゾルブプロセスは、SpatialPolygonsオブジェクトをマルチポリゴンに縮小しています。を使用gBufferすると、の場合はマルチポリゴンが作成されますが、の場合byid=FALSEは重複するポリゴンの結合に失敗しますbyid=TRUE。後者の場合、続いてgUnaryUnion再びポリゴンをディゾルブすると、マルチポリゴンが作成されます。SpatialPointsこれらのマルチポリゴンでオーバーレイすると、含まれているすべてのポイントがポリゴン1内にあると報告されます。 これは、バッファ付きポイントを使用した関連するおもちゃの例です。バッファ付きポリゴンでポイントをオーバーレイしたいと思います。 library(sp) library(rgeos) pts <- SpatialPoints(cbind(c(1, 1, 2, 3), c(1, 2, 1.5, 2.5))) plot(gBuffer(pts, width=0.6), lwd=2) points(pts, pch=20, cex=2) text(coordinates(pts), labels=seq_len(length(pts)), pos=4, font=2) そして、いくつかのオーバーレイの結果... とbyid=FALSE: b <- gBuffer(pts, width=0.6) over(pts, b) # [1] 1 1 1 1 とbyid=TRUE: b2 <- gBuffer(pts, width=0.6, byid=TRUE) over(pts, b2) # [1] 1 …
9 r  sp 

3
SpatialLinesオブジェクトの類似性を測定する方法
SpatialLinesRで2つのオブジェクトを作成しました。 これらのオブジェクトは次の方法で作成されました: library(sp) xy <- cbind(x,y) xy.sp = sp::SpatialPoints(xy) spl1 <- sp::SpatialLines(list(Lines(Line(xy.sp), ID="a"))) ここで、これを回転して反転した同じ線であり、それらの差が0に等しい(つまり、形状が等しい)と結論付けたいと思います。 これを行うには、maptoolsパッケージを使用して行#1を回転できます。 spl180 <- maptools::elide(spl1, rotate=180) 次に、次のようにrgeos、パッケージを使用して、回転された各ラインをライン#2に対してチェックする必要があります。 hdist <- rgeos::gDistance(spl180, spl2, byid=FALSE, hausdorff=TRUE) ただし、これはSpatialLines、特にオブジェクトの数が約1000である場合に、オブジェクトを照合するための計算コストのかかる方法です。 この仕事をする賢い方法はありますか? PSさらに、上記のアプローチは、可能なすべての回転と反転を保証するものではありません。 P.S2。ライン#1がライン#2に対して縮小表示されている場合でも、ライン#1と#2の差は0である必要があります。 更新:

1
座標をRのreadShapePolyから長緯度座標に変換する
私はデンマークの自治体のシェープファイルの重心をいくつか見つけて、その後それらの間の運転時間を見つけようとしています。私が使っRさんreadShapePolyからの機能maptoolsと組み合わせるgCentroidから機能rgeos、およびすべての作品を。しかし、私は次のような空間点を取得します SpatialPoints: x y 1 571860.7 6225016 Coordinate Reference System (CRS) arguments: NA これは明らかにGoogleで移動時間を取得するために使用できるものではありません。これらの数値を経度と緯度に変換する方法を探していますが、方法がわかりません。 ライブラリreadOGRからを使用してデータを読み取ると、rgdal同じ座標が取得されますが、これは投影法であると想定していることについて次のことを教えてくれます(ただし、座標は同じです) Slot "proj4string": CRS arguments: +proj=utm +zone=32 +ellps=intl +units=m +no_defs 再現可能な例:https : //github.com/sebastianbarfort/shapefilesの例のデータをここに配置しました: これは問題を再現するはずです: library(maptools) library(rgdal) library(rgeos) map = readShapePoly("~/Downloads/shapefiles-master/kommuner1983.shp") centroid = gCentroid(map) centroid

2
積み上げラスターの最大セル値
スタックされたラスターから最大セル値を見つけるにはどうすればよいですか。 Rmax <- maxValue(RAD1998.all[[1]]) 正常に動作しますが Rmax <- maxValue(RAD1998.all[[2]]) NAを与えます。 もちろん、スタックされたラスターではありません。 これが私のコードです: RAD1998 <- raster(paste(getwd(), "/1998bil/1998ASC5min_ppt_spas1214_0001_19980202_0810_UTC.asc.bil", sep = "")) list.ras <- mixedsort(list.files(paste(getwd(), "/1998bil/", sep = ""), full.names = T, pattern = ".asc.bil")) RAD1998.all <- stack(list.ras)
9 raster  r 

1
Rのポリゴン間の{最小}距離の計算
種の分布(シェープファイルからのポリゴンのマージ)の表面積を計算しましたが、この領域はかなり離れたポリゴンで構成されている可能性があるため、ある程度の分散を計算したいと思います。これまでに行ったのは、以下のダミーの例のように、各ポリゴンの重心を取得し、それらの間の距離を計算し、それらを使用して変動係数を計算することです。 require(sp) require(ggplot2) require(mapdata) require(gridExtra) require(scales) require(rgeos) require(spatstat) # Create the coordinates for 3 squares ls.coords <- list() ls.coords <- list() ls.coords[[1]] <- c(15.7, 42.3, # a list of coordinates 16.7, 42.3, 16.7, 41.6, 15.7, 41.6, 15.7, 42.3) ls.coords[[2]] <- ls.coords[[1]]+0.5 # use simple offset ls.coords[[3]] <- c(13.8, 45.4, # …

4
Rのアニメーションマップ
皆さん、ご迷惑をおかけして申し訳ありませんが、私はrが非常に新しいことに直面しています。rは重大な困難に直面していました。画像では1年間のデータを見ることができます require(sp) require(maptools) require(RColorBrewer) require(rgdal) rus<-url("http://www.filefactory.com/file/4h1hb5c1cw7r/n/RUS_adm1_RData") print(load(rus)) unempl <- read.delim2(file="C:\\unempl1.txt", header = TRUE, sep = ";",quote = "", dec=",", stringsAsFactors=F) gadm_names <-gadm$NAME_1 total <- length(gadm_names) pb <- txtProgressBar(min = 0, max = total, style = 3) order <- vector() for (i in 1:total){ order[i] <- agrep(gadm_names[i], unempl$region, max.distance = 0.2)[1] …

2
Rを使用して1つのポリゴンの交差を別のポリゴンから削除しますか?
Poly2からPoly1への交差を削除しようとしています。以下は、2つのポリゴンの座標です。 > coords1 [,1] [,2] [1,] 992.0161 7462.531 [2,] 950.1962 7413.532 [3,] 902.3632 7421.207 [4,] 706.1985 7472.378 [5,] 654.0139 7711.760 [6,] 657.5960 7726.950 [7,] 786.2667 7844.380 [8,] 789.5935 7842.925 [9,] 981.7046 7498.659 [10,] 983.4246 7493.271 [11,] 990.6680 7469.888 [12,] 992.0161 7462.531 > coords2 [,1] [,2] [1,] 930.3464 7607.313 [2,] 979.3528 …

2
庭のプロットの太陽強度マップを作成する方法は?
小さな庭の区画の単位面積あたりの平均太陽強度を表すラスターサーフェスの作成に興味があります。モデルへの入力は次のようになると思います。 プロットエリア-簡単にするために、庭のプロットが円形であると仮定しましょう。 周囲の森の端の平均木の高さ さまざまな太陽角度での太陽強度 時間の経過に伴う庭園の区画に関連する平均太陽角度。 最終的には、木々に囲まれた庭の区画の中で、植物の成長に最適な場所を示したいと思います。誰かがこの分析の解決策に私を向けることができますか?私は参照を見つけることができませんが、誰かがすでにこれを行っていると確信しています。 編集: 例として、添付の画像は、同じ年齢の針葉樹の林に囲まれた1エーカーの庭の区画を示しています。この分析をさらに単純化するために、6月から10月までの園芸シーズン中の太陽の天頂と強度のみに関心があると仮定します。伐採はオプションではありません!

2
二変量リプリーのK関数を実装する方法?
添付画像は、赤松が円で表され、白松が十字で表された森林のギャップを示しています。私は2種類の松の木の間に正の関連があるのか​​負の関連があるのか​​(つまり、同じ地域で成長しているかどうか)を確認することに興味があります。R spatstatパッケージのKcrossとKmultiを知っています。ただし、分析するギャップが50あり、RよりPythonでのプログラミングに慣れているため、ArcGISとPythonを使用した反復的なアプローチを見つけたいと思います。また、Rソリューションも利用できます。 2変量リプリーのK関数を実装するにはどうすればよいですか?

3
Rパッケージgstatを使用した時空間ブロッククリギング?
のドキュメントで、関数spのcoords引数SpatialPolygonsは2列しか受け入れないことがわかりました。3次元ポリゴンを作成することはできませんか?のgstat3番目の空間次元として時間を追加することにより、パッケージを使用して時空間クリギングを行っていSpatialPointsDataFrameます。これを拡張して、ポリゴンをブロックとするクリギングをブロックします。それを行う方法はありますか?


2
複数のSpatialPointsDataFramesをラスターに変換
ワークスペースに100個のSpatialPointsDataFrameがあります。私はそれらをこの方法でロードしました: filenames <- list.files(path="", pattern="XYhectareTravelTimes_ez+.*shp") for(i in filenames){ filepath <- file.path("/",i) assign(i, readShapePoints(filepath)) それらは次のように呼ばれます: XYhectareTravelTimes_ez10.*shp XYhectareTravelTimes_ez11.*shp XYhectareTravelTimes_ez12.*shp 等 それらをワークスペースをループするラスターに変換するにはどうすればよいですか? 私は非常に新しいRユーザーであり、いくつかの助けを探しています。どうもありがとう。

2
Rで地理参照情報を含むラスターを作成する
前の質問を参照して、Rを使用して、生成されたラスターイメージをマップ上のレイヤーとして表示できる形式に「ジオコード」/変換するにはどうすればよいですか。要するに、私は商用のSpatialKey(スクリーンショット)ソフトウェアの結果を再現することを目指しています。 地図のデータをホストするためにGeoServerインスタンスを使用していますが、必要な投影と座標情報を画像に組み込んで、実際の地理的位置に正しく位置合わせする方法を教えてください。密度ヒートマップは、空間データを使用して作成されました。

1
最も分散した場所を見つける方法は?
おそらく非常に単純な質問です。私には、約1000の地理的位置(緯度)のリストがあり、そのうち「最も広がっている」200の位置を選択する必要があります。合計平均距離が最も高い200ポイントになると思います。都市の店を考えてください。 それを行うための定義された方法はありますか?たぶんRパッケージに? これを学ぶのに最適な場所にしてくれた皆さんに感謝します! /クリス

2
Rでマップレイヤー(shpおよびcsv)をオーバーレイする方法
これは、stackoverflowからのクロスポストです。私はGISソフトウェアについてほとんど知識がなく、これがあまりにも基本的な質問である場合は、事前にすべてのマッピングをRで行っています。ソースが異なるが属性が異なる2つのシェープファイルがあるとします。たとえば、1つはテキサス州の行政境界(boundaries.shp)で、もう1つはテキサス川(rivers.shp)です。またtowns.csv、州内の町の場所を示す3番目のファイルもあります。ファイルを読み込んだ後、maptoolsパッケージの管理境界上の町の場所を過剰にプロットできます。 plot(boundaries); points(towns$lon, towns$lat) しかし、どうすれば3つすべてをオーバーレイできますか?確かにこれを行う簡単な方法はありますか?
9 r  overlay 

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