WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Lösung gesucht, Berechnung v. Entfernungen zw. 2 Orten bzw. Datenbank (http://www.wcm.at/forum/showthread.php?t=98756)

allwissende Müllhalde 02.06.2003 17:35

Lösung gesucht, Berechnung v. Entfernungen zw. 2 Orten bzw. Datenbank
 
Ich suche für folgende Aufgabe eine Lösung oder einen Ansatz:

In einem Veranstaltungsplaner soll eine Funktion es ermöglichen anhand der gespeicherten Daten (Orte u. Veranstaltungen) zu ermitteln an welchen Orten innerhalb Österreichs, in einem vorgegebenen Zeitrahmen bereits eine Veranstaltung stattgefunden hat.
Soweit kein Problem, ein paar Einträge mit Ort/Datum zu jeder Veranstaltung und dann eine Abfrage nach Datumsbereich.

Aber jetzt kommts:

Es soll berechnet werden welche der vorkommenden Orte in einer Entfernung zueinander von <= 50km liegen !

Sinn des ganzen, es soll vermieden werden eine Veranstaltung im Umkreis von 50km und innerhalb eines Zeitrahmens doppelt oder mehrfach abzuhalten - wegen
zu erwartenden nachlassendem Publikumsinteresse.

Auch wenn man sagt nichts ist unmöglich,
hierbei bin ich mir nicht so sicher,
und wenn es möglich ist dann nur mit sehr großem Aufwand - wobei ein nachschauen "per Hand und Auge" auf der Straßenkarte
das Ergebniß genauso und ohne große Umstände bringt, solange es sich nicht um "wahnsinnig viele" Termine und Orte handelt.
Das Einzige was mir dazu einfällt wäre eine Datenbank mit allen (zumindest den größeren) Orten Österreichs und dazugehörigen Entfernungen zwischen jedem Ort.
Wieweit könnte man dazu einen Routenplaner einsetzen, hierbei würde ich am ehesten eine Chance sehen -
Gibt es einen solchen bei dem man direkt auf die
gespeicherten Daten des Routenplaners zugreifen kann - also nicht über die Suchmaske ?

Who-T 02.06.2003 18:23

ich kann mir net vorstellen dass du die daten einfach so kriegst. die routenplaner haben sicher nicht wenig dafür bezahlt

Dr. Mabuse 02.06.2003 19:38

http://www.dr-lemke.de/Trigonometrie...erechnung.html

siehe PM

allwissende Müllhalde 02.06.2003 19:39

Map & Guide z.b.
Ist zwar auch nicht gerade billig, aber das wäre das kleinere Problem, Geld ist vorhanden und das Feature wird bezahlt.
Aber ich weiß nicht was mit Map&guide dann effektiv zur Verfügung steht und wie man es dann auswerten kann, bzw. ob man damit das oben beschriebene realisieren kann.

Seidl 02.06.2003 20:03

Also, egal wie gut sich die Entfernung zwischen den Orten über den Routenplaner auch bestimmen lässt, du wirst für jede Abfrage die Entfernung zu jedem anderen Ort berechnen müssen. Das kann dann natürlich dauern. In dem Fall müsstest du dir wirklich was gefinkeltes überlegen.
Wenn du dagegen mit der Luftline zu anderen Orten zufrieden bist, so lässt sich sicher leicht eine Formel für ein SQL-Statement erstellen das dann anhand der Längen- und Breitengrade alle Orte in einem vorgegebenen Umkreis findet. Bei nur 50km lässt sich übrigens auch die Erdkrümmung getrost vernachlässigen und damit wäre das dann ja nur noch ziemlich einfache Trigonometrie.

allwissende Müllhalde 02.06.2003 20:59

Zitat:

Original geschrieben von Seidl
Also, egal wie gut sich die Entfernung zwischen den Orten über den Routenplaner auch bestimmen lässt, du wirst für jede Abfrage die Entfernung zu jedem anderen Ort berechnen müssen. Das kann dann natürlich dauern. In dem Fall müsstest du dir wirklich was gefinkeltes überlegen.
Wenn du dagegen mit der Luftline zu anderen Orten zufrieden bist, so lässt sich sicher leicht eine Formel für ein SQL-Statement erstellen das dann anhand der Längen- und Breitengrade alle Orte in einem vorgegebenen Umkreis findet. Bei nur 50km lässt sich übrigens auch die Erdkrümmung getrost vernachlässigen und damit wäre das dann ja nur noch ziemlich einfache Trigonometrie.

Nicht zu jedem Ort.
Davon ausgehend daß es in einem Zeitraum von 1/2 - 1 Jahr nur eine begrenzte Anzahl von Veranstaltungen gibt die in dieser Datenbank erfaßt werden sollen (mal geschätzt um die 50).
Der Routenplaner berechnet sicher genau genug.
Die Luftlinie betrachte ich als ungeeignet - wer kommt schon mit dem Flugzeug ;)
Was zälhlt ist die Straßenentfernung, (was wiederum ein Problem ergeben kann bei mehreren verschiedenen Anfahrts-Routen, aber dann eben die kürzeste nehmen.)

Ich hab mich bei mapandguide.de ein wenig umgesehen, und demnach sollte es kein Problem sein (die nötigen Programmierkenntnise und die Entwicklerversion von M&G vorausgesetzt)

Aber ob sich daß für die paar Daten rentiert, denn diese Entwicklerversion inkl. Kartenmaterial
kostet schon mal gut 3000¤, dazu noch die Arbeit der Programmerstellung selbst.

Muß mal nachfragen ob der Auftraggeber sich diesen Luxus leisten will :D
Ich schaffe daß ohnehin nicht selbst, aber es geht erst einmal um die Information ob und wie es möglich wäre.
Wenn noch jemand etwas dazu einfällt,
bitte melden.

Wenns jemanden interessiert, hier ist das
Map&Guide SDK beschrieben:
http://www.mapandguide.com/Produkte/...owIsExpanded=0

ora600 02.06.2003 23:28

http://otn.oracle.com/products/spatial/content.html

Seidl 02.06.2003 23:32

Na, das Ding kann ja aber wohl auch tausendmal mehr als du für deine Zwecke brauchst. Da muss es bestimmt eine günstigere Lösung geben. Ist denn keiner der üblichen Routenplaner OLE fähig? Vielleicht mal bei den Herstellern erkundigen.
Dieses Map&Guide mag ja wirklich toll sein aber z.B. ihre "Reihenfolgeoptimierung" können die Leutchen auch nur wie jeder andere über Iterationen lösen; sprich die kochen auch nur mit Wasser. Die Frage ob das dann 3000€ wert sein kann will ich hier nur mal so in den Raum stellen. ;)

Wenn sich die Datenmenge in Grenzen hält könnte man ja vielleicht auch beim Eintragen der Orte, von Hand die in Frage kommenden anderen Orte damit verlinken. Also eine N:N Beziehung der Orte-Tabelle auf sich selbst. Ich stell' mir das als nicht zu aufwendig vor.
Beim Eintragen eine konventionelle Karte nehmen => mit dem Zirkel einen 50km Radius um den Ort einzeichnen => andere Orte aus der Datenbank im Radius suchen => händisch die Strassenkilometer zu den gefundenen Orten mit einem normalen Routenplaner ermitteln => Orte im 50 Strassenkilometer Umkreis verlinken.
Wie gesagt, kommt auf die Datenmenge an.

allwissende Müllhalde 03.06.2003 02:03

@ Seidl

Ja, es kann viel mehr als ich brauche.
aber eben auch genau daß (ich bilde mir zumindest ein sowas unter den gesehen zu haben: "Umkreisselektion")

Zu Deinem Vorschlag per Handeintrag:
Ich sehe daß Problem darin daß nicht von vornherein bekannt ist welche Orte relevant sein werden also weiß man nicht was in die DB einzutragen ist, auch wenn es von der Anzahl her in begrenztem Rahmen sein wird.
Das ergibt sich ja erst im Laufe der Zeit, bzw. ein paar Daten aus der Vergangenheit wird es ja auch schon geben um damit anzufangen.
Aber alles ab Übergabe an den Anwender muß automatisch erfolgen, und dann sind wir wieder bei der Frage - woher kommen die Werte für die neue eingetragenen Orte ?
Dazu braucht man dann wieder eine Quelle auf die möglichst automatisiert zugegriffen wird, denn der Anwender möchte nicht erst noch Koordinaten suchen und eingeben.

Vielleicht gibt es ja auch die Möglichkeit von diesem Mapserver nur das oder die gewünschten Features zu kaufen.

Danke für die Anregungen

kansas 03.06.2003 08:07

also die idee mit der luftlinie ist nicht so schlecht - es geht hier um einen umkreis von 50 km - ob dass dann 45 oder 55 km werden wäre ja egal.

hab mir das grad a bisi im routenplaner durchgesehen - bei der entfernung verschwimmen die grenzen:

zb. Linz - Wels (autobahn gerechnet - die macht einen bogen)
34 km lt. routenplan - 46 km luftlinie

hera 03.06.2003 10:36

Zitat:

Original geschrieben von kansas
zb. Linz - Wels (autobahn gerechnet - die macht einen bogen)
34 km lt. routenplan - 46 km luftlinie

und die luftlinie macht bei dir eine spirale????
:D :D :D

frazzz 03.06.2003 10:48

Zitat:

Original geschrieben von ora600
http://otn.oracle.com/products/spatial/content.html

This is possible because location data is fully integrated in the Oracle server itself

:eek: :eek: :eek:


und das ist österreich dabei? in welcher auflösung?


andererseits, bei 50 datensätzen/ jahr würde ich das händisch einpflegen und die €3000.- dafür nehmen :D

allwissende Müllhalde 03.06.2003 15:30

Zitat:

Original geschrieben von frazzz

This is possible because location data is fully integrated in the Oracle server itself
:eek: :eek: :eek:
und das ist österreich dabei? in welcher auflösung?
andererseits, bei 50 datensätzen/ jahr würde ich das händisch einpflegen und die �3000.- dafür nehmen :D

Den Oracle Link hab ich mir auch angeschaut, und mir die gleiche Frage gestellt - ist die DB schon gefüllt ?
Aber wenn man die Preise betrachtet kann man eigentlich annehmen daß da auch Daten drinnen sind oder ?

ad 50 Datensätze pro Jahr u. einpflegen:
Ich würde sie auch händisch einpflegen -
aber das geht ja nicht da vorausgesetzt wird daß die Daten schon drinnen sind.
Oder umgekehrt, es nicht vorhersehbar ist wo eine "Verunstaltung" ;) geplant ist und daher von Haus aus alle Orte in frage kommen und somit auch drinnen sein müssen.
Verstanden was ich meine?

allwissende Müllhalde 04.06.2003 03:34

Neuester Stand:

Ein netter Wcmler hat mir ein file mit den
Längen u. Breiten der österr. Orte gschickt.
Dann hab ich noch ein fertiges Exel file gefunden mit der Formel und schön aufbereitet.
zu den schon vorhandenen deutschen Orten hab ich dann die österreichischen dazugeflickt - was die Funktion leider negativ beeinflußte..
Habs aber doch noch hinbekommen :D
Perfekt funzt es zwar immer noch nicht, da
Entfernungen die mir so schon bekannt sind teils etwas abweichen, keine Ahnung warum.
das nächste Problem sind dann die mehrfachen Orts-Namen,
es fehlén also noch die PLZ damit diese eindeutig werden !
Ganz schön aufwendig, aber nicht uninteressant..

markisonline 04.06.2003 03:48

telefonbuch nehmen und händisch eintragen

die arbeit lohnt sich sicher anstatt 3000 Euro

Montafon 04.06.2003 06:49

wie wärs damit?

http://www.lueftungsnet.de/programmieren/orte_sql.html

oder

http://www.statistik.at/verzeichnis/...zeichnis.shtml

allwissende Müllhalde 04.06.2003 17:22

@ Montafon

Thx !
Hab ich gestern Nacht selbst noch entdeckt
:)

Aber für Österreich ist leider nichts dabei wo PLZ und Geokoordinaten verknüpft sind :( !
Für Deutschland schon, in Österreich
anscheinend nur gegen Cash !
Zum Testen reicht ja Deutschland und
wenns dann funktioniert, dann eben Cash :D
Außer es findet sich doch noch eine Hintertür ;)
Oder eben händisch - was aber glaub ich
mehr Arbeit ist als man sich beim ersten Hinsehen vorstellt.

frazzz 04.06.2003 17:38

Zitat:

Original geschrieben von allwissende Müllhalde
Aber für Österreich ist leider nichts dabei wo PLZ und Geokoordinaten verknüpft sind :( !


:D jetzt wo du es sagst fällt es mir wie birnen von den bäumen oder so


jeder mobilprovider hat solche verknüpften daten :rolleyes:

allwissende Müllhalde 04.06.2003 18:56

@ frazz

Das ist anzunehmen,
oder auch Vermessungsbüros, Geometer.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag