MapPoint : entlang der Route

Rund um MS-MapPoint

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

MapPoint : entlang der Route

Beitrag von AUGE_OHR »

hi,

Wenn man eine Route berechnet hat kann man doch mit der FindNearby Methode Places finden.
Nun frage ich mich ob es möglich ist "entlang der Route" nach weitern Kunden zu suchen und wie
ich das anstelle ... müsste ich für jeden Kunden, der in der selben PLZ liegt,einen Waypoint erstellen?

Kann ich selber Places erstellen ?

Nachtrag : Title gekürzt
Zuletzt geändert von AUGE_OHR am Mo, 27. Okt 2008 9:34, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint : entlang der Route (nicht Places)

Beitrag von AUGE_OHR »

hi,
ich habe es ja nun soweit das ich auf die Map clicken kann und er sucht sich dann das "nächste"
Ziel. Er braucht aber ein Ziel und das sind z.Z. nur meine PushPin mit den Kunden. Nun will ich ja
"zwischen" 2 Kunden suchen z.b. entlang der Autobahn.

PlaceCategory Objekt
Das PlaceCategory-Objekt stellt eine einzelne Sehenswürdigkeitskategorie dar. Diese Kategorien
werden auf der Karte durch die FindNearby-Methode einer Directions-Auflistung, eines Direction-
Objekts oder eines Location-Objekts angezeigt
Dies ist das "Fenster" was man bei :PaneState := geoPaneNearbyPlaces bekommt.

Nun habe ich nichts für "Sehenswürdigkeitskategorie" in meiner Karte "übrig", also hab ich die mit

Code: Alles auswählen

METHOD XbMap:onlyMeinePin()
   ::oMap:ActiveMap:PlaceCategories:setProperty(;
                                    "Visible", geoFalse )
RETURN self
einfach alles "abgeschaltet" und als Resultat bleibt "Meine Pushpin" übrig.
Die Pushpin´s sind als Datasets(1) geöffnet worden.

Code: Alles auswählen

::oPinMap := ::oMap:OpenMap(cPinLocal):DataSets(1)
Das nächste was ich also machen muss ist ein "neues" Datasets anzulegen wo ich auch noch
"andere" Ziele angeben kann. Dies wären z.b. die Anschluss Stellen der Autobahn wo ich ja
auch meine Toll Collect Stationen habe. Ich habe also nun an meiner BAB 7 rumgebastelt und
aus den gefundenen Waypoint und deren Location die Geo Kordinaten (GPS ?) "berechnet"

Code: Alles auswählen

METHOD XbMap:CalcPos(oMap, oLoc, nLocLat, nLocLon)
LOCAL oNordPol
LOCAL oStCruz
LOCAL oSuedPol
LOCAL dblHalfEarth
LOCAL dblQuarterEarth
LOCAL Pi
LOCAL d,l

   oNordPol := oMap:GetLocation( 90,  0)
   oStCruz  := oMap:GetLocation(  0,-90) // Center of western hemisphere
   oSuedPol := oMap:GetLocation(-90,  0)

   // Compute distance between north and south poles == half earth circumference
   dblHalfEarth    := oMap:Distance(oNordPol,oSuedPol)

   // Quarter of that is the max distance a point may be away from locSantaCruz and still be in western hemisphere
   dblQuarterEarth := dblHalfEarth / 2
   Pi := 3.14159265358979

   // Compute latitude from distance to north pole
   nLocLat := 90 - 180 * oMap:Distance(oNordPol, oLoc) / dblHalfEarth

   // Compute great circle distance to locX from point on Greenwich meridian and computed Latitude
   d := oMap:Distance(oMap:GetLocation(nLocLat, 0), oLoc)

   // convert latitude to radian
   l := (nLocLat / 180) * Pi

   // Compute Longitude from great circle distance
   nLocLon := 180 * Arccos((Cos((d * 2 * Pi) / (2 * dblHalfEarth)) - Sin(l) * Sin(l)) / (Cos(l) * Cos(l))) / Pi

   // Correct longitude sign if located in western hemisphere
   If oMap:Distance(oStCruz, oLoc) < dblQuarterEarth
      nLocLon = nLocLon*(-1)
   ENDIF

RETURN self
das scheint zu funktionieren, denn danach hab ich dann die Geo Koordinaten als Pushpin gesetzt
und die liegen alle "auf" der Autobahn ... wieso "auf" ?

Tja ein "kleines" Problem von MapPoint ist nun das er mir auch Punkte "auf" der Autobahn anzeigt
obwohl ich nirgends eine Auf- / Ab-fahrt "sehen" kann ...

ok und dann noch : es gibt ja normalerweise auf jeder Seite der BAB Anschlusstellen ...
... spielt zwar als Ziel nicht ein so grosse Rolle, aber wenn ich schon soweit bin :

Code: Alles auswählen

           
                                Latitude    Longitude   KM
A7, 24983 Handewitt             54.74645    9.37805     7.111
A7, 24941 Jarplund-Weding       54.74628    9.37802     7.126
wenn aus Nord komme und Richtung Süden fahre dann ich "wer" auf "meiner" Seite der BAB ?

soweit sogut, aber nun stellt sich die Frage wie bekomme ich "diese" Karte mit meiner "anderen"
Kunden Karte zusammen ? Ich denke mal man müsste zuerst die Kunden Karte als Datasets(1)
laden und dann weitere Datasets erstellen / Laden (???).

Frage : kann man ein weiteres Datasets "laden" ? wenn wie ?

das erstellen geht ja schnell weil ich die GPS Koordinaten habe ... naja paar Hundert PushPin nur
für die BAB 7 wären es schon ... deshalb würde ich die lieber "laden" oder "umschalten" ... aber da
muss ich wohl noch ein wenig nachlegen.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint : entlang der Route (nicht Places)

Beitrag von AUGE_OHR »

moin,

ich denke so langsam bekomme ich es hin
AnDerBAB.jpg
AnDerBAB.jpg (178.59 KiB) 7360 mal betrachtet
tatsächlich ist es mit den Geo Koordinaten "nur" eine Rechnerei
Kartesisches Koordinatensystem

Der Satz von Pythagoras liefert eine Formel für den Abstand zweier Punkte in einer Ebene, die durch ein kartesisches Koordinatensystem beschrieben wird. Sind zwei Punkte (x0,y0) und (x1,y1) gegeben, dann ist ihr Abstand "c" durch
Bild
da ich die Entfernung "c" zwischen 2 Koordinaten habe und der "gesuchte" Punkt auf der
gedachten "ideal" Linie "c" sein muss interpoliere ich nun die Koordinaten und "treffe" recht genau
die BAB. Wenn die vorher mit MapPoint abgeglichenen Positionen nehme und die tatsächlich mit
der Mauttabelle übereinstimmen, dann "treffe" ich auch die Anschlussstelle zumindest so das ich
die "im Bild sehe".
Auch scheint es was gebracht zu haben das ich auch N,10,6 umgestellt habe obwohl er mit nur
4 Stellen nach dem Komma anzeigt wenn ich einen Waypoint setze ... ich sollte mal N,11,7
ausprobieren ...
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: MapPoint : entlang der Route

Beitrag von AUGE_OHR »

hi,

also wegen der letzten Formel sollte ich die "Bedingungen" besser eingrenzen:
Ich habe "relative" kleine Entfernungen zwischen zwei Punkten sodas die Erdkrümmung kaum eine
Rolle spielt. Nimmt man allerdings grösser Enfernungen braucht man doch wohl "bessere" Formeln.

unter http://williams.best.vwh.net/avform.htm#Dist findet man eine Sammelung von "Aviation
Formulary" die einem dann bei der Berechnung von Geo Koordinaten helfen kann.
gruss by OHR
Jimmy
Antworten