Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Onkel Domino am 05.03.04 - 14:17:07

Titel: Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 14:17:07
Hallo zusammen,

ich habe hier eine Datenbank die Kunden mit Versorger zusammenbringt. Nun suche ich nach einer Möglichkeit für einen Kunden einen Versorger herauszusuchen der in seiner Nähe liegt.

Sprich: ich öffne einen Kunden (Dokument) und möchte mir alle Versorger anzeigen lassen die in einem Umkreis von 50 oder 100 km sitzen.

Ich persönlich sehe da keine Möglichkeit das zu realisieren aber vielleicht hat hier jemand schon ähnliche Probleme und Erfahrungen gesammelt.

Viele Grüße,
Markus
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 14:20:24
Du hast nicht zufällig die UTM Koordinaten der Kundenadresse irgendwo gespeichert?

Falls es die WGS84 (das was man normal so aus einem GPS System bekommt) gibt, kann man die nach UTM umrechnen und dann die Kunden innerhalb eines Radius bekommen.

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 14:28:44
Super Idee, super Antwortzeit ;-)

Das gibt mir ja schonmal die Richtung an. Ich habe leider keine Ahnung von GPS, aber diese WGS84 Werte sollten doch irgendwo für ganz Deutschland hinterlegt sein. Oder noch besser die UTM Daten, dann spart man sich das umrechnen wenn ich das richtig verstanden habe.

Diese Werte könnte man ja dann in der DB hinterlegen und einen Lookup drauf machen.

Hast Du vielleicht noch eine Seite zur Hand wo diese Sachen hinterlegt sind? Sonst muss ich Google mal fragen...

Vielen Dank!
Markus
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 14:35:27
Im Prinzip sind das einfache trigonometrische Berechnungen. Ich gehe mal davon aus, dass die Suche nicht so exakt sein muss, d.h. bei 100 KM dürfen auch Kunden angezeigt werden, die 101 KM weg sind, oder?
Dann müssen Erdkrümmung, Schwerkraftfelder etc. nicht berücksichtigt werden, was das ganze erleichtert  ;D

Wegen der Koordinaten: Da gibt es Software - ich muss mal nachsehen, irgendwo habe ich den Link...

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 14:40:45
Hier
http://www.killetsoft.de/ortwpro.htm (http://www.killetsoft.de/ortwpro.htm)

Das Programm kenne ich aber nicht. Sowas in der Art braucht man.

Die Frage ist dabei immer, wie kriege ich was von Notes in das Programm geschaufelt und wie kommt es zurück. Am besten, man hat eine DLL, der man die Adresse (PLZ) übergibt und die liefert dann die UTM Koordinate zurück.

Die haben sowas:
http://www.killetsoft.de/geodll.htm (http://www.killetsoft.de/geodll.htm)


Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 14:47:22
Danke, das werde ich mal ausprobieren!    :)
Titel: Re:Entfernungen bestimmen
Beitrag von: Semeaphoros am 05.03.04 - 14:56:09
Sieht so aus, wie wenn Andreas damit Erfahrung hat und man ihn für sowas engagieren könnte.
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 15:02:50
Sieht so aus, wie wenn Andreas damit Erfahrung hat und man ihn für sowas engagieren könnte.
Das kann man so sagen. Ich habe jahrelang (im Auftrag von BCC) für die DFS Koordinaten hin- und hergeschoben  ;)

Hier ein Nebenprodukt für alle, die es interessiert:
http://www.geosoft-gps.de/produkte/GeoUnivers.htm (http://www.geosoft-gps.de/produkte/GeoUnivers.htm)

Jens, hast Du nicht gute Kontakte zu Swiss Control? Da können wir dann zusammen was aufziehen ;)

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Semeaphoros am 05.03.04 - 15:17:44
Du meinst, die Radarschirme in Notes-Schirme unfunktionieren, so dass man die legendäre Notes-Sicherheit nutzen kann ......  ;)
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 15:18:54
Bei einem Speicher- oder Replizierkonflikt möchte ich aber nicht in dem Flieger sitzen!
Titel: Re:Entfernungen bestimmen
Beitrag von: Semeaphoros am 05.03.04 - 15:22:55
.... sad but true ....
Titel: Re:Entfernungen bestimmen
Beitrag von: Don Pasquale am 05.03.04 - 15:54:28
Wie wäre es denn mit einer Adjazenz Matrix ?

Zuerst einmal nehmen wir die Postleitzahlen
und subtrahieren diese voneinander.
Je geringer der Absolutwert der Differenz
desto näher liegen diese beieinander.

Die AdjazenzMatrix benötigen wir für Sonderfälle
wie z.B. der PLZ Bereich 44 Dortmund, der direkt
neben 58 und 59 liegt, hier müssen also 14 bzw.
15 tausend nochmals von der Differenz abgezogen werden.

Je kleiner die Differenz desto näher liegen die Beiden
beieinander.

Ciao
DOn Pasquale




Titel: Re:Entfernungen bestimmen
Beitrag von: Semeaphoros am 05.03.04 - 16:01:06
Schonmal gemacht und die Adiazenz-Daten zur Verfügung? (das scheint mir hier der springende Punkt zu sein).
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 16:03:50
Ja da habe ich auch schon dran gedacht, allerdings müssen hier relativ viele Kontakte miteiander verglichen werden. Ich denke bei einer Adjazenzmatrix werden die Rechenoperationen einfach zu groß und die ganze Sache wird sehr inperformant (mal abgesehen davon, dass ich die Bereiche erst noch "indizieren" müsste, also welches Postleitzahlengebiet grenzt an welches...)

Ich glaube die GPS-Lösung ist hier die eleganteste Möglichkeit das umzusetzen.

Aber danke für den Hinweis!

Viele Grüße,
Markus
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 16:11:24

Nachteil: Während sich aufgrund der relativ langsamen Kontinentalverschiebung die Koordinaten von Städten nur lansam ändern, passiert das bei den PLZ im Verhältnis dazu ja oft. ;)
Ausserdem kann Onkel Domino sein Programm weltweit einsetzen  ;D

Andreas

Ja richtig: die Kontinentalverschiebung...daran habe ich gar nicht gedacht! LOL, na das werde ich gleich noch in meinen Haftungsausschluß mit reinpacken!

Klasse!
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 16:13:40
Das solltest Du auf jeden Fall tun  ;D
Ich habe ansonsten meinen eher unqualifizierten Beitrag gelöscht...

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Don Pasquale am 05.03.04 - 16:28:50
Schonmal gemacht und die Adiazenz-Daten zur Verfügung? (das scheint mir hier der springende Punkt zu sein).

Hä,

ich dachte hier ist gerade Satire angesagt ?
Falls nicht bitte ich um entschuldigung.

Ciao
Don Pasquale
Titel: Re:Entfernungen bestimmen
Beitrag von: Semeaphoros am 05.03.04 - 16:41:19
Das war im Graubereich und nicht genau identifizierbar ......  ;D

Jetzt ist aber alles klar ....
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 16:47:57
Das war aber auch schon dunkelgrau...theoretisch wär's ja machbar jeder Kombination von Postleitzahlengebieten einen Wert zuzuweisen.

Die Matrix die dann aber entsteht würde der "echten" Matrix von Neo und Morpheus an Größe Konkurrenz machen  8)

Womit wir wieder bei der Laufzeit wären.... aber  :-X
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 05.03.04 - 17:03:47
ist das evtl interessant http://www.koordinaten.de/online/ (http://www.koordinaten.de/online/)
Titel: Re:Entfernungen bestimmen
Beitrag von: koehlerbv am 05.03.04 - 17:13:57
Ulrichs Link ist wirklich absolut faszinierend ! Verblüffend, der Robert Heret !

Bernhard
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 17:14:02
Hi Ulrich,
das ist ja ein nettes kleines Progrämmchen.

Das möchte ich als Notes Datenbank haben ;D

Da der Autor sogar die Formeln zur Berechnung hinterlegt hat, benötigt man nur die geografischen Koordinaten. Da er auf der Kugel und nicht auf der Ellipse rechnet, lässt sich wohl verschmerzen - schließlich handelt es sich ja nicht um eine Landebahn, auf der ein Jumbo bei Null Sicht landen muss!
Cool  8)

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 05.03.04 - 17:18:48
hier http://www.gumo.de/utilities/ (http://www.gumo.de/utilities/) sind noch ein paar Visual Basic Formeln für die Berechnung. Auf Koordinaten.de sind ja zumindest die Koordinaten downloadbar; da sollte sich doch was draus machen lassen, oder ?
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 17:21:02
Ja Ulrich, das ist es!
Onkel Domino, jetzt aber los  ;D
Und bitte noch mit Anbindung an Map24  ;)
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 05.03.04 - 17:23:43
biddeschön http://www.gumo.de/utilities/map24_url.html (http://www.gumo.de/utilities/map24_url.html)
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 05.03.04 - 17:36:27
Ja, das hatte ich auch so gesehen und deshalb meine Aufforderung an Onkel Domino  ;D

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 17:38:40
Ja Ulrich, das ist es!
Onkel Domino, jetzt aber los  ;D
Und bitte noch mit Anbindung an Map24  ;)

Klar, jetzt kann's losgehen. Wenn ich damit fertig bin könnte ich mir auch noch eine Stimme die die Route vorliest wie bei einem Navigationssystem vorstellen  ;D

Da freu ich mich jetzt schon auf den Thread ;-)
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 05.03.04 - 17:47:21
da würde ich dann die API von http://www.logox.de/ nehmen  ;D
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 05.03.04 - 17:55:31
behalte ich ein Auge drauf...  ;)

Vielleicht kriege ich das ganze dann auch auf meinem Gameboy zum laufen damit ich mobil bin!

Ich meine wenn ein Domino schon auf 'ner X-Box läuft...

http://xbox.nashcom.de/nshweb/pages/xbox.htm
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 17:29:55
habe mal angefangen, da umzusetzen http://www.eknori.de/downloads/detail.php?nr=509&kategorie=downloads (http://www.eknori.de/downloads/detail.php?nr=509&kategorie=downloads)

Ulrich
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 06.03.04 - 17:46:11
Das hast du gestern Nachmittag und heute "mal eben" geschrieben???

Großen Respekt! Auch die Tabelle mit den Koordinaten ist Gold wert (http://www.themamundi.de/aws/tabel/tbmain.htm), danke für den Link.

Ähem, darf ich Deine Funktion ggfs benutzen wenn ich das umsetzen soll/muss? Würde das natürlich dementsprechend auskommentieren ;-)
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 17:49:34
klar kannst du die verwenden. Ich warte jetzt noch auf Glombi, der mir erklärt, wie man eine Umkreissuche realisiert. Bin nicht der große Mathematiker, daher habe ich mit diesem Kreisgedönse so meine Probleme. Ich habe die Tabellen mal in eine Textdatei zusammenkopiert. Allerdings muss da noch a bisserl rumformatiert werden, damit man das in eine Notes DB importieren kann. Werde mich morgen mal hinsetzen und das umsetzen.

Ulrich
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 06.03.04 - 18:03:20
Schick mir doch die Textdateien, dann mach ich da mal ne schöne Excel-Tabelle draus.

Ich habe nämlich noch irgendwo eine Tabelle mit allen Postleitzahlen und den zugehörigen Orten. Die könnte man da einbauen und somit auch anhand der PLZ die Entfernung bestimmen!

Brauchen sich ja nicht zwei Leute die Arbeit machen ;-)
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 18:04:59
habe ich meinem letzten posting angehängt. Pass auf beim Import ( feste Breite funktionoiert nicht, da die Spalten verschoben sind )

ach, nur so, schicken ? , gerne, aber wohin. Du hast in deinem Profil keine MailAddi ( zumindest keine persönliche ) :)
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 06.03.04 - 18:57:42
Habe die Datei schon runtergeladen, danke.

In Deiner Funktion hast Du Dir die Mühe gemacht die Koordinaten auseinaderzuklamüsern...

If Len (MMSS) = 4 Then   phi1_rad = (DEG + (Left$(MMSS,2)......


Ich bin gerade dabei die Sachen zu formatieren und habe vor die Sekunden grundsätzlich weg zu lassen (die Genauigkeit können wir uns glaub ich schenken) und die Himmelsrichtug rauszuschneinden. Bsp: aus "10E1924" wird dann "1019", damit ist es leichter zu rechnen bzw. zu programmieren.

Möchtest Du trotzdem eine Kopie mit den vollständigen Angaben (sprich: Sek. wenn vorhanden und Richtungsangabe)? Dann brauchst Du die Funktion nicht ändern.

Noch ist alles dran :)=
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 18:59:41
ist wurscht, die Funktion arbeitet auch ohne die Sekunden. Aber wenn du eine Umkreissuche planst, die 10km oder 20km umfasst, ist das schon wichtig...
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 06.03.04 - 19:42:51
So, sollte nun alles passen. Waren ein paar Blindgänger bei wo die "0" vorneweg fehlte und die Spaltenbreite nicht passt...

Ich habe die Sekunden und Himmelsrichtung nun doch dran gelassen. Was man hat, das hat man. Kann man bei Bedarf immer noch ohne großen Aufwand löschen.

Leider habe ich die Tabelle mit den PLZ nicht hier. Wird allerdings auch ein etwas größerer Aufwand das abzugleichen ;-)

Aber werde ich nachholen!

Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 19:45:32
schaue mir die Tabelle mal an, DANKE ...
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 06.03.04 - 19:48:50
"springt" abe imme noch Oder haste die falsche Datei angehängt ?
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 06.03.04 - 20:02:15
sorry...war die falsche datei....war auch nicht sehr schlau von mir den gleichen archivnamen zu benutzen!

probiers hiermit nochmal...

ist diesmal eine txt datei anstatt csv, da excel die östlichen koordinaten immer als zahl erkennt. also beim import drauf achten alle felder als txt zu markieren, trennzeichen sind semikola.

sag noch kurz obs diesmal gepaßt hat!
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 06:25:56
das sieht doch schon mal gut aus  :D
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 07:15:22
Hier die importierten Daten.
Titel: Re:Entfernungen bestimmen
Beitrag von: Axel_Janssen am 07.03.04 - 11:10:34
 8)
Als ich vor lauter Begeisterung anfing eine Maske zu basteln, stellte ich fest, dass die Namen der Städte in einer Dialogliste die 65 kb Grenze sprengt.

Muß jetzt wohl Picklist nehmen.

Danke auf jeden Fall für die Daten.

Gruß Axel
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 16:21:16
habe hier noch einen Link mit recht umfangreichen Koordinaten gefunden http://opengeodb.de/index.php
Darüber hinaus bietet die Seite noch Scripte in PHP zur Umkreissuche. Da sollte sich doch rausfinden lassen, wie man das nach LS portiert.

Ulrich
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 16:41:08
Ich habe den gestern auf meiner Webseite goposteten Code noch einmal überarbeitet. Es können jetzt Koordinaten aller Himmesrichtungen verwender werden. Daher ist nun eine weltweite Erntfernungsbestimmung möglich ...
http://www.eknori.de/downloads/detail.php?nr=509&kategorie=downloads (http://www.eknori.de/downloads/detail.php?nr=509&kategorie=downloads)
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 07.03.04 - 16:46:53
habe hier noch einen Link mit recht umfangreichen Koordinaten gefunden http://opengeodb.de/index.php

Super Sache! Da ist ja alles drin was wir gebraucht haben und ich kann mir die Arbeit mit den PLZ sparen :-)

Habe das mal soweit nach PLZ, Ort, Breiten- und Längengrad umgestellt.
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 07.03.04 - 17:02:09
Bezüglich der Umkreissuche habe ich mir auch nochmal Gedanken gemacht. Vielleicht war Don's Idee das als Graphen zu modellieren (Adjazenzmatrix) doch gar nicht mal so schlecht. Dazu bräuchte man allerdings die jeweiligen Entfernungen zwischen den PLZ.

Wir bauen uns den Graphen mit den PLZ als Knoten und den Entfernungen als Kanten. Jetzt nehmen wir allerdings keine Matrix, sonder stellen den Graph als Adjazenzliste dar. Die Liste müssen wir allerdings noch ein wenig modifizieren und zwar in soweit, dass sie uns nicht nur die nächste PLZ angibt, sondern ein Tupel bestehend aus (PLZ x Entfernung).

Wenn man nun der Funktion die PLZ und die Entfernung übergibt, geht es damit durch die Adjazenzliste, liefert die angrenzenden PLZ und zieht jedesmal die in der Liste hinterlegte Entfernung ab bis die übergebene Entfernung kleiner gleich null ist.

So sollte das theoretisch klappen.

Leider habe ich nicht die Programmierkenntnisse das umzusetzen. Vielleicht gibt es aber auch noch einen einfacheren Weg?!

Viele Grüße,
Markus
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 17:05:14
Super, hatte ich auch gerade fertig  ;D Da die Längen und Breitengrade ja schon umgerechnet sing, kann man mein COding noch weiter abspecken. Jetzt müssen die Daten lediglich noch mit RADIAN multipliziert werden und können dann gleich an die Formel übergeben werden.  :D

Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 17:24:38
wenn du über Deutschland hinausgehende infos brauchst ...

http://earth-info.nima.mil/gns/html/cntry_files.html (http://earth-info.nima.mil/gns/html/cntry_files.html)

das Thema macht spass, so als kleines Wochenend Chillout ...

und weil das Forschen so viel Spass macht, hier noch gleich die Koordinaten der Grenzen der Bunten Republik Deutschland

http://www.maproom.psu.edu/dcw_data/germany2pts.txt (http://www.maproom.psu.edu/dcw_data/germany2pts.txt)
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 07.03.04 - 18:27:38
Hallo Ihr!
Kaum ist man 2 Tage nicht Online und schon ist die Diplomarbeit von Onkel Domino fertig  ;D
Beeindruckend, sehr beeindruckend  ;)
Ich muss mir das alles mal in Ruhe ansehen.

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 18:29:39
vergiss nicht, die Formel zur Umkreisberechnung auf Grundlage der Koordinaten zu posten, bitte  ;D
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 07.03.04 - 18:46:27
Habe gerade noch ein bisschen rumgespielt. man kann doch die Suche entsprechend vordefinieren und 10, 20 .. 50  .. 100 km anbieten. Damit sind auch die Bogenminuten bekannt, die zum aktuellen Standort in nördlicher und östlicher Richtung hinzuaddiert und in südlicher und westlicher Richtung abgezogen werden müssen.
Damit stehen auch die Koordinaten des sich ergebenden Rechteckes fest. ( wg. der Abflachung der Erde kein quadrat )
Und mit diesen Angaben müsste doch ein entsprechendes db.Search zu definieren sein.

Ulrich
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 07.03.04 - 19:30:44
Hi Andreas,

ja der Ulrich war sehr fleissig und hat uns viel nützliche Links sowie eine erste DB geliefert  :)


@Ulrich:
Das mit der vordefinierten Such ist eine gute Idee! Ist auch viel einfacher das "direkt" auszurechnen als über eine verkettete Liste. Da hätte ich dann wohl mit Kanonen auf Spatzen geschossen  ;D
Titel: Re:Entfernungen bestimmen
Beitrag von: Axel_Janssen am 07.03.04 - 21:47:40
Habe gerade noch ein bisschen rumgespielt. man kann doch die Suche entsprechend vordefinieren und 10, 20 .. 50  .. 100 km anbieten. Damit sind auch die Bogenminuten bekannt, die zum aktuellen Standort in nördlicher und östlicher Richtung hinzuaddiert und in südlicher und westlicher Richtung abgezogen werden müssen.
Damit stehen auch die Koordinaten des sich ergebenden Rechteckes fest. ( wg. der Abflachung der Erde kein quadrat )
Und mit diesen Angaben müsste doch ein entsprechendes db.Search zu definieren sein.

Hi,

Es scheint jetzt darum zu gehen, die Suche zu optimieren, cierto?
Ein brute force Vergleich aller Entfernungen von Wert Kunde bis Wert Niederlassung dauert möglicherweise dann doch zu lang.

Das Zielquadrat sind ja von/bis Werte.
Man bräuchte also eine Art "and"-Verknüpfung.
Es ist vermutlich, wenn man die Koordinaten in Zahlen umrechnet.

Köln ist als Breitengrad: 50N5633
also (50 * 10000) + (5633 * 1)

Gruß Axel

bin auch nicht so der Mathe-Bär. Find die Aktion klasse. 8)
 
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 08.03.04 - 07:11:35
dann sollten wir gleich die Daten aus der openGeoDB nehmen, das erspart dann das Umrechnen.

Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 08.03.04 - 08:27:36
Ich habe das schon mal gemacht und werde es heute Abend rauskramen (zur Zeit bin ich unterwegs und komme da nicht heran...).
Prinzipiell geht es so: Die Koordinaten müssen von der Form GG MM SS,SSSS (Grad Minuten Sekunden) in die Form GG,GGGGGG umgerechnet werden. Dort dann denn Offset (d.h. den gewünschten Radius = Umkreis) addieren und alles was dann kleiner ist, gehört dazu.
Zu bedenken ist noch, das Notes in Rad und nicht in Grad rechnet, also muss noch transformiert werden.

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 08.03.04 - 08:35:52
Andreas:

die DEG - RAD Tranformation ist bereits in der Formel berücksichtigt.

Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 08.03.04 - 17:14:03
Hier die openGeoDB Daten in Notesform ( PLZ, City, Länge, Breite ) ca 14.000 EInträge

Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 08.03.04 - 18:20:45
habe mal meine Idee zur Umkreissuche al kurz aufgesribbelt. Sollte aber im Prinzip so funktionieren.
Man möge mir meine mathematischen Unzulänglichkeiten entschuldigen . Aber ich denke mal, es kommt rüber, wie es gemeint ist

                              P1
                               |
                               |
                               |
                               |
                               |
                               |
                               |
                               |

  P4<----------------P0------------------>P2
                               |
                               |
                               |
                               |
                               |
                               |
                               |
                               |
                               P3

P0 wird beschrieben durch l0 und b0

bei einem Umkreis von 10km ergibt sich ein Offset_L von 5'24'' und ein Offset_B von 8'38''

also gilt

P1 = l0 + Offset_L
P3 = l0 - Offset_L
P2 = b0 + Offset_B
P4 = b0 - Offset_B

Gültige Werte z.B. für das durch P0,P1 und P4 definierte Rechteck werden beschrieben durch

coord =  AllDocs (<= P1 & >= P4)

wobei P1 und P4 Länge und Breite des Docs repräsentieren

Stellt man nun für alle Rechtecke ausgehend von P0 die Formeln aus und vereinfacht man diese anschließend, so werden
die gültigen Dokumente durch die Formel

collection = AllDocs ( =<P1 & >= P3 ) & ( >= P4 & =< P2 ) beschrieben

Ulrich

 anzumerken ist noch folgendes: ich reduziere/ erweitere (?)  die Umkreissuche zwar auf eine Planquadratsuche. Dieses Planquadrat ist natürlich flächenmäßig größer als die Fläche des Kreises. Aufgrund der natürlichen Streuung der Städte sollte sich aber eine genügende Genauigkeit ergeben.

Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 08.03.04 - 21:41:51
Hi,
ich habe leider wenig Zeit, daher in Kürze das Wesentliche...

Anbei das was ich damals gerechnet habe:
1. Die Koordinaten der Form GG MM SS,SSSSS werden in GG,GGGGGGGG umgerechnet.
Formel: GG,GGGGGGGG = GG + (MM + SS,SSSSS / 60) / 60

In Script dann die Variablen
DezGrad_Laenge
DezGrad_Breite


2. Offset Breite bei Radius R in [km]
Es ist 1 GG (1 Grad) = 60 NM (Nautische Meilen), also 1 GG = 60 * 1,852 km

Offset Breite = R / (60 * 1,852 km)

Offset Länge = Cos(Grad Breite)

In Script

'grad_breite = GG Angabe in GG MM SS...


offset_breite = radius_km / (60 * 1.852)   
'Hinweis: Script rechnet Cos Funktion mit Radiant, daher erst von Grad nach Rad umwandeln
grad_rad_breite = grad_breite * (Pi / 180)    
cos_grad_rad_breite = Cos(grad_rad_breite)
offset_laenge = offset_breite / cos_grad_rad_breite


'***** Berechne untere und obere Grenze für die dez. Koordinaten
LBound_DezGrad_Laenge = DezGrad_Laenge - offset_laenge
UBound_DezGrad_Laenge = DezGrad_Laenge + offset_laenge
   
LBound_DezGrad_Breite = DezGrad_Breite - offset_breite
UBound_DezGrad_Breite = DezGrad_Breite + offset_breite    

'Abfrage aller Punkte, ob diese im Umkreis liegen

          '***** Prüfe ob Koord. im Intervall (Quadrat) liegen
      If ( (LBound_DezGrad_Laenge <= DezGrad_Laenge_Target) And (UBound_DezGrad_Laenge >= DezGrad_Laenge_Target) )  And _
      ( (LBound_DezGrad_Breite <= DezGrad_Breite_Target) And (UBound_DezGrad_Breite >= DezGrad_Breite_Target) ) Then
         
               'Koord. liegt im Umkreis            

end if

Das sollte sich eigentlich mit dem bereits geleisten Arbeiten von eknori decken...

Gruß
Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: Onkel Domino am 10.03.04 - 00:26:12
N'Abend zusammen,

ich hatte leider die letzten Tage nicht die Zeit "am Ball bleiben zu können". Wollte mich aber bei Andreas und Ulrich bedanken!

Bei Andreas für die Richtungsvorgabe sowie das Hintergrundwissen und bei Ulrich für die spontane Umsetzung der Berechnungen in LS und die intensiven Forschungsarbeiten. Die Links waren wirklich erste Sahne.

Das Thema "Entfernungsbestimmung" ist zwischen meinem Kunden und mir noch nicht wieder zur Sprache gekommen. Ich freue mich aber schon auf das Gespräch und die gegebenen Möglichkeiten! Ich hätte nicht gedacht das man das mit Lotus Notes realisieren könnte. Wieder einmal ein Beweis für die Flexibilität dieser Software.

Also nochmal vielen Dank an alle die die Sache vorangetrieben haben. Es war aber auch ein interessantes Thema!

Sofern es zu einer Realisation kommen sollte, werde ich das Ergebnis natürlich hier posten.

Viele Grüße,
Markus
Titel: Re:Entfernungen bestimmen
Beitrag von: Glombi am 10.03.04 - 08:45:29
Hi Markus,
das weitere Vorgehen würde einige hier sicher interessieren.
Das Thema ist aus meiner Sicht sehr interessant und beschäftigt sich mal nicht mit langweiligen 0815 Problemen, mit denen man sich sonst so rumschlagen muss.

Andreas
Titel: Re:Entfernungen bestimmen
Beitrag von: eknori am 10.03.04 - 08:54:34
So wie sich das anhört, ist das Thema für OD erst einmal insoweit erledigt, daß der Kunde sich noch nicht entschieden hat, einen entsprechenden Auftrag zu erteilen.
Nun denn, seis drum.
Ich habe zwar keine Kunden, denen ich das vertickern könnte; trotzdem ist das Thema als nette Fingerübung und fürs *brainjogging* recht interessant. Ich werde die DB mal fertigstellen und für alle Fälle mal in die Schublade legen...

@OD: Bitte vergiß bei Auftragserteilung nicht, einen entsprechenden Obulus auf das atnotes Konto zu überweisen...

Ulrich