Rolle rückwärts mit den Clubs

Vor knapp 12 Jahren ging es los: Zwei heute immer noch aktive Internet-Foren wurden von mir installiert. Eins von beiden, der Linux-Club, startete ziemlich schnell durch.

Das andere, der Geoclub, damals noch Geocache-Forum genannt, wuchs etwas langsamer, dafür aber viel gewaltiger. So gewaltig, dass zu den Spitzenzeiten um 2010 herum ein dedizierter Server angeschafft und kurz später noch mal upgegradet werden musste.

Mittlerweile hat die Kannibalisierung des Internets (die Großen fressen die Kleinen) hier auch zugeschlagen, Foren werden den Weg der vergessenen Newsgroups gehen und die Kommunikation sich immer mehr auf Fratzenbuchgruppen und andere soziale Medien verlagern.

So lange die Einnahmen aus den Werbebannern noch die Ausgaben für Domains und Server überstiegen konnte mir das alles recht egal sein. Seit einiger Zeit ist das nicht mehr so, und das obwohl ich schon knapp einhundert Domains gekündigt habe, die sich im Laufe der Zeit so angesammelt haben.

Auch die immer notwendig werdenden Adblocker (deren Verwendung ich völlig verstehen kann!) tragen ihren Teil dazu bei. Das ist für mich alles völlig in Ordnung und war absehbar, es wird aber Zeit wieder abzurüsten und aufzuräumen mit all den kleinen Projekten und Domains.

Ab August wird also von dem was ich bisher online hatte nicht mehr viel übrig bleiben: Neben diesem Blog hier vermutlich nur noch der Linux-Club, die grüne Hölle und die Linupedia. Die Podcast-Episoden des Cachertalk versuche ich hier im Blog unterzubringen. Während des Umzugs gibt es Statusmeldungen auf Twitter von mir.

Koordinaten umrechnen in R

Vor knapp 10 Jahren (also in Computerzeitrechnung vor einer Ewigkeit) habe ich hier Excel-Tabellen gezeigt um Koordinaten zwischen verschiedenen Bezugssystemen umrechnen zu können.

In der letzten Zeit musste ich mich viel mit R beschäftigen. R erlebt derzeit eine immense Verbreitung, es ist eine einfache Programmiersprache die viel für Statistik verwendet wird. Man kann damit beachtliche Datenmengen umrechnen und analysieren. Eine große Sammlung an Packages mit denen die Sprache für den jeweiligen Zweck erweitert wird ermöglicht unter anderem auch das Rechnen mit Koordinaten.

Wie schön und einfach das geht kann ich hier an einem Beispiel aus der grünen Hölle zeigen. Zunächst einmal verwenden wir die Bibliotheken "sp" für räumliche Objekte und "geospehere" für geodätische Hauptaufgaben auf dem Ellipsoid.

library("sp")
library("geosphere")


Anschließend machen wir zwei Vektoren für die beiden Koordinaten, die in unterschiedlichen UTM-Zonen vorliegen, und erzeugen sogenannte SpatialPoints daraus:

a=cbind(710482,5654109)
ap=SpatialPoints(a, CRS("+proj=utm +zone=32"))
b=cbind(289511,5654098)
bp=SpatialPoints(b, CRS("+proj=utm +zone=33"))


Hier könnten es auch ganz andere Koordinaten sein, also z.B. Gauß-Krüger oder Soldner, das muss dann nur bei der Erzeugung der SpatialPoints angegeben werden. Die Umrechnung in ein gemeinsames Bezugssystem ist nun äußerst einfach und mit je einem Befehl erledigt:

ae=spTransform(ap, CRS("+proj=longlat +ellps=WGS84"))
be=spTransform(bp, CRS("+proj=longlat +ellps=WGS84"))


Dabei wäre auch die Angabe der beliebten EPSG-Codes möglich (also in diesem Fall EPSG:4326). Für alle die sich mit Geocaching beschäftigen: Das sind die Koordinaten so wie sie dort verwendet werden, also Länger und Breite auf dem Ellipsoid.

Danach kann man sehr einfach mit diesem Koordinaten rechnen, also z.B. den Abstand und den Richtungswinkel:

d=distVincentyEllipsoid(ae,be)
print(d)
b=bearing(ae,be)
print(b)


Auch die bei Geocachern beliebte Waypoint-Projektion (die eher ein polares Anhängen ist) kann man so einfach durchführen.

Fastfood an der Autobahn fürs Garmin

So langsam wirds draußen wieder wärmer und es gibt die eine oder andere Strecke auf der Autobahn zurückzulegen. Schön auch dass die großen Fastfood-Ketten dort auch ihren Platz gefunden haben, mit bekannten Produkten zu zivilen Preisen. Gerade beim Geocaching hat die "Goldene Möve" schon fast Tradition.

Nur die Suche nach dem nächsten Fastfood ist gar nicht so einfach: Das Navi kennt natürlich alles, aber schlägt sortiert nach Entfernung vor. Ich suche in diesen Fällen aber in der Nähe einer der nächsten Autobahn-Abfahrten, also z.B. einen Autohof der nicht so weit ab von der Autobahn-Abfahrt liegt.

Hier war also eine neue POI-Datei fürs Garmin gefragt. Wer nur die POI haben will, kann hier die Datei motorway_fastfood.gpi herunterladen und einfach in den POI-Ordner kopieren.

Um die Fastfood-POI an der Autobahn aus der OpenStreetMap abzuleiten, verwende ich in diesem Beispiel einen deutschen Auszug der OSM, der mit osm2pgsql in eine PostGIS-Datenbank eingespielt wurde.

Alle Fastfood-Läden sind einfach selektiert:

select osm_id, way as coords, name from planet_osm_point where amenity='fast_food'
union
select osm_id, st_centroid(way) as coords, name from planet_osm_polygon where amenity='fast_food';


Auch die Autobahnen liegen hier bereits vor:

select ref, way from planet_osm_roads where highway='motorway'


Beides wird mit einem "spatial join" den PostGIS anbietet verknotet. Man kann mit dem "on" nicht nur Schlüssel matchen wie sonst in SQL üblich, sondern auch einen maximalen Abstand abfragen. Komplett sieht die Abfrage dann so aus:
copy (
select distinct on (osm_id)
st_x(st_transform(poi.coords,4326)) as lon, st_y(st_transform(poi.coords,4326)) as lat, concat(bab.ref,' ',poi.name) as name
from (
select osm_id, way as coords, name from planet_osm_point where amenity='fast_food'
union
select osm_id, st_centroid(way) as coords, name from planet_osm_polygon where amenity='fast_food'
) as poi
inner join (
select ref, way from planet_osm_roads where highway='motorway'
) as bab
on st_distance(bab.way,poi.coords)<400 order by osm_id
) to '/tmp/motorway_fastfood.csv' CSV header;


Damit werden die Daten auch gleich in eine CSV-Datei kopiert, die dann noch mit GPS-Babel auf der Shell in ein Garmin-taugliches GPI-File mit einem Burger als Signatur konvertiert werden kann:
wget http://openclipart.org/image/800px/svg_to_png/9075/Gerald_G_Fast_Food_Lunch_Dinner_%28FF_Menu%29_1.png -O motorway_fastfood.png

convert motorway_fastfood.png -compress none -type truecolor -resize 18x18 motorway_fastfood.bmp

gpsbabel -c utf8 -i unicsv -f "motorway_fastfood.csv" -o garmin_gpi,category="fastfood",bitmap="motorway_fastfood.bmp",position -F "motorway_fastfood.gpi"


Einen Haken hat die Sache noch: In großen Städte sind an den Abfahrten in der Stadt sehr viele Fastfood-POI die natürlich eigentlich nicht die gesuchten sind, weil sie sich nicht für die kurze Pause eignen. Für mich ist das kein Problem weil ich diese POI-Sammlung ohnehin nur in weniger dicht besiedelten Gebieten benötige.

Update: Ein erster Praxistest ergab, dass die SQL-Abfrage mit den Ausfahrten nicht so günstig war und daher wird nun rund um die Autobahn an sich gesucht. Sehr schön dass man im Nüvi damit jetzt auch nach dem Namen der Autobahn suchen kann auf der man gerade fährt!

Die Erstellung dieser POI-Datei ist gleichzeitig auch ein schönes Beispiel wie man allgemein POI aus der OpenStreetMap aufs Garmin bekommen kann. Lasst mich in den Kommentaren wissen wie Ihr mit der Datei zurecht kommt!

Frosch-Post aus Seattle

Da freut sich aber der Ingress-Frosch: Groundspeak bedankt sich für meinen sportlichen Einsatz bei der Wahl zum Geocacher des Monats mit einem kleinen Geschenk-Package.

Der Brief aus Seattle war heute mittag in meiner Mailbox im Hauseingang. Mit dabei war Kermit, ähh, Signal der Frosch, in Form der 2012er Lackey Geocoin, der sofort der Bosch'schen Perforationskunst unterzogen wurde. So kann ich meine neue Frosch-Geocoin an die Kette (oder besser den Lanyard) legen.

Es wurde auch langsam Zeit, meinen 17er Schlüssel den ich seit einigen Jahren auf Events ausführe durch einen Frischen zu ersetzen.

GST049

Passend zu meiner neuen Freizeitbeschäftigung ein grüner Frosch. Perfekt. Der wird heute abend auf Mic@'s Seifenblasen-Event sofort eingeweiht.

Geocaching und Ingress

"Spielen Sie da dieses Geocaching?" will der Polizist wissen, der grad mit seinem Kollegen in sein grün-weißes Spielmobil steigt. "Nein, den Nachfolger!" kommt es aus der Gruppe der Frösche. Allgemeines Gelächter.

Wir stehen in Neukölln an einem Cafe Achteck, die Portale sind in etwa die Locations, die drei "K", wie man sie auch vom urbanen Geocaching kennt: Kirchen, Kunstwerke und hier auch mal das Alt-Berliner Klohäuschen. Nur muss man diesmal nichts anfassen, bis auf 30 Meter rangehen reicht schon.

Frösche und Schlümpfe nennen sich die Parteien gegenseitig. Ingress, das neue große Ding von Google, mit dem vom WLAN bis zur Fußgängergeschwindigkeit alles erhoben und der Internet-User mehr an Dienste von Google plus bis zum Google calendar gebracht werden soll. Dafür kostet es nichts, außer dass man sich selbst datentechnisch nackig machen muss: Das App will alles, von GPS-Position über Netzwerkzugang bis zu Zugriff auf soziale Kontakte.

Der Vergleich vom Geocaching und Ingress hinkt aber, das ist wie mit den Äpfeln und Birnen. Apropos Äpfel, man braucht ein Android-Smartphone dafür. Wer noch keins hat, holt sich ein Tablet, wenn es das Budget für Spielsachen zulässt. Eine App für iOS dürfte noch auf sich warten lassen. Wer keinen vernetzten Androiden hat, muss schon deswegen erstmal weiter Plastikdosen im Dreck suchen.

Also hab ich mir vor zwei Wochen so ein Nexus 7 geholt, als mir zum Geburtstag ein Invite-Code für Ingress zugestellt wurde. Geocaching ist eh tot, es wurde Zeit für das persönliche Technologie-Update. Also nicht dass Geocaching keiner mehr spielt, ganz im Gegenteil, und ich würde es im Urlaub auch noch machen, aber da tut sich nichts mehr.

Für die Generation-"i" ist es nur noch öde, Koordinaten einzutippen und sich dosensuchend zum Stadtaffen zu machen. Worin zugegebenermaßen auch eine neue Perspektive für Geocaching liegen dürfte: Vielleicht findet so Geocaching zur freien Wildnis zurück, da wo kein Funkmast steht. Ich würde es mir wünschen.

Den esoterischen Hintergrund von Ingress (z.B. bei Wikipedia nachzulesen) lassen wir mal außen vor, der verwirrt nur. Es ist auch ein Spiel mit GPS, man bekommt interessante Orte zu sehen und darf die auch mehrmals aufsuchen. So oft übrigens, dass ich die ersten Tage amtlichen Muskelkater hatte. Mittlerweile spüre ich die Fitness, die das neue Spiel mir bringt. Es dürfte so der Effekt sein, den Leute beschreiben die sich einen Hund zugelegt haben.

Und nicht nur das, sondern auch neue soziale Kontakte. Wie in den alten Tagen des Geocachings, Der typischen Ingresser ist mal wieder 30-40 Jahre alt, männlich und IT-technisch interessiert, also die unvermeidlichen early Adaptors. Aber anders als beim Geocaching, wo der Nerd plötzlich mit der Anglerweste in den Wald lief, ist man hier in coolen Agenten-Outfit mit Sonnenbrille in der Stadt unterwegs. Und trifft interessante andere Agenten, teilweise alte Bekannte.

Wenn man anfängt, hat man L1 - gelesen "Level eins". Das ist sozusagen der gelbe Gürtel. Damit kann man die anderen Faction nicht so richtig angreifen, die Waffen für L1 sind ziemlich mickrig und die erstellten Portale eher schwach. Aber man kann schon mitmischen, wer hier versteht was zu tun ist kommt schnell weiter.

Vor allem wer Kontakt zu anderen Agenten findet, die ein paar Portal-Keys abgeben, die man benötigt zum verlinken von Portalen und Aufbau von Feldern, kann schnell AP (=Punkte) machen. Felder sind überhaupt das Thema, sie geben am meisten Punkte, und geht es doch um nicht geringeres als die Weltherrschaft! Was aber den Newbie eher wenig kratzt.

Im Laufe von L5 oder L6 ändert sich dann die Strategie. Außerdem stellt man spätestens dann den an sich recht guten Sound des Spiels aus. Vor allem beginnt man mehr Punkte durch Zerstörung zu machen, und natürlich an dem Aufbau von Feldern mitzuarbeiten. Es liegt in der Natur der Sache, dass die Gegner sich das nicht lange bieten lassen. Sie rücken nicht etwa morgen an, sondern innerhalb der nächsten Minuten.

So ist was eben noch grün war, jetzt schon wieder blau. Der Feind hat alles kaputtgemacht, was man grad schön aufgebaut hat. Hier lernt man auch, dass dies Teil des Spiels ist. Das muss so sein, sonst könnte es ja nicht weitergehen. Solche Zerstörung ist überhaupt kein persönlicher Angriff (wer sich beim Geocaching schon über eine kritische Note ärgert, ist bei Ingress pauschal falsch)

Die gegnerischen Angriffe sind eine Möglichkeit wieder zurückzuschlagen. Allein hat man hier keine Chance, daher am besten mit dem lokalen Clan. Die Intel-Karte zeigt in Echtzeit den Verlauf des Lokalderbies, schnell verabredet, konzertierte Attacke, und danach ein Bier in der nächsten Kneipe. Oder aus dem Rucksack, weil vorsorglich gleich mitgebracht. Wo auch der externe Akku-Pack liegt, denn neben XM (die Lebensenergie im Spiel) ist auch der reale Ladezustand ein limitierender Faktor.

Der schwarze Gürtel ist dann L8, im Spiel dunkelviolett, hier gehts dann nicht mehr weiter. Die Absicht ist, der Gier nach immer mehr AP ein Ende zu setzen, weil es keinen höheren Level zu erreichen gibt. Wesentliche Aufgabe ist dann, den neu rekrutierten Agenten über die ersten Level zu helfen. L8-Agenten suchen sich dann außerdem neue Herausforderungen, liefern sich dann eigene Schlachten, z.B. zu einem bestimmten Zeitpunkt ein Territorium zu besetzen.
tweetbackcheck