Hallo zusammen,
ich Frage mich aktull ob es möglich wäre anhand vieler Geopunkte einen Mittelpunkt zu berechnen. Überlegung: Man hat eine Tabelle mit PLZ und dem dazugehörigen Geopunkt. Wenn man nun nur die erste Zahl der PLZ eingeben würde dann hat man einen schwung Geopunkte. Wär es möglich aus diesen Punkten einen Mittelpunkt zu berechnen?
Würde mich freuen wenn jemand dazu eine Idee hätte.
Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.
Mittelpunkt anhand vieler Geopunkte
Moderator: moenk
-
- Geonewbie
- Beiträge: 4
- Registriert: Sa 7. Nov 2009, 11:43
- Wohnort: Guben
- Kontaktdaten:
Re: Mittelpunkt anhand vieler Geopunkte
Der einfachste Weg ist die BoundingBox der Punktwolke zu bestimmen (min und max der Koordinaten) und deren Mittelpunkt zu benutzen.
Oder eben den Mittelwert der Koordinaten zu bestimmen.
Oder eben den Mittelwert der Koordinaten zu bestimmen.
Re: Mittelpunkt anhand vieler Geopunkte
@Balin: Top das ist so ziemlich das was ich Suche. Ich habe mir mal die Formel angeschaut aber leider klappt das irgendwie nicht. Ich habe eine Tabelle mit lat und long und würde gerne von diesen den Mittelpunkt wissen. Am liebsten würde ich das direkt über SQL machen, aber irgendwie habe ich einen Knoten im Hirn oder bin zu blöd die Formel richtig anzuwenden. Hier mal ein schwung Beispiel Koordinaten:
8,489985 50,124113
8,529342 50,132981
8,54125 50,105833
8,507222 50,088611
8,616111 50,111111
8,564722 50,102222
8,574583 50,114861
8,242303 50,084657
8,242222 50,081944
8,217917 50,057778
8,239722 50,040556
8,273333 50,093611
8,266389 50,101389
Mit dem Datenbestand habe ich dann mit SQL folgendes gemacht.
SELECT ATN2(test.Y, test.X) as 'Lon', SQRT(test.X * test.X + test.Y * test.Y) as 'Hyp', ATN2(test.Z, SQRT(test.X * test.X + test.Y * test.Y)) as 'Lat'
FROM (
SELECT SUM(tmp.X) / 13 as 'X', SUM(tmp.Y) / 13 as 'Y', SUM(tmp.Z) as 'Z'
FROM (
select
COS(latitude) * COS(longitude) as 'X',
COS(latitude) * SIN(longitude) as 'Y',
SIN(latitude) as 'Z',
1 as 'D'
from test_tabelle
) as tmp
) as test
Das geteilt durch 13 ist einfach die anzahl der Einträge und da bei mir die "number of days" 0 wären und man dann mit 1 arbeiten soll. Ich weiß das SQL ist nicht toll aber es soll aktuell nur mal funktionieren danach wird es auch ordentlich gemacht.
Hast Du eine Idee wo ich was falsch mache?
Danke
8,489985 50,124113
8,529342 50,132981
8,54125 50,105833
8,507222 50,088611
8,616111 50,111111
8,564722 50,102222
8,574583 50,114861
8,242303 50,084657
8,242222 50,081944
8,217917 50,057778
8,239722 50,040556
8,273333 50,093611
8,266389 50,101389
Mit dem Datenbestand habe ich dann mit SQL folgendes gemacht.
SELECT ATN2(test.Y, test.X) as 'Lon', SQRT(test.X * test.X + test.Y * test.Y) as 'Hyp', ATN2(test.Z, SQRT(test.X * test.X + test.Y * test.Y)) as 'Lat'
FROM (
SELECT SUM(tmp.X) / 13 as 'X', SUM(tmp.Y) / 13 as 'Y', SUM(tmp.Z) as 'Z'
FROM (
select
COS(latitude) * COS(longitude) as 'X',
COS(latitude) * SIN(longitude) as 'Y',
SIN(latitude) as 'Z',
1 as 'D'
from test_tabelle
) as tmp
) as test
Das geteilt durch 13 ist einfach die anzahl der Einträge und da bei mir die "number of days" 0 wären und man dann mit 1 arbeiten soll. Ich weiß das SQL ist nicht toll aber es soll aktuell nur mal funktionieren danach wird es auch ordentlich gemacht.
Hast Du eine Idee wo ich was falsch mache?
Danke
- moenk
- Geoadmin
- Beiträge: 13359
- Registriert: Fr 8. Aug 2003, 19:20
- Wohnort: 12161 Berlin
- Kontaktdaten:
Re: Mittelpunkt anhand vieler Geopunkte
Besser wäre die Flächen der PLZ zu verbinden und davon das Zentroid zu nehmen.
Suchst Du noch oder loggst Du schon?
Re: Mittelpunkt anhand vieler Geopunkte
Nö, leider nicht. Ich hab einfach nur google bemüht.smithers hat geschrieben: Hast Du eine Idee wo ich was falsch mache?
Danke

- KoenigDickBauch
- Geoguru
- Beiträge: 3168
- Registriert: Mo 9. Jan 2006, 17:06
Re: Mittelpunkt anhand vieler Geopunkte
In Mopsos habe ich den Ansatz gewählt, alle Punkt nach X,Y,Z zu konvertieren. Dort den Schwerpunkt zu berechnen, der dann in der Erde liegt und diesen dann auf die Erdoberfläche zu projektieren. Damit kann man dann auch Weltweit den Schwerpunkt berechnen.