Open stefangrotz opened 6 years ago
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)
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:
Die Pläne lassen sich vermtl. auch mit mapcontrib
umsetzen. Ich schau mir mapcontrib
auf jeden Fall mal an.
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.
"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.
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
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.
Erster Schritt: a73f050a85241324924190c90fb8c0f7f03d3666 Buttons im Seitenmenü, statt einem unübersichtlichen Text
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: b54023ed874046ed06dc8ef21c9f62e3434ac30a
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.
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:
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 😄)
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)
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:
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.
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.