Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Möglichkeit Daten einzutragen #43

Open
stefangrotz opened this issue Jul 7, 2018 · 10 comments
Open

Möglichkeit Daten einzutragen #43

stefangrotz opened this issue Jul 7, 2018 · 10 comments

Comments

@stefangrotz
Copy link
Member

Ein immer wieder gewünschtes Feature ist eine Möglichkeit Daten in die Karte eintragen zu können. Dafür gibt es (bzw. kenne ich) zwei fertige Lösungen:

  1. https://github.com/mapcontrib/mapcontrib
    funktioniert ohne Backend aber ermöglicht es nur eine Note die von Mappern zu einem richtigen Eintrag in der Karte verwandelt werden muss.

  2. https://github.com/mapcontrib/mapcontrib
    Vollwertige Eintragung bestimmter Punkte. läuft als Docker Container oder Server-Anwendung.

Ich würde mapcontrib bevorzugen, da es sich leicht in die bestehende Karte einbinden lässt.

@stefangrotz
Copy link
Member Author

stefangrotz commented Jul 7, 2018

mapcontrib liegt jetzt unverändert auf https://farmshops.eu/contribute

Todo:
-texte Anpassen (in progresss)
-Karte auf Mitteleuropa zentrieren (erledigt)
-Sprache standardmäßig auf Deutsch stellen, andere Sprachen raus nehmen, die wir nicht anpassen können (erledigt) erst mal nur Deutsch
-Detailfelder für unsere Zwecke anpassen -> Kommentarfeld hinzufügen
-externe Abhängigkeiten ins Repository ziehen
-Am Ende vom Menü hin verlinken oder die Seite als Overlay einbinden
(Todo: responsive Overlays recherchieren)

@h8h
Copy link
Contributor

h8h commented Jul 11, 2018

Toll,

man könnte es auch ohne Server machen mit JavaScript, da gibt es den id, das ist jetzt ein kompletter Editor.

Das nutzt wiederum die osm-auth, auch etwas mit JavaScript.

Ein möglicher Plan:

  • Auf der bestehenden Karte die PopUps mit einer Detailansicht ausstatten, ähnlich wie bei Wheelmap und darin dann Bearbeiten erlauben
  • Beim neu erstellen, auch auf eine Detailansicht gehen, wo man den Marker dann auf einer Karte setzen kann, oder sich der Marker bei Eingabe der Adresse automatisch setzt

Die Pläne lassen sich vermtl. auch mit mapcontrib umsetzen. Ich schau mir mapcontrib auf jeden Fall mal an.

@stefangrotz
Copy link
Member Author

stefangrotz commented Jul 12, 2018

Hey, ID gefällt mir gut, läuft lokal sofort ohne Probleme. Man bräuchte dafür einen node-fähigen Server, aber den bekommt man schon. (notfalls über die OKNFN, die stellen gerne Server für Projekte)

Meiner Meinung nach müsste man vor Allem extrem viele Features aus dem Editor entfernen um die Leute nicht zu überfordern. Zumindest die Setzbaren Tags würde ich komplett herunter kürzen und nur noch die für uns relevanten Tags drinnen lassen. Idealerweise hätte man nur noch eine Karte auf der man Punkte setzen und Tags von vorhandenen Punkten bearbeiten kann.

EDIT: man könnte auch für den Anfang ohne eigenen Service die URL-Struktur von OSM nutzen und zumindestens zur aktuellen Position auf osm im Editiermodus springen (mit einem einfachen Edit auf OSM Button)

https://www.openstreetmap.org/edit#map=19/50.22922/10.86703

Leider kann man scheinbar nicht auf einen bestimmten Node im Editiermodus springen. Aber dann würde es einen EDIT-auf OSM-Button für die aktuelle Kartenansicht geben Plus die Möglichkeit im Popup zum gewünschten Node zu springen.

Daher mein Plan im Moment:

Schritt eins: zwei Buttons "Auf OSM editieren" und "Eintrag vorschlagen" (nach /contribute) oben links auf die Karte stellen

Schritt zwei: eine bessere Lösung bauen/vorhandene Lösungen für uns anpassen.

@nrenner
Copy link

nrenner commented Jul 14, 2018

  1. https://github.com/mapcontrib/mapcontrib
  2. https://github.com/mapcontrib/mapcontrib

"1." sollte vermutlich https://github.com/osmlab/onosm.org sein ("mapcontrib" unten auch)?

Hab gesehen, der onosm Note Text wurde angepasst, damit kann man die Notes auch filtern, z.B. mit:
https://ent8r.github.io/NotesReview/?query=farmshops.eu&limit=100&start=true&map=6%2F50.7990%2F12.2168

Man bräuchte dafür einen node-fähigen Server

Ich meine iD benötigt keinen speziellen Server, das npm start ist nur für die lokale Entwicklung.

iD auf openstreetmap.org

Man kann schon ein Objekt übergeben, das dann ausgewählt ist, z.B.:
https://www.openstreetmap.org/edit?editor=id&node=4438118889

siehe https://github.com/openstreetmap/iD/blob/master/API.md#id-on-openstreetmaporg-rails-port

Zum Aufruf mit dem aktuellen Kartenausschnitt gibt es z.B. auch ein Leaflet Plugin:
https://github.com/yohanboniface/Leaflet.EditInOSM

@stefangrotz
Copy link
Member Author

stefangrotz commented Jul 15, 2018

Sehr interessant danke, insbesondere die Möglichkeit Notes zu filtern. Ich bin heute unterwegs und schreibe heute Abend noch mal mehr dazu.

EDIT:

Zum Aufruf mit dem aktuellen Kartenausschnitt gibt es z.B. auch ein Leaflet Plugin:
https://github.com/yohanboniface/Leaflet.EditInOSM

Sehr cool, auch wenn das Plugin selbst mittlerweile veraltet ist. (evtl mache ich da mal einen Pull Request mit den aktuellen Links) Es gibt aber die Möglichkeit eigene URLs einzufügen, d.h. man könnte auf den aktuellen Kartenausschnitt auf OSM verlinken und zu farmshops.eu/contribute
Als Linktexte würde Ich "Auf OSM bearbeiten" und "Eintrag Vorschlagen" in die Runde werfen.

Hab gesehen, der onosm Note Text wurde angepasst, damit kann man die Notes auch filtern, z.B. mit:
https://ent8r.github.io/NotesReview/?query=farmshops.eu&limit=100&start=true&map=6%2F50.7990%2F12.2168

Das nehme ich in die FAQs ins Seitenmenü auf, für Leute die helfen möchten. Ist auch eine gute Möglichekeit zu testen wie sehr die Funktion genutzt wird. (bisher gibt es nur eine Notitz, die nicht ich eingetragen habe)

Man kann schon ein Objekt übergeben, das dann ausgewählt ist, z.B.:
https://www.openstreetmap.org/edit?editor=id&node=4438118889

Daraus würde ich dann einen richtigen EDIT-Button in den Popups realisieren, momentan gibt es ja nur einen Link auf das Objekt auf OSM. Diesen Link würde ich weiterhin behalten, der unschöne lange Text unten würde ich mit einem Button ersetzen und evtl einem Einzeiler, dass es ein wenig dauern kann bis die Daten abgeglichen sind.

@stefangrotz
Copy link
Member Author

Erster Schritt: a73f050
Buttons im Seitenmenü, statt einem unübersichtlichen Text

@stefangrotz
Copy link
Member Author

stefangrotz commented Jul 16, 2018

Ich habe jetzt auch Bearbeiten-Button in den Popups, aber habe den Link auf /edit? wieder reverted. Leider haben nicht alle feature.id Werte die gleiche Länge, deswegen kann man nicht einfach den Anfang (z.B. way/12345 bzw. node/12345) abschneiden um an die ID zu gelangen. Deswegen erst einmal nur wie gehabt der Link aufs Objekt nur jetzt im Button. Ein lösbares Problem, aber ich muss mir halt noch mla die Zeit dafür nehmen.

EDIT: mit feature.id.substring(str.indexOf("/") bekommt man die ID, aber dann muss man immer noch nodes und ways unterscheiden, dafür braucht es eine eigene funktion. Alternativ könnte man auch einfach das / mit einem = austauschen und schon passt die URL.

EDIT2: mit replace("/","=") funktioniert es: b54023e

@h8h
Copy link
Contributor

h8h commented Jul 16, 2018

Also für die Nominatim habe ich folgende ID erstellen müssen

    // Input node/123457890
    // Capitalize first letter and concat digits
    // Result osm_type+osm_id = N12345789
    var osm_ids = feature.id.split('/');
    var osm_type = osm_ids[0][0].toUpperCase();
    var osm_id = osm_ids[1];

Ich denke solche IDs können wir benutzen, als Detailansicht.

Hier könnte man sich Deep - Links von Javascript zu nutzen machen

https://url/#details/N12345689

Sobald Javascript "details" liest, versucht es die ID zu parsen und einen entsprechenden Detail Ansicht mit JSRender zu erstellen.

Ich versuche die Woche noch den anderen Branch, Master Ready zu bekommen.

@ENT8R
Copy link
Contributor

ENT8R commented Aug 17, 2018

Hi, ich finde die momentane Lösung mit onosm.org eigentlich super, weil es dann immer noch mal eine Instanz gibt, die sich die Daten, die hinzugefügt werden sollen, anschauen und überprüfen kann und ggf. auch noch andere, weitere Tags, die während einer weiteren Recherche gefunden werden hinzugefügt werden können.
Würde man einen kompletten Editor wie iD für diesen Zweck benutzen, hat man m.E. eigentlich nur meherere Nachteile anstatt Vorteile:

  • iD wird dauernd weiterentwickelt (fast jeden Monat kommt eine neue Version heraus), irgendjemand muss dann auch hier diesen Editor "up-to-date" halten
  • solche Editoren erfordern immer ein gewisses Hintergrundwissen, oder dass der Nutzer sich zumindest schon einmal eine Anleitung zu OSM durchgelesen hat. Wenn man wirklich nur ein oder zwei Läden/Automaten auf der Karte sehen will und danach seinen OSM-Account nie wieder benutzen wird, ist dass eigentlich nur ein vermehrter Aufwand für den Nutzer
  • des weiteren wurden bis heute gerade einmal 7 Notizen erstellt (und alle bis auf eine wurden auch relativ schnell abgearbeitet). Wenn man also ab und zu mal ein Auge auf die vorhandenen Notizen wirft, und auch ein paar hinzufügt, sind auch diese Läden innerhalb weniger Tage auf der Karte zu sehen.

Insofern wäre es meiner Meinung nach ein viel zu großer Aufwand (für so wenig Notizen) einen kompletten Editoren einzubinden. Zumal dies den normalen Nutzer, der keine Ahnung und noch nie etwas von OSM gehört hat, nur verwirren würde und dann im Endeffekt doch keine Daten hinzugefügt werden (was natürlich schade wäre, wo man sie durch einen anderen Weg ganz einfach hinzufügen könnte 😄)

@stefangrotz
Copy link
Member Author

Hey, im Moment bin ich mit der aktuellen Lösung auch ganz zufrieden, weil es jeden die Möglichkeit gibt etwas einzutragen und gleichzeitig dazu animiert sich mit OSM zu beschäftigen, wenn man es schneller eingetragen haben möchte. Und ich bekomme über die Einträge eine kleine Statistik darüber, ob die Seite benutzt wird. (ich erhebe sonst keine Nutzerdaten)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants