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

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

2
Rでラスターを再投影すると、投影された点が有限ではないという警告が表示されますか?
1.質問 RのラスターパッケージでprojectRaster()関数を使用して警告が発生しました。完全に再現可能な例を以下に貼り付けます。 Warning message: In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], : 33940 projected point(s) not finite 私の質問は次のとおりです。このデータは、地上データで作業している場合に修正する必要がある問題ですか?つまり、データは「失われた」ということです。もしそうなら、これは私にとって大きな問題になるでしょう。もしそうなら、私がそれを修正できる方法があるかどうか知っていますか? 私はこの問題の解決策をオンラインで検索したところ、ここ、ここ、およびここにいくつかの言及が見つかりましたが、この問題に対する適切な答えを提供するものはないと思います。 2.ラスターライブラリを読み込む library(raster) 3.まず、各グリッドセルに定数を使用して、世界の(長緯度)マップを作成します 各グリッドセルに定数を配置して、警告がデータに影響する可能性がある場合の問題を診断できるかどうかを確認しています。 rastertest.longlat<-raster(ncol=360, nrow=180) values(rastertest.longlat)<-c(rep(1,n=180*360)) 4.(長緯度)マップを等面積グリッドに再投影すると、警告メッセージが表示されます rastertest.eck4<-projectRaster(rastertest.longlat, res=c(100000,100000), crs="+proj=eck4",method="ngb", over=T) Warning message: In rgdal::rawTransform(projto_int, projfrom, nrow(xy), xy[, 1], : 33940 projected point(s) not finite このメッセージは基本的に、一部のグリッドセルで再投影が失敗したことを示していると思います。 5.しかし、2つのマップをプロットした場合、この警告はデータに問題を引き起こすようには見えません つまり、プロットされたデータに白いギャップはありません。私の推測では、失われた細胞は非地球上の細胞であり、世界の最上部と最果てです。何か案は? par(mfrow=c(2,1)) plot(rastertest.longlat, col="blue") …


4
複数のポリゴンの最大および最小座標を計算する方法は?
QGISまたはRを使用して、大規模なポリゴンのセットの最大、中央値、最小の緯度座標を計算したいと思います。つまり、緯度範囲全体で各ポリゴンが到達する最高点と最低点に到達します。中心座標は簡単ですが、ポリゴンをポイントに変換し、QGISで距離行列を使用するとコンピューターがクラッシュします。これを行うためのより効率的な方法はありますか? ここではさまざまな形で質問されていますが、1。不明2.バージョンが古いと思うか、3。ポリゴンが約2000あるため、PCでクラッシュします。
8 qgis  r 

2
一致しないIDと名前(類似した文字列)を持つシェープファイルにテーブルを結合する方法は?
自動化された解決策を見つけようとしているという迷惑な問題があります。簡略版は、シェープファイルと、国内の地域用に作成されたデータのテーブルがあることです。作成されたデータテーブルには、シェープファイルと照合するための標準化されたGID /管理コードは含まれておらず、リージョン名も完全には一致していません。よく見てみましょう。これが私のダミーデータフレーム+シェープファイルです。 library(rgdal) #load in shapefile arm <- readOGR("D:/Country-Shapefiles/ARM_adm_shp", layer = "ARM_adm1") #create dummy data frame id <- c(100:110) name <- c("Aragatsotn", "Ararat", "Armavir", "Gaghark'unik'", "Kotayk", "Lorri", "Shirak", "Syunik'", "Tavush", "Vayots' Dzor", "Yerevan City") value <- runif(11, 0.0, 1.0) df <- data.frame(id, name, value) だから私が持っているのは、一見ランダムなID、地域名、およびコロプレスマップでプロットされる値のテーブルです。このように見えます: > df id name value …

2
spTransformの代替?
特定のプロジェクションを持つシェープファイルがあるとしましょう。 s<-readOGR(dsn=".",layer="Spain") 別の予測のポイントとして、スペインの空港もあります。 a<-readOGR(dsn=".",layer="airports") スペインのシェープファイルにポイントを配置する場合は、座標が同じになるように配置する必要があります。通常、これは次のように行われます。 a<-spTransform(a,CRS(proj4string(s)) しかし、それは同じですか? proj4string(a)<-proj4string(s) はいの場合、シンプルでspTransformを使用する必要があるため、標準的な方法ではないのはなぜですか?
8 r 

1
Rでグリッドシェープファイルを生成していますか?
QGISで作成した次の10x10度の緯度/経度グリッドのシェープファイルがあります。rgdalパッケージを使用してRに読み込むことができます。 Grid<-readOGR(".","GridShapeFile") 次の属性と構造があります。 summary(Grid) Object of class SpatialPolygonsDataFrame Coordinates: min max x -180 190 y -100 90 Is projected: FALSE proj4string : [+proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0] Data attributes: ID XMIN XMAX YMIN YMAX Min. : 0.0 Min. :-180 Min. :-170 Min. :-100 Min. :-90 1st Qu.:175.5 1st Qu.: -90 …

1
RのSpatialPointsDataFrameと同じすべてのポイントの最も近いポイントまでの距離
Rで使用しているSpatialPointsDataFrameがあります。すべてのポイントについて、SpatialPointsDataFrame内の最も近い他のポイントまでの距離を含む新しいベクトルをデータフレームに追加します。spdepパッケージのknearneighと、spパッケージのspDistsN1およびspDistsを確認しましたが、どちらも希望どおりのものを提供しません。明確にするために、これらのポイントはすべて1つのSpatialPointsDataFrameにあります。

3
Rのピクセルの塊を削除する
ラスターイメージから孤立したピクセル(または9未満のピクセルの塊)を削除したいと思います。 library(raster) # create some raster data r <- raster(ncols=12, nrows=12) set.seed(0) r[] <- round(runif(ncell(r))*0.7 ) rc <- clump(r) ピクセルの塊を削除する前<9 ピクセルの集まりを削除した後<9: Erdasには、これを行うSieveツールがありますが、Rでそれを置き換える方法は?

3
RのSpatialPolygonsDataFrameの列を削除しますか?
空間ポリゴンデータフレーム(SPDF)に含まれている列(変数)が多すぎるため、ほとんどの列を完全に削除します。 Rの通常のデータフレームでこれを行う方法を知っていますが、SpatialPolygonsDataFrameクラスのオブジェクトを処理するときにこれを行う方法がわかりませんか?

1
RラスターパッケージMoranのI解釈
私はラスターパッケージを使用して、ローカルのモランのIを計算しています。この例では、モランのIの範囲を-1から2.47にしています。私自身のデータでは、値の範囲-3.070423-7.228558を確認しています。どのようにしてMoran 'Iの値を1より大きくできますか?ほとんどの文献は、グローバルMoran's Iの値が-1から1の間であることを指摘しています。1より大きいローカルMoran's I値は、Rラスターパッケージによって実装されているとはどういう意味ですか? #data r <- raster(nrows=10, ncols=10) r[] <- 1:ncell(r) plot(r) #local Moran's I x1 <- MoranLocal(r) plot(x1)

3
Rでの1年あたりの空間ラグの計算
現時点では、で空間ラグを計算するのにいくつか問題がありますR。スペース全体の形式でラグを計算する方法を知っていますが、長い形式で計算することはできません。つまり、分析単位の観測を繰り返しています。 以下は、私が何をしようとしているのかを説明するための模擬データです。まず、興味のあるイベントの観測を生成します。 # Create observations pts<-cbind(set.seed(2014),x=runif(30,1,5),y=runif(30,1,5), time=sample(1:5,30,replace=T)) require(sp) pts<-SpatialPoints(pts) xおよびyは、timeイベントが発生する期間を表す座標です。イベントは、分析の単位であるポリゴンに集約する必要があります。この例では、ポリゴンはグリッドセルであり、簡単にするために、境界は時間の経過とともに固定されます。 # Observations take place in different areas; create polygons for areas X<-c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5)) Y<-c(rep(seq(1,5,1),5)) df<-data.frame(X,Y) df$cell<-1:nrow(df) # Grid-cell identifier require(raster) coordinates(df)<-~X+Y rast<-raster(extent(df),ncol=5,nrow=5) grid<-rasterize(df,rast,df$cell,FUN=max) grid<-rasterToPolygons(grid) # Create polygons 分布の概要を取得するためだけにデータをプロットできます。 スペース全体のフォーマットでは、次の方法で空間ラグを計算します。 pointsincell=over(SpatialPolygons(grid@polygons),SpatialPoints(pts), returnList=TRUE) grid$totalcount<-unlist(lapply(pointsincell,length)) require(spdep) neigh<-poly2nb(grid) # Create neighbour list weights<-nb2listw(neigh,style="B",zero.policy=TRUE) # Create …

2
Pythonジオプロセシングサービスで外部ファイルを呼び出すにはどうすればよいですか?
Rスクリプトを呼び出し、出力をPythonに読み込むPythonスクリプトを作成しました。このツールはArcGIS Desktop(10.2.1)で実行でき、正常に動作します。ジオプロセシングサービスとして公開すると、Rスクリプトに到達すると失敗します。ファイルパスを確認しましたが、問題ありません。ジオプロセシングサービスから外部スクリプトを呼び出すこともできますか?これが私のコードです。 import sys, os, arcpy arcpy.AddMessage("Loaded Python Imports...") try: #User Input lat = arcpy.GetParameterAsText(0) long = arcpy.GetParameterAsText(1) arcpy.AddMessage("LAT: " + "".join(lat)) arcpy.AddMessage("LONG: " + "".join(long)) #Create R Command rScript = "test.R" args = " ".join([lat, long]) RCMD = "R --slave --vanilla --args " cmd = RCMD + args + …

3
Rを使用してポリゴン内の非NAラスターセルの数を取得する方法
私はArcGIS ZonalStatsを使用してあらゆる種類の問題に遭遇しており、Rが優れた方法であると考えました。私はRにかなり慣れていると言いますが、コーディングの背景を得ました。 状況としては、いくつかのラスターと、さまざまなサイズの多くのフィーチャを持つポリゴンシェープファイルがあります(すべてのフィーチャはラスターセルよりも大きく、ポリゴンフィーチャはラスターに位置合わせされています)。抽出付きのラスターライブラリを使用して、各ポリゴンフィーチャの平均値を取得する方法を理解しました。 #load packages required require(rgdal) require(sp) require(raster) # ---Set the working directory------- datdir <- "/test_data/" #Read in grid of water depth ras <- raster("test_data/raster/pl_sm_rp1000/w001001.adf") #read in polygon shape file proxNA <- shapefile("test_data/proxy/PL_proxy_WD_NA_test") #calc mean depth per polygon feature #unweighted - only assigns grid to district if centroid is …

2
シェープファイルの境界ポリゴンを検​​出/選択する簡単な方法
シェープファイルの境界ポリゴンを検​​出/選択する簡単な方法を探しています。ボーダーポリゴンとは、ここでは他のポリゴンで完全に囲まれていないポリゴン、つまりシェープファイルの周囲にあるポリゴンです(シェープファイルの範囲はポリゴンで完全に覆われています)。以下の例では、目的のポリゴンがシェーディングされています。 Arcgis、QGIS、R、Pythonを使用したソリューションは大歓迎です。

1
ラスターの欠損値を埋める新しい方法
一部のラスターで欠損値を埋めるための堅牢な方法を探しています。彼らはすべて単一の層を持っています。欠損値は、単一ピクセルから中サイズのパッチで構成されます。ラスターのサイズは約1000 x 1000ピクセルで、最大のパッチは20x20ピクセルのようなものです。 Hmisc RパッケージのaregImputeを使いたくなります。誰かがこの目的でそれを使用しましたか? このアプローチは非常にクールに見えますが、見た目に美しい修正を生成することのみを目的としています。 これの詳細な説明: すべてのラスター(合計で36個あります)は同じ範囲を共有し、重なり合って位置合わせされます。各ラスターは異なる変数です。さまざまなソース(リモートセンシング、地形学、気候学)から変数を収集しました。元のラスターにはさまざまな解像度があります。最小は30mです。そこから彼らは1kmもの高さになります。3次たたみ込み(すべての変数は連続)を使用してすべてを1kmにリサンプリングしました。別の1kmのラスターがあり、そこにはいくつかのサンプリングされたポイントの対象となる変数のデータがあります。そこで、それらのポイントと他のラスターを共変量として使用してモデルをトレーニングし、その変数の完全なラスターを生成できるようにしました。残念ながら、ほとんどの共変量ラスターにはいくつかの欠損値がありますが、実際にはそれほどではありませんが、問題を完全に解消したいと思います。 ありがとうございました。 ps私はこれにRを使用したいと思います。

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