地理座標の空間クラスタリングに適した距離メトリック


8

地理座標に一連の場所があります。各場所で記録された変数のグループごとの平均を計算するために、階層的クラスタリングとそれに続くさまざまな「高さ」でのツリーカットを使用してポイントをグループ化したいと思います。

緯度と経度が等間隔ではないため、地理座標の距離行列の階層的クラスタリングは、グループを形成するための誤解を招く方法であると私は推測しています。

次に、次の2つの方法を想像できます。

  1. 距離メトリックに大圏距離を使用します。
  2. 地理座標を均等にスケーリングされた投影に変換し、ユークリッド距離を求めます。

オプション2の実行はより複雑ですが、これらのアプローチは同等ですか?そして、これらの場合の木の伐採高さの正確な意味は何ですか?


2
Re 2:「等倍投影」のようなものはありません。任意の投影で取得される距離行列は、測地線距離を使用する場合と異なります。ただし、すべてのポイントが近くにある場合(たとえば、互いに数千キロメートル以内にある場合)は、距離行列が正しいものにかなり近い近似を持つ多くの投影があります。地球全体で作業する場合は、3番目のオプションを使用できます。3D距離行列の使用を検討してください。計算は簡単で、一般に、測地線距離と同様の結果が得られます。
whuber

回答:


6

ここで正しい方向に進んでくれた@whuberに感謝します。今後の追加の回答がないかのように見えるので、距離、クラスタリング、および投影について学習している他の人に役立つ可能性がある自分の観察を投稿して、この質問を解決します。

次のRコードは、、、およびパッケージを使用してgeosphereおりrgdalspポイントが最大2000 km離れている場合(軸はメートル単位)、正しい投影を注意深く選択すると、正確な距離行列(正確は測地線距離として定義されます)が得られることを示しています。

library(sp)
library(rgdal)
library(geosphere)

## Produce 200 randomly positioned geographic coordinates
## in central Canada
xyLatLon <- data.frame(lon=(runif(200)*-30)-85,
                       lat=(runif(200)*5)+50)

## Convert to a Lambert Conformal Conic projection that should
## reasonably approximate the true distance
newProj <- "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675
            +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000
            +ellps=GRS80 +units=m +no_defs" 
xyLcc <- spTransform(SpatialPoints(xyLatLon, proj4string=CRS("+proj=longlat")), CRS(newProj))


## Find the geodesic distance matrix from geographic coordinates
## assuming the WGS84 ellipsoid
xyDist1 <- distm(xyLatLon, fun=distMeeus)

## Find the Euclidean distance matrix from the projection
xyDist2 <- as.matrix(dist(coordinates(xyLcc)))

## Find the Euclidean distance matrix of the geographic coordinates
xyDist3 <- as.matrix(dist(xyLatLon))

これら3つの距離行列の要素のプロットを以下に示します。左側のプロットは、選択された投影法が、ここで使用される距離の範囲にわたって測地線距離と高度に相関していることを示しています。正しいプロットは、投影されていない地理座標を使用した場合に予想されるかなりの誤差を示しています。

ここに画像の説明を入力してください


こんにちは@digitalmaps私は等間隔の緯度経度のグリッドに温度データをクラスター化しようとしています。一時的な値だけでなく、地理的な距離も考慮したいと思います。説明するように距離行列を計算する必要がありますか?ありがとう
pacomet
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.