ToniE
(Toni Erdmann)
July 15, 2020, 10:18am
#1
Ich habe den Eindruck, dass Overpass im konkreten Fall mal 7.5 MB und ein anderes Mal 8.4 MB an Daten liefert.
Konkret:
http://overpass-api.de/api/interpreter?data=area[wikidata~'^(Q353997|Q1094063|Q1016835|Q1030580|Q1066185|Q1624414|Q1812769|Q1279553|Q56477743|Q1812778|Q976355|Q1533526|Q1537228|Q947334|Q2062776|Q1766439|Q1813391|Q1847617|Q1521840)$'][type=boundary];(rel(area)[route~'(bus|tram|train|subway|light_rail|trolleybus|ferry|monorail|aerialway|share_taxi|funicular)'];rel(br);rel[type='route'](r);)->.routes;(.routes;<<;rel(r.routes);way(r);node(w);way(r.routes);node(w);node(r.routes););out;
Hier werden für PTNA alle ÖPNV-relevanten Daten aus der Metropol Region um Adelaide/SA Australien abgefragt.
Was auffällt: der 300er Bus und die meisten 7xxer Busse fehlen manchmal, ein andermal sind sie wieder drin.
Heute (2020-07-15 12:18) fehlen sie mal wieder https://ptna.openstreetmap.de/results/AU/SA/AU-SA-Adelaide-Metro-Analysis.diff.html#A2.3.3
Die Menge der Daten ist mit 8.4 MB nicht kritisch, andere PTNA-Anfragen liefern > 300 MB und funktionieren einwandfrei.
Liegt es evtl. an der lange Listen von “wikidata”?
wikidata~'^(Q353997|Q1094063|Q1016835|Q1030580|Q1066185|Q1624414|Q1812769|Q1279553|Q56477743|Q1812778|Q976355|Q1533526|Q1537228|Q947334|Q2062776|Q1766439|Q1813391|Q1847617|Q1521840)$'
Alternative wäre eine bounding-box um das Gebiet zu legen, statt die wikidata der Cities/Counties/Councils zu nutzen.
Gruß,
Toni
Nakaner
(Nakaner)
July 15, 2020, 12:38pm
#2
Hallo,
es gibt zwei verschiedene Overpass-API-Server, die im Produktivbetrieb sind. Vielleicht erhältst du von den beiden verschiedene Antworten?
Viele Grüße
Michael
Nakaner
(Nakaner)
July 15, 2020, 12:54pm
#4
Hallo,
ToniE:
wie kann ich erkennen:
von welchem Server die Daten stammen?
Die beiden folgenden Server sind in Produktion:
michael@ortelius:/tmp$ host overpass-api.de
overpass-api.de has address 178.63.48.217
overpass-api.de has address 178.63.11.215
overpass-api.de has IPv6 address 2a01:4f8:110:502c::2
overpass-api.de has IPv6 address 2a01:4f8:120:6464::2
overpass-api.de mail is handled by 10 mail.overpass-api.de.
Setz doch die Abfragen direkt mit Curl ab. Dann kannst du beeinflussen, welcher Host verwendet wird. Ab Curl 7.49.0 gibt es dazu die Kommandozeilenoption “–connect-to”:
–connect-to HOST1:PORT1:HOST2:PORT2
For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead. This option is suitable to direct requests at a specific server, e.g. at a specific cluster node in a cluster of servers. This option is only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols. “HOST1” and “PORT1” may be the empty string, meaning “any host/port”. “HOST2” and “PORT2” may also be the empty string, meaning “use the request’s original host/port”.
A “host” specified to this option is compared as a string, so it needs to match the name used in request URL. It can be either numerical such as “127.0.0.1” or the full host name such as “example.org ”.
This option can be used many times to add many connect rules.
See also --resolve and -H, --header. Added in 7.49.0.
Bei älteren Curl-Versionen kannst mit den drei folgenden Änderungen am Curl-Aufruf Ähnliches auf unsichere Art und Weise erreichen:
den Hostnamen in der URL durch die IP ersetzen
Den Host-Header manuell angeben: “-H “Host: overpass-api.de ””
“–insecure” angeben (d.h. jegliches Zertifikat akzeptiere, auch das von Man-in-the-Middle-Angreifern)
Viele Grüße
Michael
ToniE
(Toni Erdmann)
July 15, 2020, 3:56pm
#5
Nakaner:
Hallo,
ToniE:
wie kann ich erkennen:
von welchem Server die Daten stammen?
Die beiden folgenden Server sind in Produktion:
michael@ortelius:/tmp$ host overpass-api.de
overpass-api.de has address 178.63.48.217
overpass-api.de has address 178.63.11.215
overpass-api.de has IPv6 address 2a01:4f8:110:502c::2
overpass-api.de has IPv6 address 2a01:4f8:120:6464::2
overpass-api.de mail is handled by 10 mail.overpass-api.de.
Setz doch die Abfragen direkt mit Curl ab. Dann kannst du beeinflussen, welcher Host verwendet wird. Ab Curl 7.49.0 gibt es dazu die Kommandozeilenoption “–connect-to”:
–connect-to HOST1:PORT1:HOST2:PORT2
For a request to the given HOST1:PORT1 pair, connect to HOST2:PORT2 instead. This option is suitable to direct requests at a specific server, e.g. at a specific cluster node in a cluster of servers. This option is only used to establish the network connection. It does NOT affect the hostname/port that is used for TLS/SSL (e.g. SNI, certificate verification) or for the application protocols. “HOST1” and “PORT1” may be the empty string, meaning “any host/port”. “HOST2” and “PORT2” may also be the empty string, meaning “use the request’s original host/port”.
A “host” specified to this option is compared as a string, so it needs to match the name used in request URL. It can be either numerical such as “127.0.0.1” or the full host name such as “example.org ”.
This option can be used many times to add many connect rules.
See also --resolve and -H, --header. Added in 7.49.0.
Bei älteren Curl-Versionen kannst mit den drei folgenden Änderungen am Curl-Aufruf Ähnliches auf unsichere Art und Weise erreichen:
den Hostnamen in der URL durch die IP ersetzen
Den Host-Header manuell angeben: “-H “Host: overpass-api.de ””
“–insecure” angeben (d.h. jegliches Zertifikat akzeptiere, auch das von Man-in-the-Middle-Angreifern)
Viele Grüße
Michael
Danke Michael,
ich nutze ‘wget’ und der sagte mir beim letzten Aufruf:
Resolving overpass-api.de (overpass-api.de)... 2a01:4f8:110:502c::2, 2a01:4f8:120:6464::2, 178.63.11.215, ...
Connecting to overpass-api.de (overpass-api.de)|2a01:4f8:110:502c::2|:80... connected.
Der nächste Aufruf ist heute um 18:30 CEST, d.h. 02:00 AM ACST (Adelaide local time). Ich warte das mal ab und schaue, welche IP-Adresse verwendet wurde, und ob das Ergebnis OK ist.
Die Syntax von ‘wget’ ist ein wenig anders, aber es geht:
wget http://2a01:4f8:120:6464::2/..... --header "Host: overpass-api.de ...
Gruß,
Toni
ToniE
(Toni Erdmann)
July 15, 2020, 4:35pm
#6
Hi,
diesmal war es der Server 2a01:4f8:120:6464::2 und nicht 2a01:4f8:110:502c::2 …
und diesmal sind 9.0 MB statt 7.5 MB gekommen und der 300er und die 7xxer sind wieder da - merkwürdig.
Großes Fragezeichen?
Gruß
Toni
GerdP
(Gerd P)
July 15, 2020, 4:46pm
#7
Wohl verschiedene Datenbestände oder verschiedene Software-Stände (bzw. ersteres wegen letzterem)
ToniE
(Toni Erdmann)
July 15, 2020, 5:27pm
#8
Mmh, die Datenbestände - sprich: der 300er und die 7xxer sind alte Daten.
Der andere Server ist dann wohl nicht nur ein paar Tage sondern u.U Wochen oder Monate rückstandig?
Ich habe das noch nicht weiter analysiert, was denn tatsächlich fehlt, und wo die Daten liegen (lat/lon) und ob da nicht evtl. etwas mit einer boundary nicht stimmt oder … “areas” sind u.U. veraltet?
ToniE
(Toni Erdmann)
July 16, 2020, 9:04am
#9
Das ist die Lösung, der Grund
Analyse vom 14.07.2020, Daten von 2a01:4f8:110:502c::2
OSM-Base Time : 2020-07-14 16:29:02 UTC
Areas Time : 2020-03-06 11:03:01 UTC
Analyse vom 15.07.2020, Daten von 2a01:4f8:120:6464::2
OSM-Base Time :2020-07-15 16:31:03 UTC
Areas Time : 2020-07-15 16:11:03 UTC
Wie bekommen wir das korrigiert?
Gruß
Toni
ToniE
(Toni Erdmann)
July 16, 2020, 10:49am
#10
drolbr
(Drolbr)
July 30, 2020, 2:36pm
#11
Der Fehler ist jetzt korrigiert.
Die beiden Server haben übrigens unterscheidbare Namen:
Noch eine kurze Bitte: schreibt gerne direkt eine eMail. Die Wiki-Benachrichtigung ist eher unzuverlässig.
ToniE
(Toni Erdmann)
July 30, 2020, 2:41pm
#12
drolbr:
Der Fehler ist jetzt korrigiert.
Die beiden Server haben übrigens unterscheidbare Namen:
Noch eine kurze Bitte: schreibt gerne direkt eine eMail. Die Wiki-Benachrichtigung ist eher unzuverlässig.
Danke, das mit den beiden Namen habe ich erst später bemerkt, im log von wget standen ja auch nur die Adressen.