Hallo Edward,
schon erledigt, der Titel ist angepasst.
Garmin fenix 7X und epix Gen 2 im Test
Der Schwerpunkt dieses Tests und Vergleichs der Garmin Fenix 7X Solar und Garmin Epix Gen 2 liegt auf den Sensoren wie Höhenmesser, Positionsbestimmung und Herzfrequenz. Was unterscheidet die beiden GPS-Outdoor-Smartwatches? Und wie gut ist die Taschenlampe der Fenix 7X für den Outdoorbereich?
Hier geht es zum Test der Outdoor-Smartwatches ...
-
-
Danke schön
-
Version 3.43 is folgenderweise geänderd:
Änderungen 24-06-2009 (3.43):
- Maximale Anzahl der Punkte pro Track oder Route ergrößert von 10000 bis 20000
- Maximale Anzahl der zusätzliche Zwischenziele (Option 5) ist jetzt eine Variable (2-99), war 50
- Durchschnittliche Entfernung zwischen zusätzliche Zwischenziele (Option 5) ergrößert von 9 bis 99
Änderungen 22-06-2009 (3.43):
- Problem mit Option 23 und mehrere Tracks gelöst
Version Nummer ist nicht geändert -
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Hallo,
eine Frage:
Ich wollte einen Track (gpx) mit Version 3.42 in eine Route verwandeln. Dazu habe ich Nr. 11 ("converts Tracks to Routes with invisible via points")gewählt weil ich annahm, daß die Wegpunkte und deren Bezeichnung dann nicht auf dem Bildschirm des Geräts erscheinen.
Aber leider funktioniert es nicht. Das Programm sagt mir, daß Wingdb3.gdb keine zulässige Mapsource Datei ist und deshalb nicht geöffnet werden kann.
Wie kann ich vorgehen?
Danke. -
Hallo,
eine Frage:
Ich wollte einen Track (gpx) mit Version 3.42 in eine Route verwandeln. Dazu habe ich Nr. 11 ("converts Tracks to Routes with invisible via points")gewählt weil ich annahm, daß die Wegpunkte und deren Bezeichnung dann nicht auf dem Bildschirm des Geräts erscheinen.
Aber leider funktioniert es nicht. Das Programm sagt mir, daß Wingdb3.gdb keine zulässige Mapsource Datei ist und deshalb nicht geöffnet werden kann.
Wie kann ich vorgehen?
Danke.Das war einen Bug , gelöst in 3.43
Mache bitte ein neuer Download von 3.43 und wähle die neue Option 23. -
Hallo Edward,
ich Danke Dir. Ich versuche es. -
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Änderungen 22-06-2009 (3.43):
- Problem mit Option 23 und mehrere Tracks gelöstHallo Georgios,
Es war dieser Bug, nur für mehrere Tracks in einem Datei.
Wenn es nicht klappt, bitte schick mir die Datei. -
Hallo Edward,
ich bin gerade von einer 2-tägigen Fahrradtour zurück. Hatte vorher keine Zeit mit 3.43 zu arbeiten, daher bin ich mit den von 3.42 generierten Routen losgefahren.
Jetzt habe ich gerade das Update gemacht und ich sehe was Du meinst. Es funktioniert jetzt auch mit mehr als einem Track. Aber nur in MS!
Auf dem Quest sind nach wie vor die Wegpunkte und deren Bezeichnungen zu sehen.
Wenn Du die Tracks haben möchtest, sende ich sie dir morgen. -
Dieser Funktion funktioniert leider nur für einen Zumo oder Nüvi (510-550); nicht für einen Quest. Sorry
-
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Oh, und ich habe mich schon gefreut.
Na, macht nichts. Trotzdem hast Du eine gute Arbeit geleistet. -
Auf dem Quest sind nach wie vor die Wegpunkte und deren Bezeichnungen zu sehen.
Das Problem müsste sich durch die Verwendung selbst definierter Wegpunktsymbole lösen lassen. Das Quest kann glaube ich 16 verschiedene selbstdefinierte verwenden.
Ich habe das noch nie genutzt. Aber es müsste funktionieren, wenn du den Wegpunkten, die du nicht sehen willst, ein Symbol verpasst, dass du entweder als transparentes mit einem einzigen Pixel versehenes Symbol erstellt hast.
Das Symbolformat ist 16x16 Pixel mit 8 bit Farbtiefe im bmp-Format. Der RGB-Wert 255-0-255 (das ist ein Violett) wird - glaube ich - als transparent interpretiert.
Zum Upload auf das Quest wird das Programm ximage von Garmin benötigt. Müsste bei Garmin unter Software für das Quest zu finden sein. Der Upload auf das Gerät muss nur einmal erfolgen, die Symbole bleiben dann bis zu einem Master-Reset erhalten. -
Danke für den Tip, müsste ich direkt mal probieren. Ximage hab´ich schon.
Irgendwelche Nachteile denkbar für andere Situationen? -
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Ich weiß es nicht, glaube eigentlich nicht, meine mich aber zu erinnern, dass irgendeine MapSource-Version mal Schwierigkeiten mit selbst erstellten Wegpunktsymbolen hatte.
Da ich mit dem Quest aber nur mit MapSource erstellte Motorradrouten fahre, stellt sich mir auch nicht das Problem mit den Tracks aus anderen Programmen und ich habe daher auch keinen Anwendungszweck für die selbsterstellten Wegpunktsymbole. Ich habe das mal ausprobiert, als ich das Quest neu hatte. Daher kann ich auch nichts über Schwierigkeiten damit berichten.
-
o.k., Danke für Deine Antwort.
-
Der erste Post von diesen Thread ist geändert.
WinGDB3 ist jetzt Version 3.44 -
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Hallo Edwar,
ich hatte ja schon einmal das Thena "traveling salesman" angesprochen.
Das ist eine Funktion, die eine Wegpunktliste so sortiert, daß am Ende
die kürzeste Route zwischen allen Punkten berechnet wird.Hier:
http://www.naviboard.de/vb/sho…php?p=306231&postcount=17
habe ich kurz eine Antwort auf eine Frage eines Mitglieds geschrieben,
daß diese Funktion zwar in seinem Zumo hat, aber nicht in MapSource findet,
weil es dort eine solche Funktion nicht gibt.
Das Programm unterstützt Java. Der Sourcecode ist frei verfügbar, ich hänge ihn mal hier mit dran.
Hier die Website mit dem Java-Applet:
http://mathsrv.ku-eichstaett.d…homes/grothmann/java/TSP/
Der eigentliche Code zur Berechnung ist nur ein paar Zeilen lang, der
Rest ist die GUI.Das ist nur ein Vorschlag, bitte nicht als Aufforderung verstehen, das
unbedingt umzusetzen. Dein Programm ist auch so schon eine Riesenhilfe für viele von uns.Java
Alles anzeigenimport java.util.*; import java.awt.*; import java.applet.*; /** Contains a Matrix of distances for a graph. */ class Graph { protected int N; double M[][]; final static double INFTY=1e50; public Graph (int n) { N=n; M=new double[n][n]; int i,j; // initially disconnect all points for (i=0; i<n; i++) for (j=0; j<n; j++) { if (i!=j) connect(i,j,INFTY); else connect(i,j,0); } } void connect (int i, int j, double x) { M[i][j]=x; } final double distance (int i, int j) { return M[i][j]; } final int size () { return N; } } /** Contains a vector of points with x- and y-coordinate */ class Points { int N; public double X[],Y[]; public Points (int n) { X=new double[n]; Y=new double[n]; N=n; } public void random (Random r) // generate random points { int i; for (i=0; i<N; i++) { X[i]=r.nextDouble(); Y[i]=r.nextDouble(); } } public void square (int n, int m) // generate points in a nxm grid { int i,j,k=0; for (i=0; i<n; i++) for (j=0; j<m; j++) { X[k]=i/(double)(n-1); Y[k]=j/(double)(m-1); k++; } } public final int size () { return N; } public void extend (double xn, double yn) // add onother point to the vector { double x[]=new double[N+1]; double y[]=new double[N+1]; int i; for (i=0; i<N; i++) { x[i]=X[i]; y[i]=Y[i]; } x[N]=xn; y[N]=yn; X=x; Y=y; N++; } } /** A graph, which can be initialized with points. */ class PlaneGraph extends Graph { final double sqr (double x) { return x*x; } public PlaneGraph (Points p) { super(p.size()); int i,j; for (i=0; i<N; i++) for (j=0; j<N; j++) connect(i,j, Math.sqrt(sqr(p.X[i]-p.X[j])+sqr(p.Y[i]-p.Y[j]))); } } /** A path in a graph. From[i] is the index of the point leading to i. To[i] the index of the point after i. The path can optimize itself in a graph. */ class Path { Graph G; int N; double L; public int From[],To[]; public Path (Graph g) { N=g.size(); G=g; From=new int[N]; To=new int[N]; } public Object clone () // return a clone path { Path p=new Path(G); p.L=L; System.arraycopy(From,0,p.From,0,N); System.arraycopy(To,0,p.To,0,N); return p; } public void random (Random r) // random path. { int i,j,i0,j0,k; for (i=0; i<N; i++) To[i]=-1; for (i0=i=0; i<N-1; i++) { j=(int)(Math.abs(r.nextLong())%(N-i)); To[i0]=0; for (j0=k=0; k<j; k++) { j0++; while (To[j0]!=-1) j0++; } while (To[j0]!=-1) j0++; To[i0]=j0; From[j0]=i0; i0=j0; } To[i0]=0; From[0]=i0; getlength(); } public double length () { return L; } public boolean improve () // try to find another path with shorter length // using removals of points j and inserting i,j,i+1 { int i,j,h; double d1,d2; double H[]=new double[N]; for (i=0; i<N; i++) H[i]=-G.distance(From[i],i)-G.distance(i,To[i]) +G.distance(From[i],To[i]); for (i=0; i<N; i++) { d1=-G.distance(i,To[i]); j=To[To[i]]; while (j!=i) { d2=H[j]+G.distance(i,j)+G.distance(j,To[i])+d1; if (d2<-1e-10) { h=From[j]; To[h]=To[j]; From[To[j]]=h; h=To[i]; To[i]=j; To[j]=h; From[h]=j; From[j]=i; L+=d2; return true; } j=To[j]; } } return false; } public boolean improvecross () // improve the path locally, using replacements // of i,i+1 and j,j+1 with i,j and i+1,j+1 { int i,j,h,h1,hj; double d1,d2,d; for (i=0; i<N; i++) { d1=-G.distance(i,To[i]); j=To[To[i]]; d2=0; d=0; while (To[j]!=i) { d+=G.distance(j,From[j])-G.distance(From[j],j); d2=d1+G.distance(i,j)+d+G.distance(To[i],To[j]) -G.distance(j,To[j]); if (d2<-1e-10) { h=To[i]; h1=To[j]; To[i]=j; To[h]=h1; From[h1]=h; hj=i; while (j!=h) { h1=From[j]; To[j]=h1; From[j]=hj; hj=j; j=h1; } From[j]=hj; L+=d2; return true; } j=To[j]; } } return false; } public void getlength () // compute the length of the path { L=0; int i; for (i=0; i<N; i++) { L+=G.distance(i,To[i]); } } void localoptimize () // find a local optimum starting from this path { do { while (improve()); } while (improvecross()); } void randomchange (Random r) { int i=(int)(Math.abs(r.nextLong())%N); int j=(int)(Math.abs(r.nextLong())%N); if (r.nextInt()%1==0) { if (To[j]==i || j==i) return; // remove i from path L-=G.distance(From[i],i)+G.distance(i,To[i])+G.distance(j,To[j]); L+=G.distance(From[i],To[i]); To[From[i]]=To[i]; From[To[i]]=From[i]; // insert i after j From[i]=j; To[i]=To[j]; From[To[j]]=i; To[j]=i; L+=G.distance(j,i)+G.distance(i,To[i]); } else { if (i==j) return; int hi=To[i],hj=To[j]; To[i]=hj; To[j]=hi; From[hi]=j; From[hj]=i; L-=G.distance(i,hi)+G.distance(j,hj); L+=G.distance(i,hj)+G.distance(j,hi); } } } /** Show a plane graph, a path and its length. */ class Plot extends Panel { Points P=null; Path Pa=null; public PlaneGraph G; String Message=new String(""); final int col (double x) { return (int)(x*200+10); } final int row (double y) { return (int)(y*200+10); } void drawpoints (Graphics g) // draw the points { if (P==null) return; int i,c,r; g.setColor(Color.red); for (i=0; i<P.size(); i++) { c=col(P.X[i]); r=row(P.Y[i]); g.drawRect(c-1,r-1,3,3); } } void frame (Graphics g) // delete background and draw a frame { g.setColor(getBackground()); g.fillRect(0,0,size().width,size().height); g.setColor(Color.green); g.drawRect(2,2,216,216); } void drawmessage (Graphics g) // draw a message to the right of the frame { g.setColor(Color.black); if (Pa!=null) { Double l=new Double(Pa.length()); g.drawString(Message+", Length="+l.toString(),240,20); } else g.drawString(Message,240,20); } void drawpath (Graphics g) // connect the points of the graph, following the path. { if (Pa==null || P==null) return; g.setColor(Color.black); int i=0,j=Pa.To[i]; while (j!=0) { g.drawLine(col(P.X[i]),row(P.Y[i]), col(P.X[j]),row(P.Y[j])); j=Pa.To[j]; i=Pa.From[j]; } g.drawLine(col(P.X[i]),row(P.Y[i]), col(P.X[j]),row(P.Y[j])); } public void paint (Graphics g) // paint everything { frame(g); drawpath(g); drawpoints(g); drawmessage(g); } public void set (Points p) { P=p; G=new PlaneGraph(p); Integer I=new Integer(p.size()); Message=new String(I.toString()+" Points"); } public void set (Path pa) { Pa=pa; } public void clear () // remove the points and the graph. { P=null; Pa=null; G=null; } public boolean mouseUp (Event e, int x, int y) // lets the user add a new point. { x-=10; y-=10; if (x<0 || x>=200 || y<0 || y>=200) return false; Pa=null; if (P==null) { P=new Points(1); P.X[0]=x/200.0; P.Y[0]=y/200.0; } else P.extend(x/200.0,y/200.0); set(P); repaint(); return true; } } /** Contains a plot of the graph and the path, and several buttons. */ public class tsp extends Applet { Plot Plotarea; Button Clear; Button Randomize; Button Square; Button Optimize; GridBagLayout gridbag=new GridBagLayout(); int nrandom=10,niter=10,nw,nh; Random R=new Random(); TextField NSquare,NRSquare,NIterations; int maxgen=300,ngen=100; public void init () // layout the applet { Plotarea=new Plot(); Panel panel1=new Panel(); Panel panel2=new Panel(); Clear=new Button("Clear"); Randomize=new Button("Random"); NRSquare=new TextField(4); Square=new Button("Rectangle Grid"); NSquare=new TextField("",4); Optimize=new Button("Best Local"); NIterations=new TextField(4); panel1.add(Clear); panel1.add(Randomize); panel1.add(NRSquare); panel1.add(Square); panel1.add(NSquare); panel2.add(Optimize); panel2.add(new Label(" Iterations:")); panel2.add(NIterations); setLayout(gridbag); constrain(Plotarea,0,0,1,1, GridBagConstraints.BOTH,GridBagConstraints.CENTER, 1.0,1.0); add(Plotarea); constrain(panel1,0,2,1,1, GridBagConstraints.NONE,GridBagConstraints.CENTER, 1.0,0.0); add(panel1); constrain(panel2,0,3,1,1, GridBagConstraints.NONE,GridBagConstraints.CENTER, 1.0,0.0); add(panel2); } int param (String s, int d) // read a parameter named s with default value d { String h=getParameter(s); int i; try { i=Integer.parseInt(h); } catch (NumberFormatException e) { return d; } return i; } void constrain (Component c, int gx, int gy, int gw, int gh, int fill, int anchor, double wx, double wy) // helper function to handle constrains { GridBagConstraints g=new GridBagConstraints(); g.gridx=gx; g.gridy=gy; g.gridwidth=gw; g.gridheight=gh; g.fill=fill; g.anchor=anchor; g.weightx=wx; g.weighty=wy; gridbag.setConstraints(c,g); } public boolean action (Event e, Object a) // react to buttons { if (e.target==Randomize) // create random points { try { nrandom=Integer.parseInt(NRSquare.getText()); } catch (Exception ex) { nrandom=param("points",20); } Points p=new Points(nrandom); showStatus(p.size()+" Points generated"); p.random(R); Plotarea.clear(); Plotarea.set(p); Plotarea.repaint(); return true; } if (e.target==Square) // create grid points { try { nw=nh=Integer.parseInt(NSquare.getText()); } catch (Exception ex) { nw=param("columns",6); nh=param("rows",6); } Points p=new Points(nw*nh); showStatus(p.size()+" Points generated"); p.square(nw,nh); Plotarea.clear(); Plotarea.set(p); Plotarea.repaint(); return true; } if (e.target==Clear) // clear all points { Plotarea.clear(); Plotarea.repaint(); return true; } if (e.target==Optimize) // try to find a global optimum { if (Plotarea.G==null) return true; showStatus("Seeking Optimum"); Path pa=new Path(Plotarea.G),pmin=null; double lmin=1e50; int count=0; getiterations(); do { pa.random(R); pa.localoptimize(); if (pa.length()<lmin-1e-10) { pmin=(Path)pa.clone(); lmin=pa.length(); pa.getlength(); Plotarea.set(pmin); Plotarea.paint(Plotarea.getGraphics()); count=0; } else count++; } while (count<niter); showStatus("Optimum after "+niter+" iterations"); return true; } return false; } public void getiterations () { try { niter=Integer.parseInt(NIterations.getText()); } catch (Exception ex) { niter=param("iterations",20); } } public String getAppletInfo() // return the information for this applet { return "Travelling Salesman by R. Grothmann"; } public String[][] getParameterInfo () // return information on its parameters { String[][] info= { {"points","int","Number of random points"}, {"iterations","int","Number tries to find the best tour"}, {"columns","int","Number ofcolumns for grid"}, {"rows","int","Number of rows for grid"} }; return info; } }
-
Jetzt gibt es WinGDB3 Version 3.50.
Sehe den ersten Post für die Highlights und die Dokumentation in das Programm für die Einzelheiten.Und Klaus: Kannst Du bitte den Titel noch einmal ändern.
Die Java-code sehe ich erst nun und werde ich mal anschauen. -
Hi, Erdward,
i run a small test with this new version an tried Option 15 together with "save original route".
As i tried to recalculate the resulting routes, i got the following error message by Mapsource (6.13.7):
"... Error getting extended point info. Id: 14286886 LblId: 4294967295 ExtId: 3658589 Opts: 2052 Error code: 3 ..."Without "save original route" it's ok.
One thing i actually not understand is, the original route has 20 via points, but the converted only 19. Any kind of optimization ?cheers Gert
-
Datenschutz ist uns & Euch wichtig, daher verzichten wir auf Bannerwerbung & Web-Analysetools! Um das Forum zu unterstützen bitten wir Euch über diesen Link: bei Amazon zu bestellen....
Für Euch ist das nur ein Klick, uns hilft es das Forum langfristig und werbefrei für Euch zu betreiben! Vielen vielen Dank... -
Hi, Erdward,
i run a small test with this new version an tried Option 15 together with "save original route".
As i tried to recalculate the resulting routes, i got the following error message by Mapsource (6.13.7):
"... Error getting extended point info. Id: 14286886 LblId: 4294967295 ExtId: 3658589 Opts: 2052 Error code: 3 ..."Without "save original route" it's ok.
Please send this route to wingdb3@gmail.com
I cannot reproduce that errorZitat
One thing i actually not understand is, the original route has 20 via points, but the converted only 19. Any kind of optimization ?cheers Gert
The original via points will only be kept when you select under "Preferences" "Retain original via points". Otherwise the number of points will be calculated from "Average distance between extra via points in km" and can result in a lower number.
-
The original via points will only be kept when you select under "Preferences" "Retain original via points". Otherwise the number of points will be calculated from "Average distance between extra via points in km" and can result in a lower number.
Ok. Thanks for this information. Meanwhile i read the helpfile. Blame on me . One who read the helpfile is in advance.Regarding this:
"... Error getting extended point info. Id: 14286886 LblId: 4294967295 ExtId: 3658589 Opts: 2052 Error code: 3 ..."It's definitely not a fault by WinGDB.
My observation that the route was ok before converting with WinGDB, must be wrong. Actually this route produces the error even without being converted by WinGDB.Sorry for wasting your time.
cheers Gert