Service Design - SQL GPS Setup Interaction Design

Werbung
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
Service Coding Crash Course
Willkommen zurück!
4.5 wilde Tage!
alle Aufnahmeklappen öffnen
– WIDE OPEN INPUT SENSORS
Ziel heute: SQL begreifen, eigene Tabellen vorbereiten
– Positionsverarbeitung kennenlernen, APIs finden
– Rails auf dem Compi an der Start bringen
Varianten dazu und Reflektion für eigenes Projekt
© 2012 Magnus Rembold. Alle Rechte vorbehalten
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
Arbeit mit DB Systemen
Datenbanken sind typische Client-Server Systeme
– Nutzer sitzt am Client (eigener Rechner)
– Nutzer verwendet DB-Client Programm
– YourSQL, SequelPro, etc.
– phpMySQL über Browser
– DB läuft auf Server und bedient mehrere Clients
– MySQL, Oracle, DB2, PostgreSQL, etc.
© 2012 Magnus Rembold. Alle Rechte vorbehalten
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Abfrage von Datenbanken
Durch stabilen Funktionsumfang über längere Zeit entstand
schon früh eine allgemeine Abfragesprache für Datenbanken:
SQL structured query language
Befehlssatz ist relativ reduziert und beherrschbar
– Erzeugen von Tabellen [create table ...]
– Einfügen von Zeilen in eine Tabelle [insert into ...]
– Ändern der Daten in einer Tabelle [update ...]
– Löschen von Zeilen in einer Tabelle [delete from ...]
– Abfragen von Informationen [select ... ... ... ]
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
SQL Abfrage - Der Select Befehl
Select ist der Befehl mit dem alle Varianten von Abfragen
formuliert werden. Er ist der umfangreichste und mächtigste
Befehl der Sprache. Select besteht aus mehreren Teilen
select <feldname>, <feldname, ...
from <tabellenname>, <tabellenname>, ...
where <bedingungen>
group by <feldname>, <feldname>, ...
order by <feldname>, <feldname>, ...
es gibt noch weitere Satzteile für diesen Befehl, die weniger
gebräuchlich sind. Details findet man z.B. im MySQL Manual
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
SQL Beispiele .1
Welche Leute ausserhalb der ZHdK sind als Nutzer registriert?
SELECT id, email
FROM menschen
WHERE email NOT LIKE '%@zhdk.ch'
ORDER BY LENGTH( email ) ASC
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
SQL Beispiele .2
Welcher Nutzer hat die meisten Positionsinformationen in der
Datenbank?
SELECT name, count(*) AS anzahl
FROM positionen, menschen
WHERE mensch_id = menschen.id
GROUP BY mensch_id
ORDER BY anzahl DESC
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
SQL Beispiele .3
Welcher Nutzer hat sich in der Nähe des Limmatplatz
aufgehalten und wann?
SELECT menschen.id, menschen.name, zeit
FROM menschen, positionen
WHERE latitude >48.9 AND latitude < 49.1
AND longitude> 6.9 AND longitude < 7.1
AND menschen.id = positionen.mensch_id
© 2012 Magnus Rembold. Alle Rechte vorbehalten
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Weitere Befehle für Datenmanipulation
Beispiele für Einfügen, Ändern und Löschen von Zeilen
– insert into positionen (lat, long, zeit, genau, mensch_id)
values (49.2881, 7.0123, ‘2012-05-12 10:42’, 5, 1);
– update wegstrecken set fortbewegung=”Zug” where
mensch_id=3;
– update menschen set
email=”[email protected]” where name LIKE
”%Zimmerm%“;
– delete from positionen where long>7.5000 and zeit<
‘2012-05-10 12:34’;
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
Aufgabe Tabellen
Überlegt, welche Informationen ihr aus einer gefüllten DB
abfragen wollt, wenn euer Programm einsatzfähig ist
Wie können diese Informationen durch select Statements
abgerufen werden?
Welche anderen Statements treten in eurem Programm
typischerweise auf?
Testet eure select Statements mit den Demodaten
Experimentiert mit weiteren Daten & Statements
© 2012 Magnus Rembold. Alle Rechte vorbehalten
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
...?
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Positionierung
Zentraler Aspekt TripCompanion ist Positionsbestimmung
– eigene Position
– Position von Diensten, Orten, Wegen
– Position von anderen Menschen (Freunden)
Position wird mit Koordinatenpaar auf gekrümmter Fläche
festgelegt
Position wird von Gerät ermittelt...
Aber wie?
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Navigation
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Steuermannskunst
Wirtschaftliche Vorteile
durch Seerouten
Kluge Köpfe
entwickeln Instrumente
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Sonne, Mond & ...
Sextant
Instrument zur
genauen
Positionsbestimmung
anhand Sonne,
Horizont
& Sterne
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
GPS
Global Positioning System
Satellitengestützt, 20Tkm Höhe
24 Satelliten,
60° verdrehte Ebenen,
55° zum Äquator gekippt
jeder Punkt der Erde
sieht mindestens 4 Sats
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Funktion des Sat
Versenden des Zeitsignal:
„Ich bin Satellit X, ich befinde mich an Position Y und habe
das Signal geschickt zur Zeit Z“
Atomuhr mit hoher
Genauigkeit pro Sat
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
2 Satelliten
Positionen der Sats
Laufzeiten der Signale
Position auf Erdoberfläche
Meereshöhen-Niveau
Problem:
Empfänger-Uhr
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
2 Satelliten, Fehler
Uhrenungenauigkeit
Laufzeit der Signale
~0,00000003s
1/100s Fehler
--> 3000km daneben
A echte Position
B Pseudoposition
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
3 Satelliten
Weitere Messung
eliminiert
Laufzeitfehler
A echte Position
B Pseudopositionen
4. Sat ermöglicht
echte 3D Position
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
GPS Technik
Mehrkanalfähige Empfänger (pro Sat einer)
Algorithmus und Prozessor zur Differenzenberechnung
Kleinster Chip `09
Passives System
nur Empfang,
keine Verfolgbarkeit
© 2012 Magnus Rembold. Alle Rechte vorbehalten
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Quellen
http://de.wikipedia.org/wiki/Karte_(Kartografie)
http://de.wikipedia.org/wiki/Spiegelsextant
http://www.kowoma.de/gps/Satelliten.htm
http://www.kowoma.de/gps/Positionsbestimmung.htm
http://www.geosoft-gps.de/gps_infos/info_1.html
http://www.oberlehrer.de/?p=224
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Aufgabe GPS
Recherche nach GPS Funktionen zur Positionsbestimmung
– Welche Information liefert iPhone/Android?
– Was kann man mit dieser Info anfangen?
– Wer bietet Funktionsbibliotheken für
Positionsberechnungen / Lokalisierung / Visualisierungen
an?
– Welche MapAPIs gibt es und wie sind sie sinnvoll für den
Prototyp einsetzbar?
– Wie lassen sich die MotionGPS Daten einsetzen?
Experimentiert mit den gefundenen Informationen
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
...?
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Z
hdk
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Rails Setup
Rails ist ein Framework für WebApps auf Basis eines
Webserver Programms wie Apache und der
Programmiersprache Ruby
Die einzelnen Komponenten des gesamten Frameworks sind
meist in C Code vorhanden und können auf *nix Computern
compiliert werden
Pragmatic Programmers
– bieten sehr gute PDF Bücher zum Thema
– bieten (Web-) Kurse zu RubyOnRails
– bieten Installationsanleitung als Vorbereitung
http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Service Design - SQL GPS Setup
Interaction Design - FS 2012 -10.05.2012
Z
hdk
Aufgabe Rails Setup
Bis morgen eine lauffähige Version von Rails auf dem eigenen
Compi installieren
– Ruby 1.9.3
– Rails 3.2.x
– CodeEditor (TextMate, Coda, CodeWrangler, etc.)
– Browser (Firefox, Safari, Chrome, etc.)
– Debugging Werkzeug (Firebug, WebDev Toolkit, etc.)
– Terminal Fenster...
Viel Erfolg!!
© 2012 Magnus Rembold. Alle Rechte vorbehalten
Herunterladen