codeforkarlsruhe / farmshops.eu Goto Github PK
View Code? Open in Web Editor NEWKarte von Hofläden, Milchautomaten und anderen Direktvermarktern
Home Page: https://farmshops.eu
License: MIT License
Karte von Hofläden, Milchautomaten und anderen Direktvermarktern
Home Page: https://farmshops.eu
License: MIT License
Ähnlich wie bei wo-ist-markt.de könnte man z.B. eine "jetzt gerade geöffnet" funktion hinzufügen.
Diese Bibliothek könnte dabei hilfreich sein:
https://github.com/opening-hours/opening_hours.js
Für eine Sortierung und einige andere Ideen wäre es Sinnvoll die verschiedenen Marker Typen (Hofladen, Automat, Markt) auf jeweils eine eigenen Layer zu packen und diese in einer Layergroup zusammen zu fassen.
Dadürch könnte man:
-in den Clustern leichter Statistik anzeigen (siehe #28 )
-nur einen Teil der Informationen anzeigen (mit Checkboxen)
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.
Aus irgendeinen Grund funktioniert das Try-Catch für die Öffnungszeiten nicht immer, hier z.B. nicht:
https://acme.im/direktvermarkter/#49.00865,8.37582,18z
https://farmshops.eu/#49.00896,8.37555,18z
Bei diesem Popup gibt es einen Fehler weil die Bibliothek PH nicht kennt.
Siehe #34
Also bei mir (acme.im
) kommt in der Console
"uncaught exception: Country code missing which is needed to select the correct holidays (see README how to provide it)"
Lt. der opening_hours documentation README.md, steht da drin
nominatim_object (optional, type: object or null): In order to calculate the correct times for variable times (e.g. sunrise, dusk, see under Time ranges) the coordinates are needed. To apply the correct holidays (PH) and school holidays (SH) the country code and the state is needed.
Somit sollte das nominatim_object noch initialisiert werden und dann solltes es wieder funktionieren.
it would be nice to have a multilingual version either by detecting the browser locale or by choosing from a menu, at least for the description of popup fields.
I understand that the translation of values is more problematic, but since they are in English, this can probably be done later.
I'm available to translate somes strings for e.g. in French
Öfter sind Adressen richtigerweise nicht mit addr:street, sondern mit addr:place erfasst. Im Moment wird in den Popups dann "undefined" angezeigt. In diesen Fällen sollte entsprechend addr:place statt addr:street zur Anzeige verwendet werden.
Funktioniert nicht:
https://www.farmshops.eu/
Funktioniert
https://farmshops.eu/
von: https://github.com/CodeforKarlsruhe/farmshops.eu
Webseite: https://www.farmshops.eu/
Mirror: https://codeforkarlsruhe.github.io/farmshops.eu
mfg
Gregor
Direktvermakter > Direktvermarkter
steps to reproduce:
This behavior can even be observed with mobile device simulation in recent desktop browsers.
expected output/behavior:
Independent of the screen size the popup should be opened for the user to see its content. Maybe scroll bars should be available to allow scrolling of large content inside the popup.
analysis:
The reason is the height of the popup being too large for your screen's available height. Due to automatic panning the marker is moved out of the screen triggering the event to hide the popup again.
Hence, not only landscape mode is affected but the issue could also be triggered by popups with many details to be displayed in portrait mode on screens with low vertical resolution, such as of older smartphones.
Could you also grab a historic tag on any and give them a special flag on their icon?
Momentan werden die Daten über folgende Abfrage auf overpass-turbo.eu agbefragt:
[out:json][timeout:25];
// gather results
(
// query part for: “vending=milk”
node["vending"="milk"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
way["vending"="milk"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
relation["vending"="milk"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
// query part for: “shop=farm”
node["shop"="farm"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
way["shop"="farm"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
relation["shop"="farm"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
// query part for: “vending=food”
node["vending"="food"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
way["vending"="food"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
relation["vending"="food"](48.52388120259336,7.6519775390625,49.66407240384585,9.53887939453125);
);
// print results
out body;
>;
out skel qt;
Hi,
kann es sein, daß POIs mit mehren Werten unter "vending=" nicht beachtet werden, auch wenn "food" Bestandteil der Liste ist?
Das sollte m.E funktionieren.
https://www.openstreetmap.org/node/5638001165
Gruß
Stephan (tux67)
Ich fände es praktisch, wenn man eine druckbare Karte erstellen könnte, die z.B. Direktvermarkter bei sich aushängen könnten und auf die Möglichkeiten im Umfeld hinweisen könnten. Oder man bringt so eine Karte mal einem Bekannten mit, der die Möglichkeiten noch nicht so kennt.
Als Layout könnte ich mir vorstellen, dass man einen Standort hervorheben kann, wenn man möchte. Der muss nicht zentriert sein, um die Fläche effizient zu nutzen. Drumherum werden die anderen Icons platziert und verschoben. Mit Icons die nur gerade sind, wird es vielleicht nicht so einfach. Im Anhang ist ein verschobenes Icon als Beispiel, das ich mit GIMP erstellt habe. Vielleicht ist es möglich mit einem vektorisiertem Icon zu arbeiten oder automatisiert eine Reihe von unterschiedlich stark verschobenen Icons zu erstellen, die dann eingebunden werden.
Die Icons sollten nummeriert sein oder der Eigenname des Hofladens/Marktes/Automaten sollte beim Icon stehen und unter der Karte oder auf einer extra Seite sollte eine alphabetisch sortierte und nach Kategorien getrennte (mehrspaltige) Liste mit Details sein.
Eine andere Variante ohne schräge Icons wäre, wenn ich ein Gebiet und einen Standort wählen und eine mögliche Seitenzahl angeben könnte (z.B. 1-4) und dann einen Zoom ausgewählt bekomme, bei dem alles drauf ist. Vielleicht könnte man auch eine Möglichkeit bieten, dass bis zu z.B. 10% der Icons zusammengefasst sein können, wie wenn man aus der Karte rauszoomt. Dadurch bestimmen nicht 2 zusammenliegende Icons den Zoomfaktor.
Eine weitere Möglichkeit für die Auflistung der Adressen wäre ein Index sortiert nach Planquadraten, z.B. B7 Markt Karlsruhe Ost, C2 Markt Karlsruhe West A1 Hofladen Kartoffeln, Xstr. 1; B4 Imker I, Bienenweg 2; Gemüse-Hofladen Meyer, Grünstr. 13.
Vielleicht kann man für so ein Projekt auch Fördergelder abgreifen z.B. zur Förderung von ländlichen Regionen oder zur Stärkung der Selbstvermarktung von Bauernhofprodukten.
sollten das CSS anpassen. Vermutlich reicht ein einfaches overflow:hidden beim Popup-DIV.
Momentan werden die Daten mit einer langen Reihe von .replace()-Funktionen übersetzt. Das ist v.a. bei kurzen Wörtern wie "no" nicht praktikabel, weil die Zeichenkette in vielen anderen Wörtern vorkommt. Deswegen wäre auf lange Sicht eine andere Art zu Übersetzen sinnvoll.
c332b12
in der Funktion markerTypen() in direktvermarkter.js werde ich nach und nach versuchen genauere Informationen zu den Clustern darzustellen.
Wäre es möglich ein Feature einzubauen ,so daß man nach Bio filtern kann? Als mögliche Werte denke ich an Egal(Alle anzeigen), auch(es wir beides angeboten), nur (es wird nichts konventionelles angeboten).
Es gibt immer mehr Nachfragen, ob wir nicht noch mehr Regionen unterstützen können. Durch die Automatisierung in #6 rückt das in Realisitische Nähe. Ich dachte für den Anfang an ein Dropdown Menu ähnlich wie bei https://wo-ist-markt.de, dass zwischen verschiedenen Datenbeständen wechselt.
Die Frage ist in welchen Einheiten man die Karte einteilt. Hofläden gibt es v.a. in der Umland von Städten, vielleicht sind Großräume, Bundeländer oder Landkreise eine Sinnvolle Einteilung
Spätestens wenn Märkte und details zu den Automaten hinzukommen reicht ein einfacher Buchstaben im Pin nicht mehr aus. Icons sind da leichter verständlich. Mögliche Quellen.
https://thenounproject.com/
https://mapicons.mapsmarker.com/
http://mapkeyicons.com/
Any thoughts about supporting 1 phone of the place? That can really drive commerce if people can see the farm.
This issue is in english to make colaboration with the team of StreetComplete easier. It is a app that sends it users on quests to find out things about incomplete parts of Openstreetmap. The app is perfect for our map.
https://github.com/westnordost/StreetComplete/blob/master/CONTRIBUTING.md
Es wäre besser für den Benutzer wenn die Karte sich automatisch auf den aktuellen Standort fokussiert und nicht auf Karlsruhe. Dies kann über eine Berechtigungsabfrage im Browser o.Ä. geschehen.
Auch wäre es meines Erachtens nach sinnvoll, eine Suchfunktion für Standorte einzubauen.
Folgende Tags könnte man potentiell auch noch verwenden:
amenity=marketplace (mit Verweis auf wo-ist-markt.de im Popup?)
shop=greengrocer
Es gab auch Nachfragen hinsichtlich Fischerreiverkäufe und den kaum benutzten und nicht dokumentierten Tag shop=stall für Verkaufsstände.
Die Karte springt oft beim Öffnen eines Pupups, was irgendwie unschön ist. Eine einfache Lösung dafür könnte dieses Plugin bieten:
eigenes CSS oder plugin
Hi,
Bei einer fast schon 3MB farmshopGeoJson.js File sollten wir langsam nach einer Möglichkeit suchen, eine Nodes Query API zu bauen. Gerade für mobile Endgeräte die vllt. keinen Breitband Anschluss haben.
Mein Braindump dazu wäre:
Leaflet hat ein Beispiel Cluster, wo 10000 Nodes geclustert werden, die Json Datei dazu ist nur 380KB groß.
Deshalb würde ich für die Simple API, das Desgin genauso wählen, mit dem Zusatz welches property
wir haben:
var addressPoints = [
[-37.8839, 175.3745188667, "relation/6800433","farm"],
[geo, geo, "id","property"],
Dann würde ich der id nach Ordner anlegen:
relation/6800433
in diese Ordner würde ich dann json files ablegen:
relation/6800433/detail.json
Wenn nun jmd die Karte lädt, lädt er erstmal die KB große farmshopGeoJson.js.
Wird nun auf ein PopUp geklickt, lädt er dann die Datei aus dem entsprechenden Ordner nach.
Ich würde Elasticsearch favorisieren, da diese Daten im JSON Format annimmt und auch Informationen in Geo Koordinaten speichern und Suchabfragen mittels Boundingboxes möglich sind.
Da Elasticsearch eine REST API direkt anbietet, könnte man dann mit Ajax entsprechende Abfragen bauen.
Weitere Ideen?
Moin,
ich bin auf euch über den rc3 gekommen und ich habe Fragen.
Warum pflegt ihr hier eure eigene Datenbasis, wenn es schon einen Datentopf für genau diese Daten gibt, die leichter gepflegt werden können und teilweise auch aktueller sind?
Klingt für mich wie doppelte Arbeit bei der Pflege.
Siehe https://farmshops.eu/, die haben auch direkte Links zum Bearbeiten in OSM, falls man einen Fehler sieht.
Viele Grüße aus Hamburg
Die Rohdaten enthalten nicht nur Punkte, sondern auch Polygone, meistens der Grundriss eines Gebäudes. Diese Daten werden leicht übersehen, und sollten besser auch als Punkt dargestellt werden.
farmdirectory.agriculture.ny.gov bietet ein vollständiges Verzeichnis aller Farmen im US-Bundesstaat New York (20.000.000 Einwohner). Bitte fügen Sie diese Daten zu farmshops.eu hinzu, was eine viel bessere Benutzererfahrung bietet.
Es ist möglich über eine API Notizen auf OSM zu senden.
Auf Reddit habe ich diesen Tipp bekommen:
"Hier der passende API-Aufruf: https://wiki.openstreetmap.org/wiki/API_v0.6#Map_Notes_API
Du könntest schauen, wie www.openstreetmap.org das selber macht oder auf die Schnelle hab ich noch das hier gefunden: http://osmlab.github.io/osm-note/#2/-0.2/0.2 "
Oft werden Bahnhofsautomaten fälschlicherweise mit vending food eingetragen (richtiger wäre snacks). Da es bei diesen Automaten ein Monopol von der Firma Selecta gibt könnte man einen großteil der falsch eingetragenen Automaten ausschließen indem man diesen Operator herausfiltert.
Es wäre sicher Sinnvoll ein Menu, z.B. dieses hier https://github.com/Turbo87/sidebar-v2 zu verwenden und dort ein Paar Details zur Datenpflege auf OSM zu dokumentieren. Außerdem kann man dort auf verwandte Projekte wie wo-ist-markt.de oder mundraub.org verlinken.
Hallo,
der Standard-Hintergrundlayer "Wikipedia Kartenstil" lädt bei mir (und anderen, mit denen ich vor ein paar Wochen über die Karte gesprochen habe) in vielen Fällen nicht richtig. Einzelne Kachelanfragen bekommen einen Statuscode 429 zurückgeliefert. Das passiert schon beim ersten Aufrufen der Seite, mal sind mehr, mal weniger Kacheln betroffen, aber insgesamt ist dieser Layer für mich nicht nutzbar.
“Karte auf aktuelle Position zentrieren” wollte bei mir nicht:
Log: A Geolocation request can only be fulfilled in a secure context.
In der URL-Zeile stand nur
farmshops.eu/#49.31528,14.19846,9z, was HTTP ohne S bedeutet.
Weil ich natürlich selbst gestartet bin mit “farmshops.eu"
Könnte die Webseite per default automatisch auf HTTPS gehen?
-karlos-
p.s.: Ich habe eure Karte auch in meine Map OSMgo.org eingebaut, ok?
p.p.s: Es sind mir zu viele Marker auf eurer, man sieht die Map zu wenig.
Please add the 813 farms from the data source: https://www.nofavt.org/farms-producers/map
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.