... the user friendly GPS tool


Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
mehrere Touren gleichzeitig anzeigen lassen
#11
(24.10.2012, 13:42)EddiVonDerAlm Wrote: Das Problem mit dem IE könnte man ja dahingehend beheben, dass nicht mehr von Javaseite direkt die Linienteile erstellt werden, sondern dass man vom Javascript die Daten vom Java abholt. Damit ließe sich die Zeilenlängenbegrenzung umgehen.

Du hattest ja damit herumgespielt und ich hatte auch erwogen, Deine Änderungen zu übernehmen. Das Problem ist jedoch nicht die Zeilenlängenbegrenzung sondern zwei andere Effekte:
  • der Internet Explorer wird mit der Google Maps API ab einer gewissen Anzahl an Polylines/Markers/Directions instabil: entweder crasht er oder es wird einfach nichts gezeichnet
  • bei recht vielen Mac OS X und ein paar Prozent der Windows-Rechner schafft es der Browser nicht, den Java-Callbackport zu erreichen, so daß ich ein Polling eingebaut habe, um die nervigen Fehlersuchen zu eliminieren

Aus JavaScript die Daten von Java abzuholen ist m.E. nicht das Problem:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
  • wie wählt der Nutzer aus, welche Positionslisten er anschauen möchte? einfach alle anzuzeigen funktioniert nicht für alle Dateien; bislang habe ich dazu nicht eine Idee gelesen
  • was passiert, wenn der Nutzer einen Wegpunkt auf der Karte auswählt? umschalten der Positionsliste rechts auf die Positionsliste, die den Wegpunkt enthält?
  • wie unterscheidet man Wegpunkte/Tracks/Routen aus unterschiedlichen Wegpunktlisten auf der Karte?
  • wie stabil ist der IE, wenn plötzlich Polylines/Markers/Directions parallel benutzt werden?
  • welche Datenmengen verkraftet der IE dann?
  • wer optimiert das ganze für große Zahlen: 100 Positionslisten, 700000 Positionen?

(24.10.2012, 13:42)EddiVonDerAlm Wrote: Wäre es nicht sinnvoll, dass man die Polylines statt in einzelnen Elementen in eine encoded Polyline verpackt und dann als eine einzelnes Objekt auf die Karte bringt?

In der Hoffnung, dadurch mehr Positionen auf eine Karte bringen zu können?

Übrigens habe ich gerade einen längeren Thread zur akkuraten Darstellung auf der Karte am Laufen. Das wird bei vielen Positionslisten problematisch.
--
Christian
Reply
#12
(24.10.2012, 19:59)routeconverter Wrote:
(24.10.2012, 12:43)IlmariKrebs Wrote: Solltest Du das wirklich angehen wollen, [..]

Du hast "ein bis zwei Monate Vollzeit" gelesen, oder? Ich komme im Moment gerade dazu, alle Anfragen zu beantworten und Bugfixes zu machen. Das wird nicht passieren.

Drum bin ich ja beim Konditional geblieben. Lesen kann ich und verstehen tu ich das auch. Bei den Dingen die ich so programmiere ist es auch so, dass ich mit Wünschen konfrontiert werde die ich dann erst nach langer Zeit realisiere weil sich dann ein Fenster auftut und die notwendigen Grundlagen gelegt sind. Meiner Meinung ist es besser alle Wünsche auf den Tisch zu legen, ob und wann solche Dinge realisiert werden steht immer auf einem anderen Blatt. In dieser Hinsicht habe ich keine Erwartungshaltung dass Du meine Vorschläge realisierst. Es ist Dein Projekt und Deine Freizeit die Du hierfür investierst.

Grüße,
Ilmari
Reply
#13
Hallo,

nur so als Idee am Rande: Vielleicht würde es auch Sinn machen, dass man eine zusätzliche Applikation macht, die am Anfang nur mehrere Tracks anzeigen kann. Die würde auf Teile des RC zurückgreifen (Lesen der Daten usw.) und man könnte die Probleme ohne gleich auf Bedienkonzepte einzugehen ausprobieren.

Wenn alles funktioniert, so kann man entscheiden, ob man das in den RC überführt, oder in diesen "RC-2" langsam alle anderen Features hinein merged.
Ausserdem hätte ich auch 2 Anwender, die immer nur kucken und die Daten überhaupt nicht verändern wollen. So ein Viewer-Programm wäre für diese ideal. Big Grin

Gruß
Thomas
Reply
#14
(25.10.2012, 09:52)lundefugl Wrote: nur so als Idee am Rande: Vielleicht würde es auch Sinn machen, dass man eine zusätzliche Applikation macht, die am Anfang nur mehrere Tracks anzeigen kann. Die würde auf Teile des RC zurückgreifen (Lesen der Daten usw.) und man könnte die Probleme ohne gleich auf Bedienkonzepte einzugehen ausprobieren.

Hallo Thomas,

mit dem Ansatz schiebst Du die größten Probleme vor Dir her in der Hoffnung, daß sie sich irgendwie schon lösen lassen, oder?
--
Christian
Reply
#15
Hallo Christian,

(25.10.2012, 11:25)routeconverter Wrote:
(25.10.2012, 09:52)lundefugl Wrote: nur so als Idee am Rande: Vielleicht würde es auch Sinn machen, dass man eine zusätzliche Applikation macht, die am Anfang nur mehrere Tracks anzeigen kann. Die würde auf Teile des RC zurückgreifen (Lesen der Daten usw.) und man könnte die Probleme ohne gleich auf Bedienkonzepte einzugehen ausprobieren.

mit dem Ansatz schiebst Du die größten Probleme vor Dir her in der Hoffnung, daß sie sich irgendwie schon lösen lassen, oder?

eigentlich ist genau das Gegenteil der Fall.

So wie ich es verstanden habe, gibt es zwei Arten von Problemen: technische und zeitliche (Aufwand)

Die technischen Probleme, auf die du nur begrenzt Einfluß hast, könnten mit einem "RC-2" abgeklopft und ggf. gelöst werden.
Das wären:

(24.10.2012, 20:17)routeconverter Wrote:
  • der Internet Explorer wird mit der Google Maps API ab einer gewissen Anzahl an Polylines/Markers/Directions instabil: entweder crasht er oder es wird einfach nichts gezeichnet
  • bei recht vielen Mac OS X und ein paar Prozent der Windows-Rechner schafft es der Browser nicht, den Java-Callbackport zu erreichen, so daß ich ein Polling eingebaut habe, um die nervigen Fehlersuchen zu eliminieren
  • wie stabil ist der IE, wenn plötzlich Polylines/Markers/Directions parallel benutzt werden?
  • welche Datenmengen verkraftet der IE dann?

Alles andere Dinge bedeuten in meinen Augen eigentlich nur Aufwand und damit viel Zeit:

(24.10.2012, 20:17)routeconverter Wrote:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
Das bedeutet sicher gewisse Änderungen in der Datenstruktur des RCs. Soetwas im lebenden System umzubauen ist extrem schwer, da man den Überblick leicht verliert. Der Weg über eine andere Application oder nenn sie auch Migratioin-Branch hat sich in meiner Praxis dabei bewährt. Man kann dann einfach Feature für Feature herüberziehen ohne den Überblick zu verlieren.

(24.10.2012, 20:17)routeconverter Wrote:
  • wie wählt der Nutzer aus, welche Positionslisten er anschauen möchte? einfach alle anzuzeigen funktioniert nicht für alle Dateien; bislang habe ich dazu nicht eine Idee gelesen
Das ist sicher einfach nur eine Frage der Definition. Da ich die Oberfläche des RCs für übersichtlich halte, würde ich da auch nichts ändern.
Meine Idee dazu wäre, ein Contextmenü auf der derzeitigen Auswahlbox für die zu editierende Positionsliste zu machen. Menüpunkte: "alle einblenden", "alle ausblenden", "benutzerdefiniert Auswahl". Bei letztem Punkt ginge ein Popup auf, wo man dann seine Auswahl treffen kann. Ggf. kann man dort auch die Farbe der Linien ändern.

(24.10.2012, 20:17)routeconverter Wrote:
  • was passiert, wenn der Nutzer einen Wegpunkt auf der Karte auswählt? umschalten der Positionsliste rechts auf die Positionsliste, die den Wegpunkt enthält?
  • wie unterscheidet man Wegpunkte/Tracks/Routen aus unterschiedlichen Wegpunktlisten auf der Karte?
Das ist alles nur eine Definitionssache. Ob automatisch umgeschaltet werden soll oder nicht, würde ich über eine versteckte Option konfigurierbar machen. Falls der Bedarf besteht, kann man auch ein Menü dafür machen.
Die Unterscheidung der unterschiedlichen Tracks usw. würde ich einfach per Farbe machen. Alles was nicht angewählt ist hat eine andere Farbe als die selektierte Liste. Über den oben beschrieben Dialog notfalls änderbar.
Die reinen Anzeige-Dinge (Auswahl, Farbe) könnte man auch schon im "RC-2" ausprobieren.

(24.10.2012, 20:17)routeconverter Wrote:
  • wer optimiert das ganze für große Zahlen: 100 Positionslisten, 700000 Positionen?
Den Punkt würde ich vorerst ausklammern. Der RC ist das mir momentan einzigste Programm, was wirklich mit den riesigen Datenmengen umgehen kann. Wer solche Daten hat, der wird dann auch über entsprechende Hardware verfügen - wie hat er denn sonst die Dateien erzeugt. Wink
Die Zeit arbeitet in dem Fall bestimmt auch für dich.

Im Moment hab ich auch immer den Eindruck gehabt, dass ich ein Exot auf dem Gebiet bin. Gibts denn so viele User, die solche Datenmengen haben ?

Ausserdem muss er ja dann nicht alles anzeigen. Wichtig wäre in meinen Augen nur, dass es keine festen Limite im RC für die Daten gibt und der RC nicht abstürzt.
Und sollte ich meine 2 Mio. Punkte Datei komplett anzeigen wollen, dann wäre mir schon klar, dass das haken kann.


Gruß
Thomas
Reply
#16
(24.10.2012, 20:17)routeconverter Wrote:
  • der Internet Explorer wird mit der Google Maps API ab einer gewissen Anzahl an Polylines/Markers/Directions instabil: entweder crasht er oder es wird einfach nichts gezeichnet
Zeichnet man die Linien als encoded Polyline wäre es ja nur ein einzelnes Element was zusätzlich dazu käme

(24.10.2012, 20:17)routeconverter Wrote:
  • bei recht vielen Mac OS X und ein paar Prozent der Windows-Rechner schafft es der Browser nicht, den Java-Callbackport zu erreichen, so daß ich ein Polling eingebaut habe, um die nervigen Fehlersuchen zu eliminieren
Konntest Du mal danach suchen was das Problem sein könnte? Es kann ja eigentlich nicht sein, dass man es nicht erreicht. Kein Webseite die AJAX aufrufe macht könnte sonst funktionieren. Als Probleme kommen doch eigentlich nur die Firewall oder irgendwelche Browsersicherheitsregeln in betracht.

(24.10.2012, 20:17)routeconverter Wrote:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
Ich würde auch weiterhin nur das ändern einer Positionsliste erlauben. Die anderen würde ich lediglich anzeigen.

(24.10.2012, 20:17)routeconverter Wrote:
  • wie wählt der Nutzer aus, welche Positionslisten er anschauen möchte? einfach alle anzuzeigen funktioniert nicht für alle Dateien; bislang habe ich dazu nicht eine Idee gelesen
Eine Idee wäre, dass in der jetztigen Trackauswahl zusätzlich eine Checkbox eingeblendet wird um die Tracks zu markieren.

(24.10.2012, 20:17)routeconverter Wrote:
  • was passiert, wenn der Nutzer einen Wegpunkt auf der Karte auswählt? umschalten der Positionsliste rechts auf die Positionsliste, die den Wegpunkt enthält?
  • wie unterscheidet man Wegpunkte/Tracks/Routen aus unterschiedlichen Wegpunktlisten auf der Karte?
Ich würde erstmal nur eine Anzeige zulassen. Edition immer nur der aktuell rechts sichtbaren Einträge. Ich weiß nicht wie die Anforderungen bei anderen Usern ist, mir würde es aber reichen.

(24.10.2012, 20:17)routeconverter Wrote:
  • wie stabil ist der IE, wenn plötzlich Polylines/Markers/Directions parallel benutzt werden?
  • welche Datenmengen verkraftet der IE dann?
  • wer optimiert das ganze für große Zahlen: 100 Positionslisten, 700000 Positionen?
Bei Tracks sollte es kein Problem sein, eine Encoded Polyline pro Track. Schwieriger wird es bei Routen. Diese müsste man erst einmal durchrechnen (lassen) und dann als Encoded Polyline anzeigen. Bei den Wegüunkten fällt mir nur ein Clusterer ein, der diese Arbeit übernimmt.

(24.10.2012, 20:17)routeconverter Wrote:
(24.10.2012, 13:42)EddiVonDerAlm Wrote: Wäre es nicht sinnvoll, dass man die Polylines statt in einzelnen Elementen in eine encoded Polyline verpackt und dann als eine einzelnes Objekt auf die Karte bringt?

In der Hoffnung, dadurch mehr Positionen auf eine Karte bringen zu können?
Ja
Reply
#17
(25.10.2012, 17:37)lundefugl Wrote: Im Moment hab ich auch immer den Eindruck gehabt, dass ich ein Exot auf dem Gebiet bin. Gibts denn so viele User, die solche Datenmengen haben ?

Ich hatte schon einige Mailthreads in diese Richtung, wo Nutzer ihre komplette mehrwöchige Reise mit einem GPS-Logger aufgezeichnet haben.
--
Christian
Reply
#18
(26.10.2012, 13:06)EddiVonDerAlm Wrote:
(24.10.2012, 20:17)routeconverter Wrote:
  • bei recht vielen Mac OS X und ein paar Prozent der Windows-Rechner schafft es der Browser nicht, den Java-Callbackport zu erreichen, so daß ich ein Polling eingebaut habe, um die nervigen Fehlersuchen zu eliminieren
Konntest Du mal danach suchen was das Problem sein könnte? Es kann ja eigentlich nicht sein, dass man es nicht erreicht. Kein Webseite die AJAX aufrufe macht könnte sonst funktionieren. Als Probleme kommen doch eigentlich nur die Firewall oder irgendwelche Browsersicherheitsregeln in betracht.

Das habe ich schon versucht. Nach 20 oder 30 Nutzern habe ich dann kapituliert und das Polling eingebaut, weil ich keine Lust mehr hatte, mich mit immer denselben Problemen herumzuschlagen. Meist ist die "Gegenstelle" technisch nicht versiert und dadurch ist "Remote Debugging" für beide Seiten ziemlich anstrengend und meistens erfolglos.

Gründe für diese Probleme könnten sein
  • Personal Firewalls, die Nutzer nicht beherrschen und verstehen
  • eine verschärfte SameOriginPolicy für localhost bei WebKit und XULRunner 1.9
  • fehlerhafte localhost Auflösung
  • Default Routen die nicht auf den (DSL-)Router zeigen
  • sehr viele (>10) Netzwerkinterfaces und daraufhin interessantes Routing
  • VPN-Clients und Zwangsproxies, die allen Traffic aufs VPN-Interface routen
  • IPv4/v6 im Zusammenspiel mit Java

(26.10.2012, 13:06)EddiVonDerAlm Wrote:
(24.10.2012, 20:17)routeconverter Wrote:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
Ich würde auch weiterhin nur das ändern einer Positionsliste erlauben. Die anderen würde ich lediglich anzeigen.

Und als Nutzer klicke ich dann auf eine Position, die ist veränderbar und die nächste Position ist es nicht?

(26.10.2012, 13:06)EddiVonDerAlm Wrote:
(24.10.2012, 20:17)routeconverter Wrote:
  • wie stabil ist der IE, wenn plötzlich Polylines/Markers/Directions parallel benutzt werden?
  • welche Datenmengen verkraftet der IE dann?
  • wer optimiert das ganze für große Zahlen: 100 Positionslisten, 700000 Positionen?
Bei Tracks sollte es kein Problem sein, eine Encoded Polyline pro Track. Schwieriger wird es bei Routen.

Routen sind das Problem: da Google in der API V3 die Anzahl der Zwischenwegpunkte bei Routen von 23 auf 8 reduziert hat, läuft das jetzt schon nicht rund.
--
Christian
Reply
#19
(28.10.2012, 14:11)routeconverter Wrote: Gründe für diese Probleme könnten sein
  • Personal Firewalls, die Nutzer nicht beherrschen und verstehen
  • eine verschärfte SameOriginPolicy für localhost bei WebKit und XULRunner 1.9
  • fehlerhafte localhost Auflösung
  • Default Routen die nicht auf den (DSL-)Router zeigen
  • sehr viele (>10) Netzwerkinterfaces und daraufhin interessantes Routing
  • VPN-Clients und Zwangsproxies, die allen Traffic aufs VPN-Interface routen
  • IPv4/v6 im Zusammenspiel mit Java
Personal Firewalls sind sicher ein großes Problem, anhand des Codes vermute ich aber die SameOriginPolicy als größtes Hindernis. Du rufst die Html-Seite über "file:/.." auf. Der Callback läuft dann aber auf 127.0.0.1, da könnte es schon zu einem Problem kommen. Die Personal Firewalls regeln doch meist den Netzwerkzugriff auf Programmebene. Sollte hier etwas blockiert werden, dürfte doch eigentlich gar nichts gehen? Oder ist unter anderen OS der Zugriff der Webkomponente einem anderen Prozess zugeordnet? Die Windowsfirewall wird keine Probleme machen, da die meiner Erfahrung nach nicht reagiert, wenn man den Serverport auf den localhost bindet.

Alle anderen Möglichkeiten würde ich als sehr gering einschätzen. Da alles fest auf 127.0.0.1 zeigt, kann ich mir nicht vorstellen, dass es ein Problem mit einer falschen Localhostauflösung zu tun hat. Es wird ja nie eine Namensauflösung auf "localhost" durchgeführt (oder habe ich da etwas übersehen). Ein Ipv6 Problem könnte es nur sein, wenn nur noch IPv6 auf dem System installiert ist.

Hast Du bei irgendeinen der "Problemfällen" mal ausprobiert, dass man die "Webseite" auch über http://localhost/routeconverter.html abruft?

(28.10.2012, 14:11)routeconverter Wrote:
(26.10.2012, 13:06)EddiVonDerAlm Wrote:
(24.10.2012, 20:17)routeconverter Wrote:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
Ich würde auch weiterhin nur das ändern einer Positionsliste erlauben. Die anderen würde ich lediglich anzeigen.

Und als Nutzer klicke ich dann auf eine Position, die ist veränderbar und die nächste Position ist es nicht?
Wenn man die zusätzlich eingeblendeten Tracks farblich anders darstellt (gegraut) könnte es doch ersichtlich sein, dass man diese Strecke nicht bearbeiten kann.

Das Problem der Routen ist damit natürlich nicht gelöst.
Reply
#20
Hallo Christian,

(28.10.2012, 13:55)routeconverter Wrote:
(25.10.2012, 17:37)lundefugl Wrote: Im Moment hab ich auch immer den Eindruck gehabt, dass ich ein Exot auf dem Gebiet bin. Gibts denn so viele User, die solche Datenmengen haben ?

Ich hatte schon einige Mailthreads in diese Richtung, wo Nutzer ihre komplette mehrwöchige Reise mit einem GPS-Logger aufgezeichnet haben.

Na dann bin ich ja beruhigt, dass ich doch nicht so annormal bin. Bei mir kommen die Datenmengen auf ganz ähnliche Weise zustande - nur, dass ich gleich 2 Logger verwende. Wink

(28.10.2012, 14:11)routeconverter Wrote:
(26.10.2012, 13:06)EddiVonDerAlm Wrote:
(24.10.2012, 20:17)routeconverter Wrote:
  • das gesamte UI in RouteConverter ist darauf ausgerichtet, daß eine Positionsliste zur Zeit dargestellt und bearbeitet wird
Ich würde auch weiterhin nur das ändern einer Positionsliste erlauben. Die anderen würde ich lediglich anzeigen.

Und als Nutzer klicke ich dann auf eine Position, die ist veränderbar und die nächste Position ist es nicht?

dieses Problem sehe ich eigentlich nicht. Wenn die Linien über Farben unterschieden werden können, dann ist die Sache eindeutig. Wichtig wäre in meinen Augen nur, dass der selektierte Track immer die gleiche Farbe hat.

Bei Grafikprogrammen - wie z.B. Photoshop - wundert sich auch niemand, wenn Element nicht selektiert/bearbeitet werden können, wenn die zugehörige Ebene nicht ausgewählt wurde.

Gruß
Thomas
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)