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

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

1
生息地タイプのラスターマップをランダムに変更しますか?
スコットランドの特定の地域の生息地タイプのラスターがあります。生息地の変化を伴う将来の生息地シナリオを作成して、鳥種の個体群の生存率を評価する必要があります。 たとえば、将来的には、この地域の森林が10%増える可能性があります。特定のサイズのブロックで林業をランダムに追加して、現在のマップを変更したいと思います。私はこれまでのところ、林業が発生する可能性のある地域を特定するラスターからランダムなポイントを選択し、ある種のセルオートマトンを使用して正しいサイズのブロックを成長させるという方針に沿って考えています。 これはこれについて最善の方法のように思えますか?より良い方法はありますか? これが最良の方法である場合、できればRでこれを行うにはどうすればよいですか?(私は現在、CellularAutomataパッケージと共に「spatstat」のrpoints関数を見ています) また、GRASS、QGis、ArcMap 10のいずれかに簡単な方法があればアクセスできます。
12 raster  r 

1
Rの空間演算子?
Rで空間選択またはフィルターを実行するにはどうすればよいですか?私はこれをPostGISで(たとえば)を使用して行うことができます: SELECT * FROM mypoint, mypoly WHERE ST_Within(mypoint.geom, mypoly.geom); 同様に、他のほとんどのGISソフトウェアでも同様です。だから私はRの何かが次のようになると期待しています: mypoint[within(mypoint, mypoly),] しかし、私はどこにもリードを見つけることができません。PostGIS / GEOS / JTS / Shapelyで使用される一般的な空間述語の用語を使用するものを探しています(内、含む、交差、重複、タッチなど。DWithinはボーナスです)。この機能またはライブラリはRに存在しますか?そうでない場合、類似した何かがありますか? 注:Rではsp、オブジェクトにクラスを使用します(SpatialPointsDataFrameなど)。

3
RまたはArcGISでの時空間補間?
ArcGIS 9.3のInverse Weighted Distanceツールを使用して、複数のポイントから平均降雨値を計算しようとしています。 私の問題は、各ポイントに独自の時系列があるため、補間プロセスはすべての年(いわば反復の種類)実行できる必要があるということです。 サンプル属性テーブルは次のとおりです。 ID X Y Name Rain1990 Rain1991 Rain1992 Rain1993 .... Rain2010 1 xx1 yy1 AA 1210 1189 1863 1269 ...... 2 xx2 yy2 BB 1492 1502 2187 1923 ...... ...... 誰もそれを行う方法を教えてもらえますか? 編集1:最終的に、ArcGISマスクグリッド、データファイル、すべてのポイントの場所を必要とするC ++コードを使用してこれを行いました。 編集2:最近、この補間タスクを行うためにRを使用しました。hydroTSM、gstatまたはspacetimeパッケージのいずれかを使用できます。以下のリンク例はほとんどありません。 http://spatial-analyst.net/wiki/index.php?title=Spatial_interpolation_exercises_%28NL%29 http://www.geostat-course.org/Topic_Bivand_2012 編集3:将来の読者のために、以下の作業例を追加しました

2
Rパッケージsfからsfcオブジェクトを結合する方法
Rパッケージを使用して、オブジェクトをsfどのように結合しsfcますか?たとえば、次のコードが与えられた場合、との両方のジオメトリを含む単一のsfcオブジェクトsfc12をどのように作成しますか?(2でなければなりません。)sfc1sfc2length(sfc12) library(sf) pt1 = st_point(c(0,1)) pt2 = st_point(c(1,1)) sfc1 = st_sfc(pt1) # An sfc object sfc2 = st_sfc(pt2) # Another sfc object # sfc12 = ? 動作しないいくつかのアプローチ: sf_sfc(sfc1, sfc2) # Error in vapply(lst, class, rep("", 3)) : values must be length 3, # but FUN(X[[1]]) result is length 2 sfc1 …
12 r  sf 

4
「SpatialPolygonsDataFrame」を含むデータセットをシェープファイルとしてエクスポートする方法
パッケージtornados内のデータセットなど、R内の空間データセットGISToolsを、まったく同じ空間参照と正確な値を持つシェープファイルとしてエクスポートするにはどうすればよいですか? library(GISTools) data(tornados) 望ましい: 「SpatialPolygonsDataFrame」から「shapefile」へ 「(強制)SpatialPointsDataFrame」から「shapefile」へ 「(強制されない)SpatialPointsDataFrame」から「shapefile」へ 「SpatialLinesDataFrame」から「shapefile」に。
12 shapefile  r 

2
R-境界ボックスを作成し、Polygonクラスに変換してプロットする
とが NE lat lngありSW lat lngます。私の目標は単純です。RStudioを使用しており、上記の2つの緯度と経度から境界ボックスを作成し、ポリゴンを生成して、正方形ポリゴンにランダムポイントを追加します。data.frameにインポートできるcsvファイルにNELat / LngとSW-Lat / Lngがあります。 始めるには少しガイダンスが必要です。R言語は非常に新しいもので、これまで慣れていたものとはまったく異なります。 これまでのところ私はこれを持っています: coords = cbind(78.46801, 19.53407) coordsmax = cbind(78.83157, 19.74557 ) sp = SpatialPoints(coordsmax) sp2 = SpatialPoints(coords) r1 = rbind(coords, coordsmax[1, ]) # join P1 = Polygon(r1) Ps1 = Polygons(list(P1), ID = "a") plot(Ps1) 他の場所でいくつかの例をみましたが、4つの角のポリゴンをプロットできません。
11 r  rgdal 

5
MOD16(Modis Evapotranspiration)画像をダウンロードするには?
MODIS画像のダウンロードには「R」スクリプトを使用します。ただし、MOD16製品は提供しません。earthexplorer WebサイトでMOD16製品を見つけることもできませんでした。目的の製品はhttp://www.ntsg.umt.edu/project/mod16#data-productで入手できますが、ダウンロードするスクリプトが見つかりませんでした。 使用可能なスクリプトはありますか?または、各画像をクリックしてダウンロードする必要があります。 たとえば、年の各月から「h02v08」イメージをダウンロードする場合、どうすればよいですか?
11 qgis  r  remote-sensing  modis 

3
GPSファイルを匿名化する方法は?
法的な意味で、匿名にしたいGPSトレースがあるとします。どうしますか?最も近いx距離にスナップし、十分な時間を取り除いていますか?これに関して国際的に合意された基準はありますか?誰かがこれを行うためのアルゴリズムをすでに書いていますか?そうでない場合、私はこれを行うために進化しているstplanrパッケージに関数を作成する予定です。 私自身の「識別可能な」データからの再現可能な例(@geospacedmanの素晴らしい回転関数を使用): library(rgdal) library(tmap) downloader::download("https://www.openstreetmap.org/trace/1619756/data", "test.gpx") r <-readOGR(dsn = "test.gpx", layer = "tracks") r <- spTransform(r, CRS("+init=epsg:27700")) rproj <- rotateProj(rs, 90) # rotate projection for plotting r <- spTransform(r, rproj) rs <- rgeos::gSimplify(r, 1000) # snap to nearest km qtm(r) + qtm(rs, line.col = "red") + tm_layout(draw.frame = F) + …
11 r  gps  gpx  simplify 

3
多角形から多様性の連続測定まで?
まず第一に; 私は成功せずに、同様の質問を見つけようとしました。たぶん、私はGISに慣れていないので、探しているものが正確にわからないからでしょう。誰かが同様の問題を指摘してくれたら、この投稿を削除させていただきます。 特定の国の人口の多様性の「連続」またはラスター(小さなグリッドセル)変数を作成する必要があります。ポリゴンでの民族グループの広がりを示すシェープファイルがあり(図1)、私が探している結果は、各行政単位(AUの場合、この場合、 360ナイジェリアの選挙区)。 図1.ナイジェリアの人口グループポリゴン 私が思いついた解決策は、各AUの各ポリゴンの面積割合を取得し、それから不均一性インデックスを計算することでした。しかし、問題は、行政単位の分布のために、かなりの量の情報を残してしまうことです。図に示すように。2、正方形「a」、「b」、および「c」は同じ「分離指数」を持ちますが、「ホットスポット」に対して同じ位置にないことは明らかです。 図2。 ですから、別のソリューションでグリッドマップを作成し、最も近い境界までの距離を計算できますが、1つの境界のみを共有することは、複数のグループが一緒に住んでいるマップの中央部分にあることとは異なります。 この質問を見つけた後、重心を使用してポリゴンをポイントに変換し、同じ方法を適用できると思います。しかし、真実は、私がこれに慣れていないということです、そして、その質問は本当にはっきりと答えられません。どうしてそんなものを作ることができますか? 別の例を使用して、次のようなもの(このWebサイトの画像)を作成します。 さまざまな質的特性を持ついくつかのポイントの分布を考えると、各行政単位の「平均不均一性」を推定できる場所から多様性の尺度を取得します。 どうすればできますか?私はRとQGISを使用しているため、どのプラットフォームがソリューションベースであるかは気にしません。
11 qgis  raster  polygon  r 

3
世界の多くの場所で緯度経度の地点を1 km周回
私は世界中に何百もの緯度と経度のポイントを広げており、それぞれの周りに半径がちょうど1000メートルの円ポリゴンを作成する必要があります。最初にポイントを度(緯度経度)からメートル単位の何かに投影する必要があることを理解していますが、各ポイントのUTMゾーンを手動で検索して定義せずにこれを行うにはどうすればよいですか? フィンランドの最初のポイントのmweは次のとおりです。 library(sp) library(rgdal) library(rgeos) the.points.latlong <- data.frame( Country=c("Finland", "Canada", "Tanzania", "Bolivia", "France"), lat=c(63.293001, 54.239631, -2.855123, -13.795272, 48.603949), long=c(27.472918, -90.476303, 34.679950, -65.691146, 4.533465)) the.points.sp <- SpatialPointsDataFrame(the.points.latlong[, c("long", "lat")], data.frame(ID=seq(1:nrow(the.points.latlong))), proj4string=CRS("+proj=longlat +ellps=WGS84 +datum=WGS84")) the.points.projected <- spTransform(the.points.sp[1, ], CRS( "+init=epsg:32635" )) # Only first point (Finland) the.circles.projected <- gBuffer(the.points.projected, width=1000, byid=TRUE) plot(the.circles.projected) …

1
Rを使用した天然資源アプリケーションのマルチスペクトル画像セグメンテーション
Rには画像セグメンテーションの能力がありますが、私が出くわしたすべての例では、セグメンテーションに単一のバンドを使用しています(例)。Rのランダムフォレストイメージ分類の能力とオブジェクト指向セグメンテーションアプローチを組み合わせることに興味があります。 Rは、天然資源ベースの分析に適したマルチスペクトル画像セグメンテーションにどのような機能を備えていますか?または、さらに分析するために、単一バンドセグメンテーションの結果をリンクする方法。

2
1セル/ピクセルのシードからラスター内のランダムな形状のセルの塊を作成しますか?
タイトルにあるように、ラスター内のシードからセルの塊を「成長」させたいと思っています。私のベースラスターは1と0でいっぱいです。1は土地を示し、0は海/ NAエリアを示します。1から、シードとして60個のランダムなピクセル/セルを選択し、事前定義されたnoの接続された塊をランダムに成長させます。そのシードからのピクセル/セルの制限。この技法は「スプレッドダイ」と呼ばれることもあると聞きましたが、それについて多くを見つける運はありませんでした。シードセルの値は2になり、周囲の1から選択された次のセルも2に変換されます。2は、将来変換するために使用できなくなります。 RでのGISデータの読み取りと操作に精通しているので、Rでもこれを喜んで行うため、このスレッドは少し役立ちます。ただし、必要なのは、既存の束を囲むピクセルをランダムに選択する一連のルールです。 GIS設定でセルオートマトンのこのより基本的な形式を誰かが行った場合、アドバイスやガイダンスをいただければ幸いです。 例: ターゲットは250セルです。値が1のセルをランダムに選択します。これは値2になります。次に、シードセルの隣接セルの1つが2になります。次に、いずれかのセルの隣接セルの1つが2の値が選択され、2になります。これは、250セルの番号が付けられた連続形状に達するまで続きます。 編集:さらなる質問 whuberの素晴らしい答えに基づいて、コードについていくつか質問があります。 成長したセルの値を、それらが作成された順序を表す変数値ではなく、単に「2」に割り当てるにはどうすればよいですか? 「1」の領域内に60個のセルの塊を作成する必要があります。ランダムな開始位置を選択する方法を考案しましexpandたが、親切に書いた関数を使用してすべてをループ内で動作させるのに苦労しています。互いに衝突せず、同じ最終マトリックス内に含まれる60個のクランプを作成する方法を提案できますか? 編集:問題の詳細な説明 セルの各塊は、定義されたサイズ、たとえば250セルの保護領域を表します。各エリアは、陸地を表す値1のセルから開始して成長し、海を表す値0のセルを避ける必要があります。ヌルモデルを作成するために、各反復で60の保護された領域でこれを1000回繰り返す必要があり、これらの領域の分布が偶然になることを示します。このため、60の領域すべてにわたるセルの総数は、1000回の反復のそれぞれで同一である必要があるため、比較可能です。したがって、エリアが接触していても問題ありませんが、衝突がある場合、理想的には、ターゲットの250に到達するまで、クランプは別の利用可能な方向に成長します。 これらの1000の保護されたエリアネットワークのそれぞれが作成されると、それらは生物多様性測定などの他のラスターデータに対するマスクとして使用され、(a)特定の種の範囲と交差するかどうか、および(b)これらのランダムなネットワークの範囲の特定の種保護地域のカバー。 これまでの@whuberの支援に感謝します。私を助けるためにもっと時間を費やすことは期待していませんが、あなたが要求したように私の状況を明確にしてみようと思いました。

1
fortify()を使用して、シェープファイルからフィルター処理されたRデータフレームを作成するにはどうすればよいですか?
私はggplotウェールズの行政区域の人口のコロプレス地図を作成中です。Ordnance Surveyから境界線データをダウンロードし、正しいシェイプファイル(community_ward_region.shp)と思われるものを抽出しました。Rを使用すると、シェープファイルを読み取ることができます。 require(maptools) shape <- readShapePoly(wards) str(shape) これにより、この有望な出力が得られます。 Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots ..@ data :'data.frame': 1690 obs. of 4 variables: .. ..$ NAME : Factor w/ 1507 levels "Abbey Cwmhir",..: 969 90 111 200 441 477 1455 249 255 305 ... .. ..$ DESCRIPTIO: Factor w/ …
11 shapefile  r 

3
Rgeosは、ポリゴンを交差させるときに関連する値をドロップします
2つのSpatialPolygonsDataFramesを交差させて、結果としてSpatialPolygonsDataFrameを取得しようとしています。残念ながら、gIntersection関数rgeos(ポリゴンを交差させるために非常に高速に動作します)を使用すると、関連するデータフレームを取得できないようです。次の例を考えてみましょう。 > fracPoly <- gIntersection( toSingle, fromSingle ) > class(toSingle) [1] "SpatialPolygonsDataFrame" > class(fromSingle) [1] "SpatialPolygonsDataFrame" > class(fracPoly) [1] "SpatialPolygons" の転送を処理するラッパー関数を書くことはできますが、data.framesすべてのチェックを正しく行うのはささいな痛みになります。以下のためにgIntersection)これは私が関連を保持できるようになりますdata.frames。 更新 さらに考察すると、これはによる非常に意図的な動作である可能性がありますgIntersection。結局のところ、2つのSPDFのうち、誰のdata.frameを渡すのですか?そのため、2つをマージするラッパーを作成する必要があります。


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