Code Monkey home page Code Monkey logo

pse13ss13-app's People

Contributors

floscher avatar lootwitch avatar mstumpp avatar teiesti avatar themk avatar tkey99 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

tkey99

pse13ss13-app's Issues

Tile-Downloader

Erstelle eine Kapselung, die es ermöglicht, Kacheln bei Netzwerkverbindung vom Server zu holen.
Falls vorhanden sollen stattdessen Offline-Kacheln verwendet werden.

Zu viele WPs im RouteView

Beim einfügen von zu vielen wegpunkten im routeview schieben sich die unteren buttons aus der view

Grafik

Generelle Verbesserungen an den Menüs
Neue Grafiken
Neue Schriftart
Übersetzungen
User Interaktionen Testen
Alerts hinzufügen

Implementieren der Komponente client.view.map

Die MapView-Komponente implementieren.

Ziele:

  • Anzeige von Bildern (Bildgröße = Bildschirmgröße abzgl. Leisten), die von außen geschickt werden (updateMapImage() und updateRouteOverlayImage())
  • Entgegennehmen von MotionEvents und weiterleiten an Listener

Erweiterung Dijkstra's Algorithmus mit Arc-Flags

Erweitere die bestehende Implementierung des Dijkstra's Algorithmus mit Arc-Flags.

Es wird benötigt:

  • Komponente (z.B. Kommandozeilen-Tool) für Vorverarbeitungen auf dem OSM-Graphen; dies beinhaltet die Graph-Partitionierung mit METIS und die Berechnungen der arc-flags an den Kanten des OSM-Graphen
  • Anpassung des Dijkstra's Algorithmus, so dass die arc-flags bei der Kurze-Wege-Berechnung berücksichtigt werden

Implementieren der Komponente client.model.routeclient

Implementiere die Routenkomponente.

Ziele:

  • Interface RouteInfo
  • Klasse Route, die RouteInfo implementiert

Anmerkung:

Hier werden viele der Datenstrukturen aus shared verwendet.
@themk: Kannst gerne auch mit den Datenstrukturen anfangen und anschließend die Routen.

Implementieren der Komponente preprocessor.model.osm

Ermögliche das Einlesen von *.osm.pbf-, sowie *.osm-Dateien als Java-Objekte.

Ziele:

  • Einlesen der OSM-Datei
  • Validitätsprüfung
  • Schreiben der Graph-Datei (mithilfe von GraphDataIO)
  • Schreiben der LocationData-Datei (mithilfe von LocationDataIO)

Implementieren der Komponente client.model.util

Implementiere die Utility-Klassen.

Ziele:

  • CoordinateUtility für Koordinaten-Berechnungen (Umrechnung Display-/Geo-Coordinate, Distanz, Größe des Android-Display [vmtl. ohne Leisten])
  • TileUtility für die Umrechnung der Tilekoordinaten (siehe http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames#Java)
  • CoordinateNormalizer (ehemals Projection) für Projektion einer Koordinaten auf den Graphen
  • TextToSpeechUtility nur, um eine Instanz der Klasse TextToSpeech von Android vorzuhalten

Proaktives TileCaching

Vorausschauendes herunterladen von Kacheln.
Kacheln, die noch außerhalb, aber in der Nähe des dargestellten Bereichs sind, sowie aus den beiden "angrenzenden" Zoomleveln herunterladen, bevor diese überhaupt beim TileFetcher angefragt werden

Filtern von OSM-Elementen

Erstelle eine Struktur, die es ermöglicht, aus den eingelesenen OSM-Elementen (Nodes, Ways, Relationen) diejenigen eines bestimmten Typs herauszufiltern.

Implementieren der Komponente client.model.sensorinformation

Implementiere die Komponente, die auf die Android-Sensoren zugreift.

Ziele:

  • Interfaces PositionListener, SpeedListener, CompassListener existieren
  • PositionManager, SpeedManager und CompassManager empfangen Werte von den Sensoren des Androiden und leiten diese an die jeweiligen Listener weiter

Benennung der Branches

Vorschlag:
Warum benennen wir die Branches nicht danach, was wir in Ihnen ändern (z.B. "android-map", "gui", "tiles", ...)? Der Vorteil läge darin, dass die Arbeit weniger nach Personen, sondern eher nach Aufgaben unterteilt wird.
Das würde meiner Meinung nach Teamarbeit fördern.

Dieses Verfahren wird so auch bei den Entwicklern von github.com praktiziert:
https://help.github.com/articles/what-is-a-good-git-workflow

Wer von euch befürwortet das? Einfach abhaken:

Konzept zur Berechnung / Verarbeitung der "Kanten-Badness"

Entwickle ein Konzept für die Annotation der Kanten des OSM-Graphen mit einem oder mehreren "Badness"-Werten (im folgendem "Individual Egde Badness"-Werte genannt). (mehrere => ein "Individual Egde Badness"-Wert für jeden zu unterstützenden "OSM-Objekt-Typ").

Die Berechnung der "Individual Egde Badness"-Werte könnte analog zum Arc-Flags Verfahren im Rahmen eines Vorverarbeitungsschritts erfolgen. Dabei wird die Umgebung einer jeden Kante des OSM-Graphen nach dem Vorhandensein von "OSM-Objekt-Typen" untersucht und die Kante dann entsprechend annotiert.

Bei der Rundkurs-Routen Berechnung könnte dann, entsprechend der vom Benutzer angegebenen Wunsch OSM-Objekt-Typen, ein "Total Edge Badness"-Wert aus den (eventuell gewichteten) "Individual Egde Badness"-Werten berechnet werden.

Der "Total Edge Badness"-Wert dient als Grundlage für die Priorisierung der Candidate Rundkurs-Routen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.