You are not logged in.

#1 2020-09-11 08:02:23

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

[erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Ich betreibe zwei Karten auf uMap
Herkunft und Verbleib der Bewohner von Krasna
Origin and whereabouts of the citizens of Krasna 

Bisher aktualisieren ich die Dateien per manuellem Import einer csv-Datei.

Im Importmenü von uMap gibt es die Option "Ausgelagerte Dateien"
    URL: ................
    Format: csv utf-8

Wie handhabe ich dies?
Einfach die bisherige csv-Datei öffentlich ablegen und in uMap verlinken?

Last edited by Otto Riehl (2020-09-12 10:05:58)

Offline

#2 2020-09-11 08:30:02

geri-oc
Member
From: Sachsen
Registered: 2011-03-21
Posts: 5,055
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Otto Riehl wrote:

Wie handhabe ich dies?
Einfach die bisherige csv-Datei öffentlich ablegen und in uMap verlinken?

Einfach einmal mit einer "unsagbaren" Datei probieren.
Du hast doch jetzt auch schon eine url=* angegeben, wird die nicht genutzt?
(Funktioniert vielleicht nicht, da uMap vielleicht eine Fehlermeldung beim Abruf erhält?)

Offline

#3 2020-09-11 09:03:29

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

#geri-oc Danke.

So einfach kann es nicht sein.
Hier ein Beispiel für eine von zwei Ebenen:
https://otto-riehl.de/historicplace/uMa … mov-de.tsv

Das war eine unpräzise Frage von mir.
Pro Karte habe ich zwei Ebenen. Also müsste ich auch zwei Dateien importieren und zwei verschiedenen Ebenen zuordnen.

Offline

#4 2020-09-11 13:13:27

tudacs
Member
From: Hessen, DE, Europe
Registered: 2019-03-14
Posts: 43

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Otto Riehl wrote:

So einfach kann es nicht sein.
Hier ein Beispiel für eine von zwei Ebenen:
https://otto-riehl.de/historicplace/uMa … mov-de.tsv

Im Prinzip "funktioniert" deine Datei als "ausgelagerte Daten"-Quelle, hab das eben mal mit deinem Link ausprobiert. uMap verwendet intern csv2geojson, welches halbwegs selbständig nach Lat und Lon Feldern in den Daten sucht (Regexp in der Art von: `var latRegex = /(Lat)(itude)?/gi, lonRegex = /(L)(on|ng)(gitude)?/i;` Quelle).

Dein Webserver liefert allerdings keinen passenden "Access-Control-Allow-Origin"-Header mit aus, sodass die Same-Origin-Policy des Browsers greift und der (Cross-Origin) Request nach deiner Datei vom Browser verworfen wird (Origin: umap.openstreetmap.org, Angefragte Domain: deine eigene). Zum Umgehen kannst du entweder in uMap für die "ausgelagerten Daten" einen Proxy aktivieren, oder aber in deinem Webserver den Header setzen, für Apache z.B. via `Header set Access-Control-Allow-Origin "umap.openstreetmap.fr"` (keine Gewähr! Ich kann das im Detail erst am Wochenende ausprobieren wink :-/).

Was so noch nicht funktioniert sind die Pop-Ups: Dazu müsstest du die Pop-Up Inhalte in deinem tsv entsprechend vorbereiten und in den "richtigen" Spalten ablegen. Die Spalte "name" wird als Überschrift verwendet, die Spalte "description" wird als Beschreibung verwendet.

Pro Karte habe ich zwei Ebenen. Also müsste ich auch zwei Dateien importieren und zwei verschiedenen Ebenen zuordnen.

Hier verstehe ich nicht genau, was du meinst, da müsstest du vielleicht konkreter werden, was in den Ebenen für Daten/Objekte liegen, und was in den Dateien für Daten abgelegt sind.

Grüße
t.


„Geh nicht von Böswilligkeit aus, wenn Unwissenheit genügt" (Hanlon's Razor)

Offline

#5 2020-09-11 13:52:39

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,747

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

tudacs wrote:

Pro Karte habe ich zwei Ebenen. Also müsste ich auch zwei Dateien importieren und zwei verschiedenen Ebenen zuordnen.

Hier verstehe ich nicht genau, was du meinst, da müsstest du vielleicht konkreter werden, was in den Ebenen für Daten/Objekte liegen, und was in den Dateien für Daten abgelegt sind.

umap erlaubt das Anlegen mehrerer Daten-Ebenen. In jede Ebene können unabhängig von den anderen Daten importiert werden.
Mit dynamischen overpass Abfrage funktioniert das auf jeden Fall.

Offline

#6 2020-09-11 14:22:17

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

tudacs wrote:

Im Prinzip "funktioniert" deine Datei als "ausgelagerte Daten"-Quelle, hab das eben mal mit deinem Link ausprobiert. uMap verwendet intern csv2geojson, welches halbwegs selbständig nach Lat und Lon Feldern in den Daten sucht (Regexp in der Art von: `var latRegex = /(Lat)(itude)?/gi, lonRegex = /(L)(on|ng)(gitude)?/i;` Quelle).

Das liest sich schon einmal interessant. Schaut nach einem Plan für einen Weg aus.


Dein Webserver liefert allerdings keinen passenden "Access-Control-Allow-Origin"-Header mit aus, sodass die Same-Origin-Policy des Browsers greift und der (Cross-Origin) Request nach deiner Datei vom Browser verworfen wird (Origin: umap.openstreetmap.org, Angefragte Domain: deine eigene). Zum Umgehen kannst du entweder in uMap für die "ausgelagerten Daten" einen Proxy aktivieren, oder aber in deinem Webserver den Header setzen, für Apache z.B. via `Header set Access-Control-Allow-Origin "umap.openstreetmap.fr"` (keine Gewähr! Ich kann das im Detail erst am Wochenende ausprobieren wink :-/).

Ich habe den Webspace bei Goneo, Minden gemietet.
Mir ist nicht klar, was Du meinst.
Reicht es in dem Ordner "otto-riehl.de/historicplace/uMap/" eine Datei abzulegen, die diese Weisung enthält? (.htaccess oder eine conf)
Gib mir vor. In dem Ordner ist sonst nichts, auch keine Unterverzeichnisse.


Was so noch nicht funktioniert sind die Pop-Ups: Dazu müsstest du die Pop-Up Inhalte in deinem tsv entsprechend vorbereiten und in den "richtigen" Spalten ablegen. Die Spalte "name" wird als Überschrift verwendet, die Spalte "description" wird als Beschreibung verwendet.

Mit richtig meinst Du sicher eine von uMap erwartete Standard-Bezeichnung.
Das sollte machbar sein. Ich erzeuge die tsv-Dateien mit einer Software PrepMaps und Krasna Maps aus einem bestehenden Datenbestand.

Meine Popup Vorlage ist wie folgt definiert:

# {Location}
Nachkommen
**Nachname, Datum**
{Surname}
###  {Persons} Personen, die an diesem Ort waren
{LinktoGOV} 
{BIRT}
{DEAT}

Latitude und Longitude: {lat} und {lon} · {Gruppe}

Vorerst, in der Testphase, würde ich die Spaltenüberschrift mit einem Editor ändern.
Nach Erfolg könnte die Software PrepMaps die Spaltenüberschriften sofort wie gewünscht setzen. Das ist aber ein nachgelagerter Schritt.

Vorhanden sind folgende Spalten:
   - Gruppe
   - Location
   - Latitude
   - Longitude
   - LinktoGOV
   - Surname
   - Persons
   - BIRT
   - DEAT


Pro Karte habe ich zwei Ebenen. Also müsste ich auch zwei Dateien importieren und zwei verschiedenen Ebenen zuordnen.

Hier verstehe ich nicht genau, was du meinst, da müsstest du vielleicht konkreter werden, was in den Ebenen für Daten/Objekte liegen, und was in den Dateien für Daten abgelegt sind.

Die Datei pmov-de.tsv importiere ich auf die Ebene Vorfahren. Vorhandene Dateien sollen überschrieben werden.

Die Datei pmon-de.tsv importiere ich auf die Ebene Nachkommen. Vorhandene Dateien sollen überschrieben werden.

Beste Grüße
Otto

Last edited by Otto Riehl (2020-09-11 14:24:16)

Offline

#7 2020-09-11 14:35:14

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

fx99 wrote:

Mit dynamischen overpass Abfrage funktioniert das auf jeden Fall.

Besten Dank für den sicher gut gemeinten Hinweis.

Sorry, ich probiere mich hier an Dingen, von denen ich nicht viel verstehe.
Mit einer dynamischen overpass Abfrage weiß ich nicht was ich tun kann.

Bisher habe ich
  die beiden Karten.
  die csv Dateien

Bisher importiere ich mt uMap.

Ziel:
Wie bringe ich Karte und Dateien komfortabel zueinander.
Ich will die csv-Dateien im Arbeitsablauf häufig automatisch aktualisieren. Die Karten sollen sich dann dynamisch aktualisieren, die neuen Werte übernehmen..

Offline

#8 2020-09-11 15:08:14

tudacs
Member
From: Hessen, DE, Europe
Registered: 2019-03-14
Posts: 43

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Otto Riehl wrote:

Ich habe den Webspace bei Goneo, Minden gemietet.
Mir ist nicht klar, was Du meinst.
Reicht es in dem Ordner "otto-riehl.de/historicplace/uMap/" eine Datei abzulegen, die diese Weisung enthält? (.htaccess oder eine conf)

.htaccess, ja. Es kann sein, dass der Apache nicht so konfiguriert ist, dass du Header setzen kannst. Einfacher ist es zunächst eben den Proxy-Schalter in uMap anzumachen.

Otto Riehl wrote:
tudacs wrote:

Was so noch nicht funktioniert sind die Pop-Ups: Dazu müsstest du die Pop-Up Inhalte in deinem tsv entsprechend vorbereiten und in den "richtigen" Spalten ablegen. Die Spalte "name" wird als Überschrift verwendet, die Spalte "description" wird als Beschreibung verwendet.

Mit richtig meinst Du sicher eine von uMap erwartete Standard-Bezeichnung.
Das sollte machbar sein. Ich erzeuge die tsv-Dateien mit einer Software PrepMaps und Krasna Maps aus einem bestehenden Datenbestand.

Meine Popup Vorlage ist wie folgt definiert:

# {Location}
Nachkommen
**Nachname, Datum**
{Surname}
###  {Persons} Personen, die an diesem Ort waren
{LinktoGOV} 
{BIRT}
{DEAT}

Latitude und Longitude: {lat} und {lon} · {Gruppe}

big_smile big_smile big_smile Okay. Ich kenne mich einfach zu wenig mit uMap aus. Faszinierenderweise hast du eigentlich schon eine funktionierende Lösung, weisst es nur noch nicht wink. Oder hast es noch nicht ausprobiert. Oder bist einfach nur über den Proxy bzw. CORS gestolpert (ich beim Ausprobieren auch...).

Wenn ich deine Popup-Vorlage entsprechend verwende (Die Standard-Vorlage ist "#{name} {description}" -- deshalb wurden also auch "meine" Spaltennamen "name" und "description" verwendet *kopfschüttel* und ich nahm an, dass das irgendwie halt so ist smile ), dann sieht die Karte quasi schon so aus, wie deine.

Otto Riehl wrote:

Die Datei pmov-de.tsv importiere ich auf die Ebene Vorfahren. Vorhandene Dateien sollen überschrieben werden.

Die Datei pmon-de.tsv importiere ich auf die Ebene Nachkommen. Vorhandene Dateien sollen überschrieben werden.

Lege einfach zwei Ebenen an und verwende bei der ersten Ebene im Feld die eine, in der zweiten Ebene die andere URL, also genau so, wie fx99 schon meinte -- da war fx99 mir ein gutes Stück voraus. smile


Cool, hab ich auch wieder was gelernt.

Beste Grüße
t.

p.s. Dein "Gib mir vor." kommt bei mir im Tonfall etwas arg fordernd rüber: Ich mach das hier aus Freude in meiner Freizeit und (noch?) nicht als (d)ein Dienstleister wink.

p.p.s. POC

p.p.p.s. Also "gelöst" haben dein Problem hier geri-oc und fx99: Ich habe eigentlich nur den Hinweis auf CORS und den Proxy-Schalter in uMap gegeben und vielleicht ein wenig ausführlicher geantwortet.


[Edit: Credits den richtigen Leuten smile]

Last edited by tudacs (2020-09-11 15:11:15)


„Geh nicht von Böswilligkeit aus, wenn Unwissenheit genügt" (Hanlon's Razor)

Offline

#9 2020-09-11 15:57:45

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

tudacs wrote:

p.s. Dein "Gib mir vor." kommt bei mir im Tonfall etwas arg fordernd rüber: Ich mach das hier aus Freude in meiner Freizeit und (noch?) nicht als (d)ein Dienstleister wink.

Sorry, sollte so nicht verstanden werden. Da habe ich den falschen Ton getroffen.
Meine Intuition war: "Meister gib mir vor, ich mache dies dann".
Null Anweisung. Eher in freudiger Erwartung des nächsten Schritts.

Bitte nimm dies als Entschuldigung an.

Also erst einmal herzlichen Dank.
Ich probiere Deine Vorschläge morgen aus, muss nachher zum Training.
Ob ich alles wie von Dir vorgeschlagen umgesetzt bekomme ist mir noch nicht klar.

Offline

#10 2020-09-12 07:59:08

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

tudacs wrote:

.htaccess, ja. Es kann sein, dass der Apache nicht so konfiguriert ist, dass du Header setzen kannst. Einfacher ist es zunächst eben den Proxy-Schalter in uMap anzumachen.

Lob und Anerkennung - das klappt wunderbar.

Ich habe in Ausgelagerte Dateien erfasst:
URL ............
Format = csv
Dynamisch = ON (Daten jedes Mal abrufen, wenn sich die Kartenansicht ändert.)
Proxyanforderung = ON  (Anzuwenden, wenn der Zielserver kein Cross Origin Resource Sharing (CORS) erlaubt (langsamer).)
Proxycache-Anfrage = Kein Cache  (5 Minuten / 1 Stunde / 1 Tag)


Es kam keine Fehlermeldung.
Mit einem Editor habe ich auf meinem Webserver in der csv-Datei eine Änderung vorgenommen. Und nach mehrmals Karte aktualisieren wurde die Änderung im Popup angezeigt. So wollte ich es haben. Begeisterung.


Zwei Fragen:
Was bewirkt die Proxycache-Anfrage?
Meine Daten ändern sich nur alle paar Tage. Was empfiehlt sich einzustellen? Kein Cache / 5 Minuten / 1 Stunde / 1 Tag

Proxyanforderung = ON
Da steht dabei langsamer.
Was müsste ich in einer .htaccess notieren für Cross Origin Resource Sharing (CORS)
Ist dies überhaupt erstrebenswert?

Fragen und Fragen.
Leute, ich bin begeistert und dankbar für die Hilfe die hier erbracht wird. Danke.

Beste Grüße
Otto

Last edited by Otto Riehl (2020-09-12 09:08:30)

Offline

#11 2020-09-12 08:51:06

tudacs
Member
From: Hessen, DE, Europe
Registered: 2019-03-14
Posts: 43

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Welchen Browser verwendest du? Bei deinen Fragen geht es im wesentlichen um "Webtechnologien". Da ist es hilfreich die "Entwickler-Tools" des Browsers mal in Augenschein zu nehmen und sich mit den Hintergründen, was beim surfen im Internet passiert, ein wenig auseinanderzusetzen. Ich verwende Firefox, da kann man mit Ctrl-Shift-E, das sogenannte Netzwerkanalyse-Tool zum Vorschein bringen. Der Name ist irreführend, denn das Ding analysiert nicht das Netzwerk, sondern die HTTP/Websocket-Anfragen (und -Antworten), die der Firefox stellt (und erhält).

Die "ausgelagerten Daten" werden mit einer weiteren Anfrage vom Browser des Besuchers der Karte nachgeladen. Im Netzwerkanalyse-Tool des Browsers kann man diese Anfrage sehen und auch sehen, ob das erfolgreich ist, oder ob der Browser die Antwort auf die Anfrage wegen CORS verwirft.

Otto Riehl wrote:

Zwei Fragen:
Was bewirkt die Proxycache-Anfrage?
Die Daten ändern sich nur alle paar Tage. Was empfiehlt sich einzustellen? Kein Cache / 5 Minuten / 1 Stunde / 1 Tag

Mit ausgeschaltetem Proxy lässt uMap den Browser die Anfrage direkt an deinen Server stellen.

Mit angeschaltetem Proxy lässt uMap den Browser die Anfrage an den uMap-Server stellen, der wiederrum die Anfrage an deinen Server stellt, die Antwort deines Servers je nach Einstellung zwischenspeichert (in einem Cache) und an den anfragenden Besucher/Browser gibt.

Ist quasi wie im Restaurant: Gast: "Kann ich Gericht A auch mit Beilage B haben?" Kellner rennt in die Küche, fragt nach und übermittelt die Antwort an dich. Wenn der Kellner einen Cache hat, dann rennt er für dieselbe Frage nicht jedes mal in die Küche (und belästigt dort den Koch wink ), sondern antwortet "aus dem Cache". Was aber nun, wenn sich die Antwort des Kochs geändert hätte? Daher ist es gut, doch nach einer gewissen Zeit immer mal beim Koch nachzufragen.

Proxyanforderung = ON
Da steht dabei langsamer.
Was müsste ich in einer .htaccess notieren für Cross Origin Resource Sharing (CORS)

Wenn dein Server das unterstützt, dann kommt in die .htaccess:

Header set Access-Control-Allow-Origin "umap.openstreetmap.fr"

Das Ergebnis davon kannst du in den Antwort-Headern im "Netzwerkanalyse"-Tool deines Browsers sehen.

Probiere im Zweifelsfall statt der umap-Domain ein Sternchen ("*"). Das sollte aber nicht dauerhafte Einstellung sein.

Beste Grüße
t.


„Geh nicht von Böswilligkeit aus, wenn Unwissenheit genügt" (Hanlon's Razor)

Offline

#12 2020-09-12 10:22:34

Otto Riehl
Member
From: Kirchlinteln, DE-NI
Registered: 2018-11-19
Posts: 53
Website

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

tudacs wrote:

Wenn dein Server das unterstützt, dann kommt in die .htaccess:

Das hat nicht auf Anhieb funktioniert.

Ich habe aber mal nachgelesen was ein Proxy leistet. Ich denke, das ist in meinem Fall nicht schlecht.
Die Lösung mit Proxy lasse ich mal bestehen.

Die Cachezeit habe ich mit 1 Stunde vorgegeben.

Meine zwei Karten mit jeweils zwei Ebenen werden mit Daten bestückt, die bei mir ein Batch regelmäßig bereitstellt.

Organisiert, läuft von alleine nebenbei.


Allen hier Beteiligten ein ganz großes Danke.

Offline

#13 2021-01-12 17:21:36

rotbarsch
Member
Registered: 2008-06-18
Posts: 3

Re: [erledigt] uMap von ausgelagerter csv-Datei aktualisieren

Vielen Dank für diesen hilfreichen Thread!

Ich musste länger suchen, denn bei mir funktionierte "Daten importieren" - "URL" nicht. Diese Funktion ist ähnlich der im Thread beschriebenen, kennt aber kene Einstellmöglichkeiten für Proxy etc., was mich vor ziemliche Fragen stellte.

Deshalb teile ich mit Euch meine spätere Erkenntnis: Möchte man die im Thread beschriebene Funktion nutzen, so geht das über "Ebenen verwalten" - "ggf. Ebene hinzufügen" - "Ebene bearbeiten (Stiftsymbol)" - "Ausgelagerte Dateien"

Offline

Board footer

Powered by FluxBB