Geofabrik chybějící data

04.09.2020 15:40

Import geometrií cca 26 hodin, teď je všechno více-méně komplet. Data necenzurovaná. Postupně se ještě překreslí všechny mapy.

02.09.2020 0:40

API data nahrána, nyní běží import geometrií pro tileserver. Bohužel OSM2PGSQL neumožňuje v jedné transakci truncate a reimport. Dropnout tabulky také nelze, protože mnoho dalších objektů na nich závisí. Musel jsem je tedy vyprázdnit ručně což bohužel znamená, že OSM data pro tileserver teď nejsou žádná. Import geometrií běží od 1.9. cca 12:00 a dnes kolem poledne by snad mohl doběhnout, ale uvidíme. Going over pending ways and relations může zabrat dalších pár dnů.

Nahrávaný soubor:

# original OSM minutely replication sequence number 4174046
timestamp=2020-08-30T20\:42\:02Z
sequenceNumber=2717

Po importu budu aplikovat aktualizace osc.gzVypadá to, že změnové soubory Geofabrik jsou inkonzistentní a že jsou inkonzistentní i od nich odvozené základní soubory s geografickými útvary jako třeba http://download.geofabrik.de/europe/czech-republic-latest.osm.pbf (21.8.2020 02:25).

Co se přihodilo? První příznak následných potížích byl zmenový soubor http://download.geofabrik.de/europe/czech-republic-updates/000/002/702.o... , který byl vygenerován až odpoledne namísto obvyklých nočních hodin. Data byla nejspíš ještě v pořádku. Další 2 dny se v obvyklou dobu vygenerovaly změnové soubory 703 a 704, které jsou však prázdné. 18.8. byl vygenerovaný změnový soubor 705, která má 1.8 MB. To je více než obvykle a mohlo by to zhruba odpovídat chybějícím datům v předchozích dvou prázdných změnových souborech, ale úplně tomu tak není. Import změnového souboru 705 se nezdařil, protože jsou v něm cesty odkazující na neexistující uzly.

ERROR: insert or update on table "current_way_nodes" violates foreign key constraint "current_way_nodes_node_id_fkey"
Detail: Key (node_id)=(7813642017) is not present in table "current_nodes".

Uzel 7813642017 přitom v OSM je https://www.openstreetmap.org/node/7813642017 a byl vytvořen 14.8. Vložil jsem ho do DB ručně a pokusil se import zopakovat, ale chyba byla zase na jiném uzlu. Nebude to tedy jediný chybějící uzel.

Prošel jsem si ručně všechny změnové soubory. Ve změnovém souboru 705 najdeme toto:

    <way id="837076167" version="5" timestamp="2020-08-14T20:16:29Z">
      <nd ref="7813642017"/>
      <nd ref="7813622845"/>
      <nd ref="7812441243"/>
      <nd ref="7813622846"/>
      <nd ref="7813175551"/>
      <nd ref="7813622847"/>
      <nd ref="7813892447"/>
      <tag k="highway" v="service"/>
    </way>

tedy uzel 7813642017, který však nikde ve změnových souborech není.

Zkontroloval jsem o kompletní czech-republic-latest.osm.pbf z 21.8. a cesta 837076167 v něm vůbec není, ačkoli v OSM je https://www.openstreetmap.org/way/837076167 .

Z toho usuzuji, že se ztratily některé změny a že prázdné změnové soubory prázdné být nemají. Jelikož data nejsou ani czech-republic-latest.osm.pbf, Geofabrik je nejspíš out-of-sync s hlavní OSM DB.

Asi používají nějaký software, kterému nekonzistence nevadí.

To je docela blbé, protože nevím o dalším zdroji OSM dat, který by nabízel ČR a byl denně aktualizovaný. Zatím tedy aktualizace OSM dat na poloha.net neprobíhají a nelze tedy ani importovat změny v adresách :-(.

Prázdné změnové soubory jsou i v dalších státech (namátkou Albánie a Rakousko) a dá se tak očekávat, že data na Geofabrik jsou momentálně rozbitá.