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

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


5
Rの多数のポリゴンによる切り抜き、マスク、およびラスターの抽出の速度を上げますか?
数千のポリゴン境界に基づいて、さまざまな土地利用タイプの面積と被覆率をラスタから抽出しています。個々のポリゴンを繰り返し処理し、特定のポリゴンのサイズまでラスターをマスクして切り取ると、抽出機能がはるかに高速に動作することがわかりました。それにもかかわらず、それはかなり遅いです、そして、誰かが私のコードの効率と速度を改善するための提案を持っているかどうか疑問に思っています。 私はこれに関連した見つけた唯一のものです。この応答使うことを提案ロジャーBivandによるGDAL.open()とGDAL.close()だけでなく、getRasterTable()とgetRasterData()。私はそれらを調べましたが、過去にgdalに問題があり、それを実装する方法を知るのに十分なほどよく知りません。 再現可能な例: library(maptools) ## For wrld_simpl library(raster) ## Example SpatialPolygonsDataFrame data(wrld_simpl) #polygon of world countries bound <- wrld_simpl[1:25,] #name it this to subset to 25 countries and because my loop is set up with that variable ## Example RasterLayer c <- raster(nrow=2e3, ncol=2e3, crs=proj4string(wrld_simpl), xmn=-180, xmx=180, ymn=-90, ymx=90) c[] …

2
Rでポリゴンを結合する
Rコードを使用して空間ポリゴンを結合する方法を疑問に思っていますか? 特定のエリアが時間とともに変化する国勢調査データを使用しており、ポリゴンと対応するデータを結合して、結合された領域について単純にレポートしたいと考えています。国勢調査から国勢調査への変更があり、マージする予定のポリゴンのリストを保持しています。この地域名のリストをルックアップリストとして使用して、異なる年の人口調査データに適用したいと思います。 選択したポリゴンとそれぞれのデータをマージするためにどのR関数を使用するのか疑問に思っています。私はそれをグーグルで検索しましたが、結果に単に混乱します。

2
Rを使用してファイルジオデータベースのフィーチャクラスを読み取りますか?
エクスポートされたシェープファイルとして2GBを超えるジオデータベースに含まれる機能があります。Rで抽出関数を実行して、ポリゴンをラスターファイルのデータに関連付ける必要があります。機能をテーブルとしてエクスポートすることは解決策ではありません。Esriファイルジオデータベース内に含まれるフィーチャクラスを読み取るにはどうすればよいですか?

9
RでPostGISデータを使用していますか?
私はほとんど常にRを使用しており、現在は空間データマイニングに使用しています。 (明らかに)GISデータを含むPostGISデータベースがあります。 統計的な空間分析とプロットマップを作成する場合は、次の方法をお勧めします。 テーブルをシェープファイルとしてエクスポートするか、 データベースに直接働きかけますか?
27 postgis  postgresql  r 

2
点のクラスターの重心を見つける
Webの検索中に、ポリゴンの重心を見つけるためのソリューションがかなり頻繁に登場します。私が興味を持っているのは、ポイントのクラスターの重心を見つけることです。ソートの加重平均。誰かがいくつかのポインター、疑似コード(または、さらに良いことに、これを既に解決したRパッケージ)、またはこの問題に対処する方法のリンクを提供できれば幸いです。 編集 収束が進行しています(再び)。iantは、座標を平均化し、それを重心に使用する方法を提案しています。このウェブページで正しい写真を見たとき、まさにこれが私の頭をよぎった。 これを示す簡単なRコードを以下に示します(×は重心です)。 xcor <- rchisq(10, 3, 2) ycor <- runif(10, min = 1, max = 100) mx <- mean(xcor) my <- mean(ycor) plot(xcor, ycor, pch = 1) points(mx, my, pch = 3) 編集2 cluster::pam()$medoidsクラスターのセットのmedoidを返します。これは、@ Joris Meysから恥知らずに盗まれた例です。 library(cluster) df <- data.frame(X = rnorm(100, 0), Y = rpois(100, 2)) plot(df$X, …
27 r  centroids 

2
R sfオブジェクトをSpatialPolygonsDataFrameに戻す
sfオブジェクトをSpatialPolygonsDataFrameに戻すにはどうすればよいですか? R 3.4.0およびsfバージョン0.4.1を実行しています。SFのドキュメントには言及してas_Spatial機能を、これは私の(何らかの理由で)インストールでは使用できません。
27 r  sf 

7
さまざまなラスターデータ形式の速度
さまざまなラスターファイル形式の議論や比較ベンチマークを見つけるのに問題があります(たとえば、Rでのデータ分析で使用するため)。特定の形式が高速または低速である理由について誰かが洞察を持っていますか?それとも、違いは最小限にすべきでしょうか? 特に、ラスター(たとえば、GEOTIFFファイル)を別の形式(たとえば、netCDF)に変換することが、読み取り/書き込みやその他の操作を高速化するために価値があるかどうかに興味があります。

1
SpatialPolygonsオブジェクトのポリゴンの塗りつぶしの色と境界線の色を変更するにはどうすればよいですか?
プロットしたいSpatialPolygonsまたはSpatialPolygonsDataFramesがあります。Rの3つのプロットシステム(ベースグラフィックス、ラティスグラフィックス、およびggplot2)を使用して色を変更するにはどうすればよいですか? サンプルデータ: library(sp) Srs1 = Polygons(list(Polygon(cbind(c(2,4,4,1,2),c(2,3,5,4,2)))), "s1") Srs2 = Polygons(list(Polygon(cbind(c(5,4,2,5),c(2,3,2,2)))), "s2") SpDF <- SpatialPolygonsDataFrame( SpatialPolygons(list(Srs1,Srs2)), data.frame( z=1:2, row.names=c("s1","s2") ) ) spplot(SpDF, zcol="z")
25 polygon  r 

1
TopologyExceptionの取得:入力geom 1は無効です。これはRの自己交差によるものですか?
無効なポリゴンジオメトリから発生する「TopologyException:Input geom 1 is invalid」自己交差エラーは広く議論されています。しかし、R機能だけに依存する便利な解決策をWeb上で見つけられませんでした。 たとえば、私はここでmap("state", ...) Josh O'Brienの素敵な答えを次の出力から「SpatialPolygons」オブジェクトを作成することができました。 library(maps) library(maptools) map_states = map("state", fill = TRUE, plot = FALSE) IDs = sapply(strsplit(map_states$names, ":"), "[[", 1) spydf_states = map2SpatialPolygons(map_states, IDs = IDs, proj4string = CRS("+init=epsg:4326")) plot(spydf_states) この広く適用されているデータセットの問題は、以下のポイントで自己交差が発生することです。 rgeos::gIsValid(spydf_states) [1] FALSE Warning message: In RGEOSUnaryPredFunc(spgeom, byid, "rgeos_isvalid") : Self-intersection at or …

3
Rでのポリゴンのプロットを高速化する方法は?
北米の国境をいくつかの変数を表すラスターイメージ上にプロットし、Rを使用してプロットの上に等高線を重ねたいと思います。ベースグラフィックスとラティスを使用してこれを行うことに成功しましたが、遅すぎる!私はまだggplot2でこれを行っていませんが、速度の点でより良くなるとは思いません。 gribファイルから作成されたnetcdfファイルにデータがあります。今のところ、私はからRDATAファイルで使用可能だったカナダ、米国、メキシコ、のために国境をダウンロードGADM SpatialPolygonsDataFrameがオブジェクトとしてRに読み込みます。 コードは次のとおりです。 # Load packages library(raster) #library(ncdf) # If you cannot install ncdf4 library(ncdf4) # Read in the file, get the 13th layer # fn <- 'path_to_file' r <- raster(fn, band=13) # Set the projection and extent p4 <- "+proj=lcc +lat_1=50.0 +lat_2=50.0 +units=km +x_0=32.46341 +y_0=32.46341 +lon_0=-107 +lat_0=1.0" projection(r) …
24 polygon  r 

2
Rを使用して、別のオーバーレイポリゴンと交差するマップ上の複数のポリゴンの面積を計算する
イギリスの郡の選挙区(区)の境界を示すOrdnance Surveyからダウンロードしたシェープファイルがあります。Rを使用してシェイプファイルをロードし、この質問でggplot2説明したようにさまざまなマップをプロットすることに成功しました。すべてうまく機能しています。 ここで、任意の形状の新しいポリゴンを作成してマップに追加し、形状の下にあるエリアに住む人口を計算します。このエリアは、複数の区画をカバーまたは部分的にカバーします。各選挙区の人口があり、各区の人口が均一に分布しているという単純な仮定を立てることができます。それは次のステップを示唆しています。 1)複数の選挙区を部分的にカバーする新しい形状をマップ上にオーバーレイします。議論のために、3つの部門があるとしましょう。これは次のようになります。[編集:図形の下の画像では、3つではなく5つの分割にまたがっている] 2)オーバーレイされたポリゴンと交差するこれら3つの区分のそれぞれの面積の割合を計算します。 3)オーバーレイされた形状で覆われている各部門の面積の割合を取得し、これに各部門の人口を掛けることにより、人口を推定します。 ポリゴンを作成してマップ上にオーバーレイする方法、つまり、この質問やその他の質問に対する有用な回答を使用して既存のデータフレームに追加する方法を考え出すことができると思います。私を心配しているのは、オーバーレイされた図形で覆われている各部門の割合を計算するタスクです。latそしてlong、データフレームの列は、これらの奇妙な陸地測量をopendataの数字(EastingsとNorthingsか何か)です。 私の最初の質問は、このデータを使用して選挙区の境界を定義するポリゴンのエリア(またはエリアのサブセット)を見つけるにはどうすればいいですか?このデータフレームの意味のあるサブセットでさえも大きいので、この質問に投稿するのではなくdput、500kファイル(ここからコピーして貼り付けるかダウンロードできます)を作成するのに使用しました。上記の画像のベースを形成するマップは、次のように作成されました。 require(ggplot2) ggplot(smalldf, aes(x = long, y = lat, group = group)) + geom_polygon(colour = "grey50", size = 1, aes(fill = smalldf$bin)) 2番目の質問は、適切なツールを使用していますか?現在、シェープファイルを読み取るためにパッケージから使用readShapePolyしていmaptoolsます。次に、での使用fortifyに適した約130k行のデータフレームを作成しますggplot。そのようなプロセスに役立つツールを備えたパッケージがある場合、別のパッケージを使用する必要がありますか?
22 shapefile  r 


4
SpatialPolygonsDataFramesを同一のポリゴンIDで正しくバインドする方法は?
IDが重複する場合にSPDFをrbindingするための適切なRイディオムは何ですか?ここで(多くの場合そうであるように)IDは基本的に無意味であるため、rbindにそれらを無視させることはできません。 library(sp) library(UScensus2000) library(UScensus2000tract) data(state) # for state names states <- gsub( " ", "_", tolower(state.name) ) datanames <- paste(states,"tract", sep=".") data( list=datanames ) lst <- lapply(datanames,get) nation <- do.call( rbind, lst ) Error in validObject(res) : invalid class “SpatialPolygons” object: non-unique Polygons ID slot values # This non-exported function …
22 polygon  r 

2
Rでシェープファイルを使用せずに空間ポリゴンをインスタンス化する
したがって、Rでシェープファイルを読み取る通常の方法は、次のようにmaptoolsパッケージを使用することです。 sfdata <- readShapeSpatial("/path/to/my/shapefile.shp", proj4string=CRS("+proj=longlat")) ただし、shapefile.shpがなく、代わりに一連のポリゴン座標があるユースケースがあります 16.484375 59.736328125,17.4951171875 55.1220703125,24.74609375 55.0341796875,22.5927734375 61.142578125,16.484375 59.736328125 およびその対応する投影 coord. ref. : +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0 このデータからsfdata(「ポリゴンオブジェクト」)を直接「インスタンス化」するにはどうすればよいですか?(これらのデータを使用してシェープファイルを作成し、新しく作成されたシェープファイルから読み取るというラウンドアバウト方法を使用することなく)
22 shapefile  polygon  r 

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