Camping-Seite

Hallo malenki,

zum “finden”:
Vielleicht ist der Name des Links etwas ungünstig gewählt, da aber die Suche nach einem Campingplatz meist ortsbezogen ist, wüsste ich nicht was in einer Suchmaske gesucht werden sollte.

Einen Permalink gibt es, der ist unten im Infofenster ( wenn man auf die Fahne und dann auf Details klickt) und auf den gewählten Platz bezogen.
Beispiel: http://outscout.org/?id=2

Die in OSM eingetragenen Campingplätze lassen sich in der Tat nicht anklicken. Ich weiss auch nicht wie ich an die nötigen Informationen über die Plätze komme.

Den Link “finden” werde ich wohl in “Karte” oder sowas umbenennen.

Christian

Also kann man nur auf der Seite gemeldete Campingplätze verlinken.

Die kannst du aus den OSM-Daten holen, z.B. per Overpass-API: http://wiki.openstreetmap.org/wiki/Overpass_API
OSM ist keine Karte, sondern eine Datenbank.

Ich habe einmal testweise auf dem Campingplatz “Heidemühle” in Karsdorf “probiert”.

  1. Die in OSM vorhanden Campingplätze sollten schon angezeigt werden - ähnlich flosm
  2. Meist gibt es schon sehr viele Informationen zu den Campingplätzen (Campingplatz “Paulsdorf” anklicken - website, Duschen, Toiletten, Kiosk, Gastätte ,Bad, …)
  3. Diese Seite könnte ich mir als Bewertungsseite vorstellen - auch wenn ich im Formular noch einmal Dusche und Badestelle anklicken muss.
  4. Es gibt ausgewiesene Stellen zum Übernachten z.B. Bofen in der Sächsischen Schweiz - auch gibt es vielleicht Bauer, die dies erlauben. Diese Eintragungen sollten nach Möglichkeit in OSM zurück fließen.
  5. Wenn die Seite “funktioniert” könnet man den “Campingplatz” verlinken.
  6. Gut finde ich auch das “Eigentümer” selbst erstellen können.

Ich glaube ich muss hier mal erläutern was mich zu der Idee getrieben hat::
Campingplätze gibt es sehr viele, vom 5-Sterne-Platz bis zum unbekannten 0-Sterne-Platz. Viele erinnern an Laubenkolonien mitsamt Zäunen und Gartenzwergen, andere sehen eher aus wie Lastwagen-Parkplätze. Diese Plätze haben natürlich durchaus ihre Berechtigung, sind aber nicht mein Ding.
Nur auf einem kleinen Teil der Plätze fühle ich mich mit meinem kleinen Zelt wohl und gut aufgehoben.
Da ich weiss, daß es auch anderen so geht, dachte ich mir ich mache eine Seite für die “Trekker”. Ich will also gar nicht jeden Platz erfassen.

Ich werde jetzt aber mal darüber nachdenken in welcher Form ich die OSM-Plätze einbinden kann und ob ich die OSM-DB als Basis für meinen Idee verwenden kann.

@geri-oc:
Die ausgewiesenen Stellen zum Übernachten habe ich schon berücksichtigt, beim Eintragen kann man die Option “Biwakplatz” auswählen.
Und den Campingplatz kann man doch schon verlinken - mit der Permalink-Funktion.

Ich grübel jetzt erstmal ein bisschen.

Gruß
Christian

In OSM werden derzeit verschiedene Arten von Campingplätzen erfasst.

tourism=camp_site ist der allgemeine Campingplatz für Caravans und Zelte
tourism=caravan_site ist ein Stellplatz zum Übernachten, aber ohne große Infrastruktur

Caravan-Parks für Dauercamper werden manchmal mit amenity=caravan_park erfasst, ich habe dazu aber keine Beschreibung gefunden.
Pfadfinderlager sind als amenity=scout_camp oder ähnliches zu finden, derzeit noch sehr uneinheitlich.

Was macht eigenlich der Button “Finden” auf der Karte.
Geht es da nur um einen Refresh der Seite?

Walter

Hallo Walter,

der “Finden”-Button soll eigentlich die Hauptseite mit der Karte sein. Wie ich sehe ist das sehr missverständlich und ich habe das jetzt in “karte” umbenannt.

@alle
ich glaube ich mach das so:
Alle Camping-Plätze aus OSM werden angezeigt und die mit einem Eintrag auf meiner Seite bekommen ein anderes Symbol. Wenn man auf einen noch nicht bei mir eingetragenen Platz klickt, erhält man die Möglichkeit einen entsprechenden Eintrag zu erstellen.

Ich sehe da aber im Moment ein Problem:
Die overpass-api ist teilweise sehr überlastet und auch mal gar nicht erreichbar. Da dann ja beim Verschieben der Karte jedesmal die OSM-Plätze abgerufen werden müssen, kann die ganze Geschichte schnell unattraktiv werden. Oder ich lege mir eine eigene DB mit den OSM-Plätzen an.

Das ganze sprengt allerdigs mein bisheriges Konzept, und das wird jetzt erstmal ein wenig dauern (hab leider auch noch anderes zu tun).

Aber ihr habt Recht, die OSM-Plätze sollten mit rein.

Christian

Du kannst auch hier noch schauen, ob was passt:

amenity=shelter oder

waterway=biwak

Oder über einen Zusatztag “freies Zelten erlaubt”

tourism=camp_site

  • backcountry=yes
  • wie bei den Kajakfahrern schon vorgeschlagen.

Das überrascht mich sehr. Eigentlich habe ich in den letzten zwölf Monaten keine größeren Ausfälle auf der Overpass API gehabt. Kannst Du mal bitte Datum oder Uhrzeit von schwierig erreichbaren Zeiten nennen? Dann schaue ich gerne ins Logfile, was da los war.

@ Roland
Das der Server teilweise gar nicht erreichbar ist habe ich den Overpass-Seiten entnommen, und kann ich aus eigener Erfahrung nicht bestätigen.
Allerdings wäre für mich dann ja auch Abfragen wie z.B. “alle Campingplätze in Deutschland” interessant.
Folgende Abfrage würde das entsprechende Ergebnis liefern:
http://www.overpass-api.de/api/xapi?node[bbox=5.86626,47.2701,15.0418,55.0815][tourism=camp_site]

Gerade eben hat genau diese Abfrage 22 Sekunden gedauert. Das sind dann zwar auch 1957 Datensätze, aber da die Abfrage ja bei jedem Verschieben der Karte ausgelöst wird, ist das für meine Karte nicht performant genug.

Also wäre es wohl sinnvoll eine eigene Tabelle mit den OSM-Plätzen anzulegen. Für mich wäre das sowieso einfacher zu händeln.
Dazu wäre es schön alle Campingplätze dieser Welt abzufragen um sie dann in meine DB zu schreiben.
Die Abfrage http://www.overpass-api.de/api/xapi?node[tourism=camp_site] bricht aber nach drei Minuten ab.

Gibt es da eine Lösung oder muss ich die Abfragen splitten?

Christian

Ja, gibt es

http://www.overpass-api.de/api/xapi?node[tourism=camp_site][@timeout=3600]

wobei die 3600 die Anzahl in Sekunden maximaler Laufzeit ist. Ggf. muss auch der Client entsprechend konfiguriert werden.

Es deckt allerdings nicht alle Plätze ab, da viele Campingplätze auch als Ways und Relationen gemappt sind.

hi Chris,

du brauchst die OSM-Daten ja wohl nicht in Realtime, oder?

Da du dir ja bestimmt eine kleine Datenbank mit lokalen Informationen aufgebau hast, könntest du diese doch “einfach” mit den für dich wichtigen OSM-Daten erweitern und damit arbeiten.
Die OSM-Daten könntest du dir 1x pro Nacht aus einem Extrakt ( http://download.geofabrik.de/openstreetmap/europe/germany.osm.pbf ) herausfiltern.
Dadurch hast du tagsüber keinerlei Performance-Probleme durch die Overpass-Api - und wir nicht durch deine Abfragen :wink:

Gruss
Walter

Ich glaube es würde sogar reichen die DB einmal die Woche oder im Monat abzugleichen.

Bevor ich wieder in eine Sackgasse renne gleich noch ein paar Fragen:

  1. Wie kann ich denn die bei mir erfassten Daten am besten an OSM zurückgeben? Muss ich das per Hand machen?
  2. Wie bedeutend muss eine Änderung sein um sie überhaupt bei OSM zu melden?
  3. Wenn ich Fehler in der OSM-DB finde, wie zeige ich das an? Es gibt zum Beispiel einige doppelt eingetragene Campingplätze)
  4. Wenn Benutzer bei mir einen neuen Platz eintragen und ich gebe den an OSM weiter, erhalte ich dann sofort die neue ID damit ich das bei mir referenzieren kann?
  5. Kann ich einen Eintrag als “nicht bestätigt” markieren wenn ich ihn bei OSM eintrage (Ich kann ja nicht alle Plätze vorher ansehen).
  6. Und zu guter Letzt: Nerve ich mit meinen Fragen und sollte lieber erstmal in der Doku und im Forum recherchieren? :confused:

Und da sich ja jetzt hier einige der Macher eingeschaltet haben:
Mir war bis vor einer Woche noch nicht ganz klar wie komplex und ausgefeilt OSM ist.
Ihr macht da einen SUPER JOB!!! DANKE!

Christian

Wenn du die Seite aber auch für andere Leute interessant machen willst, solltest du das nicht so sehr einschränken.
Mir geht es so wie dir, kleine Plätze sind mir auch lieber. Und ich finde es toll, wenn es jetzt eine Karte gibt, wo solche Plätze zu finden sind.
Es gibt aber auch große Plätze, wo ich mit meinem Tarp gut unterkomme. Manchmal suche ich so einen Platz sogar, damit ich mal wieder warm duschen kann oder nicht selber kochen muss. So gesehen würde ich es schon besser finden, so viele Campingplätze wie möglich aufzunehmen und sie nach den Bedürfnissen der Trekker zu bewerten. Auch die nicht geeigneten Plätze sollten da auftauchen, damit man im Fall der Fälle gewarnt ist.

@kollege
Hast ja Recht, und ich bin auch schon dran. Ich muss dazu nur alles ein wenig umbauen und das dauert jetzt erstmal.

Besser wär’s. Bisherige Versuche, derlei zu automatisieren, führten stets zu Problemen, etwa mit Doppeleinträgen. Ohne Dir zu nahe treten zu wollen: bei bisher vier OSM-Änderungssätzen im Jahr 2008 traue ich Dir eher nicht zu, das automatisch hinzubekommen.

Mit melden meinst Du eintragen bzw. das OSM-Objekt bearbeiten? Da gibt es keine Untergrenze, selbst Tippfehlerkorrekturen sind durchaus üblich. Bloß “triviale” Bearbeitungen (also nur eine neue Version ohne jede Änderung) sind sehr ungern gesehen.

Was meinst Du mit anzeigen? Irgendwo den Fehler melden, damit ein OSMler ihn korrigieren möge? Dafür gibt es OpenStreetBugs. Bei einfachen Fehlern wie Doppeleinträgen, die keine Ortskenntnis erfordern, würde ich aber empfehlen, sie gleich selbst zu beheben. Es gibt weite Landstriche, da kümmert sich kein Mensch um OpenStreetBugs, sodaß Fehlermeldungen dort jahrelang versauern.

Wenn man über die API ein neues Objekt in der OSM-DB erstellt, antwortet die API mit der Nummer des neuen Objekts - also ja. Wie gesagt, möchte ich Dir aber dringend davon abraten, solche Einträge automatisch vorzunehmen. Alternativ erstellt man das Objekt mit einem der Mainstream-Editoren und schaut sich anschließend den betreffenden Änderungssatz auf der OSM-Website an, wo alle bearbeiteten Objekte mit ihren Nummern aufgeführt sind. Oder man liest die Nummer nach dem Hochladen gleich im Editor ab.

Da ist zunächst die Frage, ob und inwieweit solche Einträge überhaupt wünschenswert sind. Eine Richtschnur bei OSM lautet, daß man Dinge (nur) nach eigener Kenntnis einträgt. Wenn Du unter Deinem Benutzernamen einen Campingplatz einträgst, weil irgendjemand sagt, er sei dort, ist das problematisch, und fällt im Zweifelsfall auf Dich zurück. Du solltest zumindest prüfen, ob der Eintrag plausibel ist: also mindestens im Luftbild schauen, ob der Fleck tatsächlich nach Campingplatz aussieht. Und ggf. den angegebenen Namen etc. übernehmen, wenn Du Deinen Website-Nutzern hinreichend vertraust (und sie darauf aufmerksam gemacht hast, daß ihre Einträge in der OSM-DB landen und sie keinesfalls Informationen aus fremden Quellen kopieren sollen).
Für “bitte kontrollieren” gibt es fixme-Tags, also fixme=/sinnvolle Problembeschreibung/. Derlei nun aber gleich an jedes hochgeladene Objekt zu hängen, halte ich für kontraproduktiv. Es haben schon Leute flächendeckend etwa Briefkästen mit fixme=“bitte Leerungszeiten eintragen” und dergleichen versehen. Das wird dann eher ignoriert bzw. kurzerhand gelöscht. Also fixme-Tags lieber nur verwenden, wenn einzelne Eigenschaften fragwürdig sind und sich die Zweifel konkret benennen lassen.

Danke Oli-Wan,

klingt alles plausibel und logisch. Und ich möchte Dir/Euch hiermit versichern, dass ich mir allergrösste Mühe geben werde nichts kontraproduktives zu tun. Darum meine Fragen.

Und noch zwei Fragen zu Overpass:

  1. Wenn ich eine Abfrage mit [newer= …] mache, bekomme ich dann nur neue Einträge oder auch Änderungen zurück?
  2. Gibt es eine sinnvolle Reihenfolge der Argumente im Query? Wie arbeitet Overpass die Argumente ab?

Gruß
Christian

Ich wolle dich auch nicht antreiben. Ist ja noch ein wenig hin, bevor die Saison wieder richtig losgeht :laughing:
Wenn es dieses Wochenende nicht regnet, wird bei mir dieses Jahr wohl campingtechnisch endgültig mit einer Biwaktour abgeschlossen. :sunglasses:

Das schließt alle Objekte ein, deren Zeitstempel neuer ist, d.h. sowohl geänderte als auch neue Objekte. Das einzige, was zur Differenzbildung dort fehlt sind gelöschte Objekte.
Dafür würden sich im Prinzip die Augmented Diffs eignen, aber der Anwendungfall, nach Tags zu filtern, ist dort noch in Entwicklung.

Von Semikolon zu Semikolon. Das ist beim Zugriff mit XAPI-Syntax allerdings nicht zu sehen. Dort ist die Reihenfolge der Klauseln effektiv egal.
Tatsächlich führt die Overpass API die verschiedenen Klauseln verschränkt aus, z.B. wirkt eine kleine Bbox (unter 1x1 Grad) immer als erstes vor allen Tag-Kriterien, egal wo sie steht.
So liegt die Laufzeit zweier kombinierter Klauseln sehr häufig noch unter der Laufzeit beider Klauseln einzeln.

So, da bin ich wieder.
Die Seite ist im Moment offline, da ich gerade am Umstellen bin.

Auf der Suche nach dem tag tourism=camp_site bin ich nun bei nodes, ways, relations und areas fündig geworden.

Ich bin nun dabei die Daten so aufzuarbeiten, dass die nodes nur übernommen werden, wenn sie nicht Teil eines way oder einer relation sind, Das Selbe mit den ways in Bezug auf die relations. Danach versuche ich aus den Nodes eines ways bzw. einer relation den Mittelwert zu ermitteln und das dann so in meine Karte einzubinden.
Oder ist das viel zu kompliziert gedacht?

Wo ich jetzt noch nicht ganz durchsteige sind die Areas.
Mit folgender Abfrage bekomme ich zwar alle Areas mit dem Tag tourism=camp_site inkl. der relations, ways und node. Aber da fehlt noch die Verknüpfung zwischen den areas und dem Rest.

<osm-script element-limit="1073741824" timeout="3600">
  <union into="_">
    <query into="_" type="area">
      <has-kv k="tourism" v="camp_site"/>
    </query>
    <area-query from="_" into="_" ref=""/>
  <recurse type="node-relation" into="rels"/>
  <recurse type="node-way"/>
  <recurse type="way-relation"/>
  </union>
  <print/>
</osm-script>

Wie Ihr bestimmt merkt steige ich da noch nicht ganz durch und taste mich durch rumprobieren ran.

Noch was:
Ist es möglich bei der Abfrage eines Nodes gleich zu erfahren in welchem Land er liegt?

Gruß Christian

Die Seite ist jetzt wieder online - mit OSM-Plätzen.
Da sich einiges geändert hat, habe ich einen neuen Thread gestartet:
=> http://forum.openstreetmap.org/viewtopic.php?id=19393