Diskussion:Tourpl: Unterschied zwischen den Versionen
Aus Geoinformation HSR
Stefan (Diskussion | Beiträge) (→Input/Output) |
Stefan (Diskussion | Beiträge) |
||
Zeile 3: | Zeile 3: | ||
== Rahmenbedingungen == | == Rahmenbedingungen == | ||
− | * Python, SQLite | + | * Server: Python, SQLite |
− | * Getestet unter Firefox 3.x+4.x, IE 8+9 (später Safari). | + | * Clients: |
+ | ** OpenLayers, jQuery | ||
+ | ** Getestet unter Firefox 3.x+4.x, IE 8+9 (später Safari). | ||
* Folgende externe Webservices werden genutzt: | * Folgende externe Webservices werden genutzt: | ||
** [[Geocoding]]: Yahoo (Alternative: Mapquest) | ** [[Geocoding]]: Yahoo (Alternative: Mapquest) | ||
− | ** [[Routing]]: | + | ** [[Routing]]: OSRM [http://map.project-osrm.org/] (eine Alternative wäre MapQuest) |
+ | |||
+ | Offene Fragen: | ||
+ | * Nahe beieinander liegende Marker? | ||
+ | |||
+ | == Feature Requests / Ideen == | ||
+ | |||
+ | * Permalink als Standard "Base32, uppercase" jedoch neu mit "no padding" ("="). | ||
+ | * Geocodieren: Falls Adresse nicht erkannt wird => Grau machen und ignorieren. | ||
+ | * Marker nicht nur mit Nummer sondern neu auch mit Name beschriften | ||
+ | * Reihenfolge interaktiv festlegen, anpassen. | ||
+ | * Editieren (Druck-)Titel und -Beschreibung | ||
+ | * Speichern (Druck-)Titel und -Beschreibung | ||
+ | * Drucken (Druckansicht) | ||
+ | |||
+ | Funktionen: | ||
+ | * Print = Print View = Drucken mit Liste und Karte | ||
+ | * Neue "Session" (=> Button "Neu")? vorher noch Fragen, ob Daten nicht gespeichert werden sollen (bzw. Window verlassen). Mit JavaScript verhindern, dass der Benutzer die Seite verlässt! Fragen, ob Daten nicht gespeichert werden sollen (bzw. Window verlassen) => <script> window.onbeforeunload = function(){ return "wirklich verlassen?"; } </script> | ||
+ | * Nicht erkannte Adressen interaktive Marker in Karte setzen. | ||
+ | * Logging von "Neu erstellen Tourenplan" und von Löschen. | ||
+ | * Optionen editieren: | ||
+ | ** Mittlere Aufenthaltsdauer (Default für Dauer des Aufenthalt bei jedem Zwischenhalt, z.B. 2h) | ||
+ | ** ... | ||
+ | * Anzeige Abfahrtszeit in Adressenliste, editierbar | ||
+ | |||
+ | Ideen: | ||
+ | * Anzeigen, Auswählen und Importieren von Google-Kontakten (anstelle CSV-Upload) | ||
== Use Cases == | == Use Cases == | ||
Zeile 35: | Zeile 63: | ||
* USer: Neueinstieg über Startseite | * USer: Neueinstieg über Startseite | ||
− | + | 6. tbd. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == Spezifikation CSV-Input und -Output == |
Kolonnen/Felder für CSV-Upload/Input: | Kolonnen/Felder für CSV-Upload/Input: | ||
Zeile 100: | Zeile 103: | ||
Defaults/Annahmen (können dann im Tabellenkalkulation editiert werden): | Defaults/Annahmen (können dann im Tabellenkalkulation editiert werden): | ||
* Mittlere Dauer eines Aufenthalt bei jedem Zwischenhalt ist 01:00h | * Mittlere Dauer eines Aufenthalt bei jedem Zwischenhalt ist 01:00h | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Version vom 15. August 2011, 00:18 Uhr
Zum Tourpl-Tagesrapport.
Inhaltsverzeichnis
Rahmenbedingungen
- Server: Python, SQLite
- Clients:
- OpenLayers, jQuery
- Getestet unter Firefox 3.x+4.x, IE 8+9 (später Safari).
- Folgende externe Webservices werden genutzt:
Offene Fragen:
- Nahe beieinander liegende Marker?
Feature Requests / Ideen
- Permalink als Standard "Base32, uppercase" jedoch neu mit "no padding" ("=").
- Geocodieren: Falls Adresse nicht erkannt wird => Grau machen und ignorieren.
- Marker nicht nur mit Nummer sondern neu auch mit Name beschriften
- Reihenfolge interaktiv festlegen, anpassen.
- Editieren (Druck-)Titel und -Beschreibung
- Speichern (Druck-)Titel und -Beschreibung
- Drucken (Druckansicht)
Funktionen:
- Print = Print View = Drucken mit Liste und Karte
- Neue "Session" (=> Button "Neu")? vorher noch Fragen, ob Daten nicht gespeichert werden sollen (bzw. Window verlassen). Mit JavaScript verhindern, dass der Benutzer die Seite verlässt! Fragen, ob Daten nicht gespeichert werden sollen (bzw. Window verlassen) => <script> window.onbeforeunload = function(){ return "wirklich verlassen?"; } </script>
- Nicht erkannte Adressen interaktive Marker in Karte setzen.
- Logging von "Neu erstellen Tourenplan" und von Löschen.
- Optionen editieren:
- Mittlere Aufenthaltsdauer (Default für Dauer des Aufenthalt bei jedem Zwischenhalt, z.B. 2h)
- ...
- Anzeige Abfahrtszeit in Adressenliste, editierbar
Ideen:
- Anzeigen, Auswählen und Importieren von Google-Kontakten (anstelle CSV-Upload)
Use Cases
1. UC1 "Tour erstellen":
- User: Tourpl starten
- User: Adressliste vorbereiten (CSV-Format)
- User: Upload Adressliste
- System: Eröffnet neue Tour:
- tour_id generiert (verkürzte uuid)
- Längen- und Breitengrade ergänzt durch Yahoo Geocoding
- dann in sqlite DB persistiert
- Umleitung uf tourpl.ch/?id=tour_id (besser direkt im Pfad à la Doodle)
- Darstellung gemäss Reihenfolge Adressliste mit openlayers in Karte (Markers numerisch und mit Name) und mit JQuery in Liste
2. UC2 "Tour manuell verbessern":
3. UC3 "Tour optimieren lassen" (Prio 3)
- User: Wählt "Optimieren"
- System: Berechnet Liste neu mit TSP-Heuristik und (vorläufig) direkte Distanzen zwischen den 'Posten'.
4. UC4 "Tour download" (CVS-Datei):
- User: Wählt "Download"
- System: Defaults Start um 08:00 Uhr, Aufenthalt 1h
5. UC5 "Neue Tour eröffnen"
- User: Button "Neu"
- USer: Neueinstieg über Startseite
6. tbd.
Spezifikation CSV-Input und -Output
Kolonnen/Felder für CSV-Upload/Input:
- Kolonnen-Namen: Name; Vorname; Anrede; Adresse; PLZ; Ort; Land; Telefon; Email; Koordinaten; Bemerkungen.
- Mitzugeben sind mind. die Felder Name; sowie entweder 1. Adresse; PLZ; Ort; (ev. Land) oder 2. Koordinaten.
- Felder/Kolonnen gehen keine verloren, wenn sie wie oben angegeben heissen (Case Insensitive) - ausser die Felder 'Abfahrt' und 'Dauer'.
- Die Felder 'Abfahrt' und Dauer werden beim Druck/Download überschrieben mit neuen Tourenangaben.
- Feld-Delimiter ist Strichpunkt, Komma, oder Tab. Strings-Delimiter ist Anführungszeichen.
- Die Reihenfolge der Kolonnen ist irrelevant.
- Für den mehrmaligen Upload, sollte der Upload/Import zusätzlich imstande sein, wie folgt mit dem Input umzugehen:
- Die Kolonnen 'Abfahrt' und Dauer: Inhalt wird gelöscht und überschrieben.
- Die Kolonnen Vorname; Telefon; Email und Bemerkungen werden eingelesen und im Download wieder mitgegeben (aber noch nicht angezeigt).
- Zeilen, die aus weniger als drei Werte in den Kolonnen haben, werden ignoriert. Das betrifft konkret auch die Wegbeschreibung (vgl. dort) des Outputs.
Kolonnen/Felder für CSV-Download/Druckansicht:
- Alle eingelesenen Kolonnen. Reihenfolge der Kolonnen...
- Kolonnen-Namen: Abfahrt; Dauer; Name; Vorname; Anrede; Adresse; PLZ; Ort; Land; Telefon; Email; Koordinaten; Bemerkungen.
- Der Feld-Delimiter ist Strichpunkt. Strings-Delimiter ist Anführungszeichen (später als Option?).
- Das Feld 'Abfahrt' enthält die Tageszeit-Angabe, wann die Tour weitergeht zum nächsten Zwischenhalt.
- Das Feldformat für Koordinaten ist WKT.
Beispiel für CSV-Upload/Input:
Adresse ;Ort ;PLZ ;Land ;Name "Oberseestr. 10" ;"Rapperswil" ;8640 ;"Schweiz" ;"HSR" "Jonastrasse 8" ;"Wald ZH" ;8636 ;"Schweiz" ;"Schreinerei" "Roosstrasse 53" ;"Wollerau" ;8832 ;"Schweiz" ;"Conrad Electronic"
Beispiel für CSV-Download/Druckansicht mit Wegbeschreibung (man beachte auch neue Reihenfolge der Kolonnen!):
Abfahrt;Dauer;Name ;Adresse ;Ort ;PLZ ;Land ;Vorname; Anrede; Telefon; Email; Bemerkungen; Koordinaten 08:00;01:30;"Schreinerei" ;"Jonastrasse 8" ;"Wald ZH" ;8636;"Schweiz"; ; ; ; ; ;"POINT(47.27613,8.91014)" 09:30;00:30;"Abfahrt nach Rapperswil";;;;;;;;; 10:10;00:10;"HSR" ;"Oberseestr. 10";"Rapperswil";8640:"Schweiz"; ; ; ; ; ;"POINT(47.22306,8.81651)" 10:20;01:45;"Abfahrt nach Wollerau" ;;;;;;;;; 12:05;00:40;"Conrad Electronic" ;Roosstrasse 53" ;"Wollerau" ;8832;"Schweiz"; ; ; ; ; ;"POINT(47.18978,8.72249)" 12:45;00:00;"Rückfahrt nach Start" ;;;;;;;;;
Defaults/Annahmen (können dann im Tabellenkalkulation editiert werden):
- Mittlere Dauer eines Aufenthalt bei jedem Zwischenhalt ist 01:00h