# 二変量リプリーのK関数を実装する方法？

9

2変量リプリーのK関数を実装するにはどうすればよいですか？ 4
2回目の調査では、この回答からインスピレーションを得ることができます。Pythonでは、ラベルの入れ替えは簡単です。Pythonの空間統計については、PySALを確認することをお勧めします。
MannyG

8

ESRIドキュメントの後ろ隅をよく調べた結果、Arcpy / ArcGISで二変量RipleyのK関数を実行する合理的な方法はないと結論付けました。しかし、私はRを使用した解決策を見つけました：

``````# Calculates an estimate of the cross-type L-function for a multitype point pattern.
library(maptools)
library(spatstat)
library(sp)

# Subset certain areas within a points shapefile.  In this case, features are grouped by gap number
gap = 1

# Read the shapefile
sdata = readShapePoints("C:/temp/GapPoints.shp")  #Read the shapefile
data = sdata[sdata\$SITE_ID == gap,]  # segregate only those points in the given cluster

# Get the convex hull of the study area measurements
gapdata = readShapePoints("C:/temp/GapAreaPoints_merged.shp")  #Read the shapefile that is used to estimate the study area boundary
data2 = gapdata[gapdata\$FinalGap == gap,]  # segregate only those points in the given cluster
whole = coordinates(data2) # get just the coords, excluding other data
win = convexhull.xy(whole) # Convex hull is used to get the study area boundary
plot(win)

# Converting to PPP
points = coordinates(data) # get just the coords, excluding other data
ppp = as.ppp(points, win) # Convert the points into the spatstat format
ppp = setmarks(ppp, data\$SPECIES) # Set the marks to species type YB or EH
summary(ppp) # General info about the created ppp object
plot(ppp) # Visually check the points and bounding area

# Plot the cross type L function
# Note that the red and green lines show the effects of different edge corrections
plot(Lcross(ppp,"EH","YB"))

# Use the Lcross function to test the spatial relationship between YB and EH
L <- envelope(ppp, Lcross, nsim = 999, i = "EH", j = "YB")
plot(L)``````

3
また、FYI spatstatライブラリには2変量RipleyのKの実装があります。点の凸包を介して調査範囲を定義することは不適切です。ripras関数と引用文献を参照してください。
アンディW

2
null期待値をゼロ付近で標準化しているため、Besag-L統計を導出していることに注意してください。
ジェフリーエヴァンス

6

ArcToolboxの [ 空間統計 - パターンの分析]ツールセットの下に、多距離空間クラスター分析（Ripleys K関数）と呼ばれる組み込みスクリプトツールがあります。ツールのプロパティに移動して[ソース]タブで使用されているスクリプトを見つけると、ツールのソースコードを読み取ることができます。

アーロン

1
それが可能だと私は確信していますが、それを行う方法をあなたに伝えることはできませんでした。組み込みツールのソースコードを見て、どのような変更が必要かを確認しましたか？
blah238

ソースコードはかなり強烈に見えます。私はRソリューションを探索することにしました。
アーロン

3

ジェフリーエヴァンス

1
Jeffreyに感謝します
。ESRIの

Licensed under cc by-sa 3.0 with attribution required.