Geeignete Entfernungsmetrik für die räumliche Gruppierung geografischer Koordinaten


8

Ich habe eine Reihe von Standorten in geografischen Koordinaten und möchte die Punkte mithilfe von hierarchischen Clustern und anschließendem Schneiden von Bäumen in verschiedenen "Höhen" gruppieren, um die gruppenweisen Mittelwerte der an jedem Standort aufgezeichneten Variablen zu berechnen.

Ich nehme an, dass eine hierarchische Gruppierung der Entfernungsmatrix geografischer Koordinaten eine irreführende Methode zur Bildung von Gruppen sein kann, da Breiten- und Längengrade nicht gleich weit voneinander entfernt sind.

Ich kann mir dann zwei Wege vorstellen:

  1. Verwenden der Großkreisentfernung für die Entfernungsmetrik.
  2. Konvertieren der geografischen Koordinaten in eine gleich skalierte Projektion und anschließendes Ermitteln der euklidischen Entfernung.

Sind diese Ansätze gleichwertig, abgesehen davon, dass Option zwei komplizierter durchzuführen ist? Und was genau bedeutet in diesen Fällen die Schnitthöhe des Baumes?


2
Zu 2: Es gibt keine "gleich skalierte Projektion": Die mit jeder Projektion erhaltene Entfernungsmatrix unterscheidet sich von der mit geodätischen Entfernungen. Wenn sich jedoch alle Punkte in der Nähe befinden - beispielsweise innerhalb einiger tausend Kilometer voneinander -, gibt es viele Projektionen, deren Entfernungsmatrizen ziemlich nahe an der richtigen liegen. Für Arbeiten auf der ganzen Erde steht eine dritte Option zur Verfügung: Verwenden Sie die 3D-Distanzmatrix. Es ist einfach zu berechnen und sollte im Allgemeinen ähnliche Ergebnisse wie die geodätische Entfernung liefern.
whuber

Antworten:


6

Vielen Dank an @whuber, der mich hier auf den richtigen Weg gebracht hat. Es sieht so aus, als ob es keine zusätzlichen Antworten geben wird. Sie werden diese Frage also klären, indem Sie meine eigenen Beobachtungen veröffentlichen, die für andere nützlich sein können, die etwas über Entfernungen, Clustering und Projektionen lernen.

Der folgende Code - R unter Verwendung der geosphere, rgdalund spPakete zeigt , dass eine sorgfältige Auswahl der richtigen Vorsprung kann eine genaue Abstandsmatrix geben (wobei genau wie geodätischen Abstand definiert ist) , wenn Punkte sind bis zu 2000 km voneinander entfernt (Achsen sind in Metern).

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))

Diagramme der Elemente dieser drei Distanzmatrizen sind unten gezeigt. Das Diagramm links zeigt an, dass die ausgewählte Projektion in hohem Maße mit der geodätischen Entfernung über den hier verwendeten Entfernungsbereich korreliert. Das richtige Diagramm zeigt zwar den erheblichen Fehler, der zu erwarten wäre, wenn nicht projizierte geografische Koordinaten verwendet würden.

Geben Sie hier die Bildbeschreibung ein


Hi @digitalmaps Ich versuche, Temperaturdaten in einem regelmäßig verteilten Lat-Lon-Raster zu gruppieren. Ich möchte geografische Entfernungen berücksichtigen, nicht nur Temperaturwerte. Muss ich eine Entfernungsmatrix berechnen, wie Sie erklären? Vielen Dank
Pacomet
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.