OpenStreetMap logo OpenStreetMap

Diary Entries in German

Recent diary entries

Bei meiner gestrigen Wanderung am Thayatalweg navigierte ich wie immer mit Handy und Komoot. Diese Methode benötigt bekanntlich sehr viel Strom. Dahner hatte ich eine 5000 mAh Powerbank und ein USB-C Ladekabel lose in eine Außentasche (!) des Rucksacks gepackt.

Powerbank und Ladekabel bei Kälte körpernah transportieren

Nach rund 12 Kilometern war der Handyakku erwartungsgemäß am Ende. Ich steckte die Powerbank ans Handy und beides in die äußere (!) Jackentasche. 2 Fehler mit 2 Ergebnissen: * Warnmeldung am Handy: Sehr schwache Ladeleistung! * An beiden Enden des Kabels, direkt hinter dem Knickschutz brach die Isolierung und mehrere Kupferlitzen brachen. Kurz darauf schaltete sich mein Handy wegen Energiemangel ab.

Dann stehst du bei dichtem Nebel, einem leichten Lüftchen und minus -2° (gefühlt -6°) ohne Navigation, ohne Verbindung zur Außenwelt und ohne Rückfahrtickets irgendwo auf einer kleinen Landstraße im Waldviertel!

Plötzlich ist man, ganz alleine, in einer echt gefährlichen Situation!

Erschwerend waren noch Hunger und Durst.

Mein Glück war die Landstraße als einzige Orientierungshilfe. Als ich an den Bus 875, der mich nach Hardegg brachte, wurde mir bewusst, ich hatte ja nun auch keine Tickets nach Hause mehr! Doch, diesmal nicht „Gott“ sondern Dank einer guten Planung /Vorbereitung hatte ich einen „Notgroschen“ + einen 500 kcal YFood Riegel + genügend Polster an Tageslicht.

Das A und O lautet:

Planung – Vorbereitung – Ausrüstung

Location: Merkersdorf, Hardegg, Bezirk Hollabrunn, Weinviertel, Niederösterreich, 2082, Österreich

Todo-List

Eher soetwas wie eine persönliche Todo-List.

Einige Stolpersteine haben keinen Commons-Bilder, weil sie eigentlich Sammel-Stolpersteine sind:

area["de:amtlicher_gemeindeschluessel"="15002000"]->.municipality;
(
nw[!"wikimedia_commons"]["memorial"="stolperstein"]
  (area.municipality);
);
out;

Noch mehr Commons-Bilder für diverse Nodes

area["de:amtlicher_gemeindeschluessel"="15002000"]->.municipality;
(
(nw["historic"="memorial"][!"wikimedia_commons"](area.municipality););
(nw["amenity"="clock"][!"wikimedia_commons"](area.municipality););
(nw["tourism"="information"][!"wikimedia_commons"](area.municipality););
);

out;

Manchmal lädt man sich nicht alle Daten in den Editor. Und manchmal vergisst man betroffene Dinge. Passiert mir auch immer wieder.

Mitte dieses Monats bin ich auf eine Serie von Änderungen gestoßen, wo Wege aufgeteilt worden sind, ohne Routenrelationen mitzubearbeiten. Und weil da zwar viele Routen betroffen waren, aber alle Lücken räumlich begrenzt waren, hab ich mir gedacht ich probier, ob ich das nachträglich programmatisch angehen kann, die OSM Editoren schaffen das ja auch.

Die Daten hab ich schnell abgefragt und nachdem ich über alte turnlanes:turns-Relationen gestoßen bin und die zusammen mit den Abbiegebeschränkungen überprüft hab, hab ich mich auch schon den Routen zuwenden können und zu basteln begonnen:

function findRouteWays(startWay, endWay) {
	let queue = [{ path: [startWay], nodes: startWay.nodes }];
	let visited = [startWay.id];
	while (queue.length) {
		let { path, nodes } = queue.shift();
		for (let candidate of elements) {
			if (candidate.type !== "way") continue;
			if (visited.includes(candidate.id)) continue;
			if (!nodes.some(node => candidate.nodes.includes(node))) continue;
			if (candidate.id === endWay.id) return [...path, endWay];
			queue.push({
				path: [...path, candidate],
				nodes: candidate.nodes,
			});
			visited.push(candidate.id);
		}
	}
	throw new Error('No path found');
}
function isConnected(a, b) {
	let aNodes = a.geometry.map(JSON.stringify);
	let bNodes = b.geometry.map(JSON.stringify);
	return aNodes.some(node => bNodes.includes(node));
}
let replacements = [];
for (let route of elements.filter(l => l.type === "relation" && l.tags.type === "route")) {
	let members = route.members.filter(m => m.type === "way" && !m.role);
	for (let i = 0; i < members.length - 1; i++) {
		if (isConnected(members[i], members[i + 1])) continue;
		let from = [0, 1].map(d => elements.find(l => l.type === "way" && l.id === members[i + d].ref));
		if (from.some(way => !way)) continue;
		let to = findRouteWays(...from);
		replacements.push({ from, to });
	}
}

Und dann war’s nur noch eine Frage des Ersetzens in level0 und dem Kontrollieren, dass wirklich nur neu erstellte Wege eingefügt werden.

Hab ich mir zumindest gedacht. Tatsächlich hab ich beim ersten Änderungssatz vergessen, dass neue Wegteile auch unbearbeitete Wege berühren können. Das war aber auch schnell korrigiert, schließlich hab ich ja nur beim wieder rauf-rekurrieren den Filter nach Nutzer und Datum zurücknehmen müssen.

Trotz der vergleichsweise ineffizienten Breitensuche hat das mit nur einer Zehntelsekunde nicht allzu lang gedauert. ^^ Am längsten hat ja das Schreiben hier gedauert, aber wer sagt denn, dass ich gut darin bin?

Location: KG Kagran, Donaustadt, Wien, 1220, Österreich

Es kommt immer mal wieder vor, dass Ortsnamen auf Wegweisern abgekürzt werden. Hier ein Beispiel:

Wegweiser mit Richtungsangaben, Geradeaus Richtung Burg, rechts zum als TrÜbPl ausgezeichneten Truppenübungsplatz Altengrabow Auch häufig abgekürzt werden Städtenamen mit Stadtteilen, wie z.B. “B-Lichtenberg” für “Berlin-Lichtenberg”.

Inhalte von Wegweisern in destination=-Tags zu mappen ermöglicht es Navigationsprogrammen beim Abbiegen die ausgeschilderten Ziele vorzulesen, und damit Fehler in Abbiegevorgängen zu vermeiden.

Schlüsselwort im letzten Abschnitt ist vorlesen. Es ist wenig hilfreich, wenn sich die Vorlesefunktion mit Abkürzungen abstottert. Die Richtungsangabe zum Truppenübungsplatz aus dem Bild oben wird von der Navigationssoftware vorgelesen als “Rechts abbiegen Richtung Trüppel Altengrabov”, statt “Richtung Truppenübungsplatz Altengrabov”. Teilweise auch einfach nur “Richtung Trüppel” an anderen Kreuzungen im Umkreis. Also was Eintragen? Das Schild 1:1 abtippen, oder offensichtliche Abkürzungen von Orten expandieren?

Meine persönliche Richtlinie ist Abkürzungen von Ortsnamen (HB, OB, OH, etc…) und Wörtern aus dem Wörterbuch, wie den Truppenübungsplatz aus dem Titel, zu expandieren, und Akronyme von Eigennamen als Akronym beizubehalten (z.B. GETEC-Arena). Demnach würde der Platz in allen destination-Tags als “Truppenübungsplatz” oder “Truppenübungsplatz Altengrabov” eingetragen.

Der Wiki-Eintrag zu Abkürzungen ist leider nicht sehr hilfreich dazu. Er sagt gleichzeitig, dass Namen ausgeschrieben werden sollen, und dass Schilder Vorrang haben.

Leider führt letzteres häufig dazu, dass ausgeschriebene Städtenamen oder Abkürzungen durch schlechter (vor-)lesbare Abkürzungen ersetzt werden.

Mein Wunsch für bessere Vorlesbarkeit wäre es, einfach Abkürzungen auszuschreiben, und die Schilder in diesem Kontext nicht als Gospel zu behandeln. (Dabei natürlich als Eigennamen benutzte Abkürzungen wie TÜV beizubehalten, wie der Wiki-Eintrag dazu bereits beschreibt.)

Hallo zusammen,

wie Ihr sicherlich wisst, kann es bei einer Way-ID häufig vorkommen, dass mehrere parking:restrictions vorkommen. Bisher habe ich immer die Information erhalten, dass eine präzise Zuordnung nur möglich ist, indem die Way-ID in mehrere Segmente aufgeteilt wird.

Ich bin auf diesen Wiki-Beitrag zum Thema “mehrere Werte für einen Key” gestoßen und frage mich, ob dieser Ansatz noch aktuell ist und in der Praxis verwendet werden kann. https://wiki.openstreetmap.org/wiki/Multiple_values

In meinem ersten Versuch habe ich parking:restrictions mit mehreren Werten in einem Tag eingetragen. Dies wurde jedoch kommentiert, dass die meisten Anwendungen dies nicht unterstützen. Hier der entsprechende Kommentar: https://www.openstreetmap.org/changeset/159989249#map=19/50.114737/8.679454

Seitdem habe ich diesen Ansatz nicht mehr verwendet. Gibt es alternative Möglichkeiten, um mehrere Einschränkungen an einer Way-ID korrekt und zugleich möglichst genau zu erfassen, ohne die ID zerschneiden zu müssen?

Ich freue mich über Eure Hinweise und Ideen!

Vielen Dank und viele Grüße Simon

Posted by VRS-Auskunft on 28 November 2024 in German (Deutsch). Last updated on 1 December 2024.

Wir nutzen OSM zur Ergänzung und Verbesserung unser ÖPNV-Auskunftssysteme.

Fragen und Anmerkungen kannst du uns direkt unter appteam@vrs.de zukommen lassen.

Informationen zu den von uns bereitgestellten OpenData-Services findest du auf unserer Website

Location: Zurich Campus Köln, Deutz, Innenstadt, Köln, Nordrhein-Westfalen, 50679, Deutschland
Posted by aselnigu on 23 November 2024 in German (Deutsch). Last updated on 24 November 2024.

Ausgangszustand

Wir haben via der nachfolgenden Aufrufe

  • eine Vagrant Maschine mit dem Test-Import vom Hackathon in Karlsruhe aus dem Snapshot wiederhergestellt,
  • den Branch mit dem neuen Playbook geladen
  • das Datum in der virtuellen Maschine auf den aktuellen Stand gesetzt
  • Datenbank Updates in der virtuellen Maschine getestet
  • und die Aktualisierung der Datenbank gestoppt und deaktiviert.
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ git branch
  backport
* master
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ vagrant snapshot restore bookworm afterimportanddoc
[fog][WARNING] Unrecognized arguments: libvirt_ip_command
==> bookworm: Restoring the snapshot 'afterimportanddoc'...
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ date
Sa 23. Nov 15:39:14 CET 2024
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ git checkout backport 
M	Vagrantfile
M	private
Zu Zweig »backport« gewechselt
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ git branch
* backport
  master


amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ vagrant ssh bookworm
[fog][WARNING] Unrecognized arguments: libvirt_ip_command
Linux bookworm 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Oct 28 08:49:50 2024 from 192.168.121.1
vagrant@bookworm:~$ sudo date --set "23 Nov 2024 15:43:00"
Sat Nov 23 15:43:00 UTC 2024
vagrant@bookworm:~$ date
Sat Nov 23 15:43:20 UTC 2024


vagrant@bookworm:~$ sudo journalctl -u updatedb -f
Nov 23 15:46:48 bookworm osm2pgsql-replication[6836]: 2024-11-23 15:46:48 [INFO]: Using replication service 'http://download.geofabrik.de/europe/monaco-updates'. Current sequence 4249 (2024-11-22 21:20:41+00:00).
Nov 23 15:46:49 bookworm osm2pgsql-replication[6836]: 2024-11-23 15:46:49 [INFO]: Database already up-to-date.
Nov 23 15:46:49 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Nov 23 15:47:39 bookworm systemd[1]: updatedb.service: Scheduled restart job, restart counter is at 41.
Nov 23 15:47:39 bookworm systemd[1]: Stopped updatedb.service - render database update.
Nov 23 15:47:39 bookworm systemd[1]: Starting updatedb.service - render database update...
Nov 23 15:47:39 bookworm systemd[1]: Started updatedb.service - render database update.
Nov 23 15:47:39 bookworm osm2pgsql-replication[6842]: 2024-11-23 15:47:39 [INFO]: Using replication service 'http://download.geofabrik.de/europe/monaco-updates'. Current sequence 4249 (2024-11-22 21:20:41+00:00).
Nov 23 15:47:39 bookworm osm2pgsql-replication[6842]: 2024-11-23 15:47:39 [INFO]: Database already up-to-date.
Nov 23 15:47:39 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Nov 23 15:48:29 bookworm systemd[1]: updatedb.service: Scheduled restart job, restart counter is at 42.
Nov 23 15:48:29 bookworm systemd[1]: Stopped updatedb.service - render database update.
Nov 23 15:48:29 bookworm systemd[1]: Starting updatedb.service - render database update...
Nov 23 15:48:29 bookworm systemd[1]: Started updatedb.service - render database update.
Nov 23 15:48:30 bookworm osm2pgsql-replication[6852]: 2024-11-23 15:48:30 [INFO]: Using replication service 'http://download.geofabrik.de/europe/monaco-updates'. Current sequence 4249 (2024-11-22 21:20:41+00:00).
Nov 23 15:48:30 bookworm osm2pgsql-replication[6852]: 2024-11-23 15:48:30 [INFO]: Database already up-to-date.
Nov 23 15:48:30 bookworm systemd[1]: updatedb.service: Deactivated successfully.

vagrant@bookworm:~$ sudo systemctl stop updatedb
vagrant@bookworm:~$ sudo systemctl disable updatedb
Removed "/etc/systemd/system/multi-user.target.wants/updatedb.service".
vagrant@bookworm:~$ sudo systemctl status updatedb
○ updatedb.service - render database update
     Loaded: loaded (/etc/systemd/system/updatedb.service; disabled; preset: enabled)
     Active: inactive (dead)

Nov 23 15:48:30 bookworm osm2pgsql-replication[6852]: 2024-11-23 15:48:30 [INFO]: Database already up-to-date.
Nov 23 15:48:30 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Nov 23 15:49:20 bookworm systemd[1]: updatedb.service: Scheduled restart job, restart counter is at 43.
Nov 23 15:49:20 bookworm systemd[1]: Stopped updatedb.service - render database update.
Nov 23 15:49:20 bookworm systemd[1]: Starting updatedb.service - render database update...
Nov 23 15:49:20 bookworm systemd[1]: Started updatedb.service - render database update.
Nov 23 15:49:20 bookworm osm2pgsql-replication[6858]: 2024-11-23 15:49:20 [INFO]: Using replication service 'http://download.geofabrik.de/europe/monaco->
Nov 23 15:49:20 bookworm osm2pgsql-replication[6858]: 2024-11-23 15:49:20 [INFO]: Database already up-to-date.
Nov 23 15:49:20 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Nov 23 15:49:37 bookworm systemd[1]: Stopped updatedb.service - render database update

osm2pgsql --version zeigt die Version 1.8.0 an:

vagrant@bookworm:~$ osm2pgsql --version
2024-11-23 15:54:00  osm2pgsql version 1.8.0
Build: None
Compiled using the following library versions:
Libosmium 2.19.0
Proj [API 6] 9.1.1
Lua 5.3.6

Ausführen des Ansible Playbook mit den Änderungen für osm2pgsql version 2.0.0

amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ ansible-playbook -v -i vagrant.ini site.yml -u vagrant 

Das Log in Auszügen:

Using /home/astrid/openstreetmap/osm-server/ansible_openstreetmap.de/ansible.cfg as config file

PLAY [all] *********************************************************************
...
TASK [tile : Ensure backports repository is enabled] ***************************
changed: [vagrant] => changed=true 
  repo: deb http://deb.debian.org/debian bookworm-backports main
  sources_added:
  - /etc/apt/sources.list.d/deb_debian_org_debian.list
  sources_removed: []
  state: present

TASK [tile : Update apt cache] *************************************************
ok: [vagrant] => changed=false 
  cache_update_time: 1732377360
  cache_updated: false

TASK [tile : Install osm2pgsql from backports] *********************************
changed: [vagrant] => changed=true 
  cache_update_time: 1732377360
  cache_updated: false
  stderr: ''
  stderr_lines: <omitted>
  stdout: |-
    Reading package lists...
    Building dependency tree...
    Reading state information...
    The following packages will be upgraded:
      osm2pgsql
    1 upgraded, 0 newly installed, 0 to remove and 117 not upgraded.
    Need to get 655 kB of archives.
    After this operation, 376 kB of additional disk space will be used.
    Get:1 https://deb.debian.org/debian bookworm-backports/main amd64 osm2pgsql amd64 2.0.0+ds-1~bpo12+1 [655 kB]
    apt-listchanges: Reading changelogs...
    Fetched 655 kB in 1s (1042 kB/s)
    (Reading database ... (Reading database ... 5%(Reading database ... 10%(Reading database ... 15%(Reading database ... 20%(Reading database ... 25%(Reading database ... 30%(Reading database ... 35%(Reading database ... 40%(Reading database ... 45%(Reading database ... 50%(Reading database ... 55%(Reading database ... 60%(Reading database ... 65%(Reading database ... 70%(Reading database ... 75%(Reading database ... 80%(Reading database ... 85%(Reading database ... 90%(Reading database ... 95%(Reading database ... 100%(Reading database ... 118746 files and directories currently installed.)
    Preparing to unpack .../osm2pgsql_2.0.0+ds-1~bpo12+1_amd64.deb ...
    Unpacking osm2pgsql (2.0.0+ds-1~bpo12+1) over (1.8.0+ds-1) ...
    Setting up osm2pgsql (2.0.0+ds-1~bpo12+1) ...
    Processing triggers for man-db (2.11.2-2) ...
  stdout_lines: <omitted>

TASK [tile : Install pyosmium with apt] ****************************************
ok: [vagrant] => changed=false 
  cache_update_time: 1732377360
  cache_updated: false

TASK [tile : install required packages with apt] *******************************
ok: [vagrant] => changed=false 
  cache_update_time: 1732377360
  cache_updated: false

TASK [tile : import script] ****************************************************
changed: [vagrant] => changed=true 
  checksum: 2935b0eb1ce39c8352e5a285d7bf71549353a30e
  dest: /usr/local/sbin/import-osm2pgsql
  gid: 0
  group: root
  md5sum: 3ac058ba5347d0f7a045b93a31d61144
  mode: '0755'
  owner: root
  size: 2940
  src: /home/vagrant/.ansible/tmp/ansible-tmp-1732373896.116979-30985-21719873806536/source
  state: file
  uid: 0

TASK [tile : Make sure destination dir for flatnode file, planet and bin dir exist] ***
ok: [vagrant] => (item=/srv/tile/flatnode) => changed=false 
  ansible_loop_var: item
  gid: 996
  group: tile
  item: /srv/tile/flatnode
  mode: '0755'
  owner: tile
  path: /srv/tile
  size: 4096
  state: directory
  uid: 999
ok: [vagrant] => (item=/srv/tile/planet.osm.pbf) => changed=false 
  ansible_loop_var: item
  gid: 996
  group: tile
  item: /srv/tile/planet.osm.pbf
  mode: '0755'
  owner: tile
  path: /srv/tile
  size: 4096
  state: directory
  uid: 999
ok: [vagrant] => (item=/srv/tile/bin/expire-tiles-single.py) => changed=false 
  ansible_loop_var: item
  gid: 0
  group: root
  item: /srv/tile/bin/expire-tiles-single.py
  mode: '0755'
  owner: root
  path: /srv/tile/bin
  size: 4096
  state: directory
  uid: 0

TASK [tile : render database updates from minutely] ****************************
changed: [vagrant] => changed=true 
  checksum: d4ae42b13fa9a9b865fe2637c0c7cdc318abd03a
  dest: /etc/systemd/system/updatedb.service
  gid: 0
  group: root
  md5sum: d675df77f3f79a342c70e634357583b0
  mode: '0644'
  owner: root
  size: 460
  src: /home/vagrant/.ansible/tmp/ansible-tmp-1732373897.8073187-30998-33336710338320/source
  state: file
  uid: 0

TASK [tile : german style] *****************************************************
changed: [vagrant] => changed=true 
  after: b653267dc3ebf137a0aa1e5ca049f63005188b47
  before: 49aac58bcad0f5022eb74c9852d61ffd400bc017
  remote_url_changed: false

TASK [tile : Dependencies for style and localization functions for OpenStreetMap] ***
ok: [vagrant] => changed=false 
  cache_update_time: 1732377360
  cache_updated: false

TASK [tile : node carto for style transformation] ******************************
ok: [vagrant] => changed=false 
  cmd: npm install --global carto
  delta: null
  end: null
  msg: Did not run command since '/usr/local/bin/carto' exists
  rc: 0
  start: null
  stderr: ''
  stderr_lines: <omitted>
  stdout: skipped, since /usr/local/bin/carto exists
  stdout_lines: <omitted>

TASK [tile : generate mapnik xml] **********************************************
changed: [vagrant] => changed=true 
  cmd: make; git checkout project.mml
  delta: '0:00:36.533775'
  end: '2024-11-23 15:56:58.982713'
  msg: ''
  rc: 0
  start: '2024-11-23 15:56:22.448938'
  stderr: |-
    Warning: style/landcover.mss:630:4 line-offset is unstable. It may change in the future.
    Warning: style/landcover.mss:633:6 line-offset is unstable. It may change in the future.
    Warning: style/water-features.mss:112:6 line-offset is unstable. It may change in the future.
    ....
    Warning: style/admin.mss:18:6 Styles do not match layer selector #admin-low-zoom.
    Updated 0 paths from the index
  stderr_lines: <omitted>
  stdout: |-
    carto -a 3.0.15 project.mml > /tmp/tmp.wyCh5drKdz
    mv /tmp/tmp.wyCh5drKdz osm-de.xml
    sed -e 's/localized_[a-z_]\+/name_hrb/g' project.mml >project-hrb.mml
    carto -a 3.0.15 project-hrb.mml > /tmp/tmp.wyCh5drKdz
    mv /tmp/tmp.wyCh5drKdz osm-hrb.xml
  stdout_lines: <omitted>

TASK [tile : Localization functions for OpenStreetMap] *************************
changed: [vagrant] => changed=true 
  after: d06b251bd6882d9ff9bc4e028cc593c8d02a3bb7
  before: 8e3004b72f07b1cdb4b4c4a1d50c1dd765194448
  remote_url_changed: false

TASK [tile : clear outdated .deb packages of osml10n] **************************
changed: [vagrant] => changed=true 
  cmd: rm -f /srv/tile/sources/osml10n*.deb /srv/tile/sources/osml10n/*.deb
  delta: '0:00:00.006004'
  end: '2024-11-23 15:57:01.335680'
  msg: ''
  rc: 0
  start: '2024-11-23 15:57:01.329676'
  stderr: ''
  stderr_lines: <omitted>
  stdout: ''
  stdout_lines: <omitted>

TASK [tile : Build osml10n debian packages] ************************************
changed: [vagrant] => (item=/srv/tile/sources/osml10n) => changed=true 
  ansible_loop_var: item
  cmd: make deb
  delta: '0:00:03.223523'
  end: '2024-11-23 15:57:04.879868'
  item: /srv/tile/sources/osml10n
  msg: ''
  rc: 0
  start: '2024-11-23 15:57:01.656345'
  stderr: |2-
     dpkg-source --before-build .
     fakeroot debian/rules clean
     debian/rules build
     fakeroot debian/rules binary
     dpkg-genbuildinfo --build=binary -O../osml10n_1.2.0_amd64.buildinfo
     dpkg-genchanges --build=binary -O../osml10n_1.2.0_amd64.changes
     dpkg-source --after-build .
  stderr_lines: <omitted>
  stdout: |-
    dpkg-buildpackage -b -uc
    dpkg-buildpackage: info: source package osml10n
    dpkg-buildpackage: info: source version 1.2.0
    dpkg-buildpackage: info: source distribution unstable
    dpkg-buildpackage: info: source changed by Sven Geggus <sven-debian@geggus.net>
    dpkg-buildpackage: info: host architecture amd64
    make[1]: Entering directory '/srv/tile/sources/osml10n'
    dh clean
       dh_auto_clean
            make -j1 clean
    make[2]: Entering directory '/srv/tile/sources/osml10n'
    echo "there is nothing to clean"
    there is nothing to clean
    make[2]: Leaving directory '/srv/tile/sources/osml10n'
       dh_clean
    make[1]: Leaving directory '/srv/tile/sources/osml10n'
    make[1]: Entering directory '/srv/tile/sources/osml10n'
    make[1]: 'build' is up to date.
    make[1]: Leaving directory '/srv/tile/sources/osml10n'
    make[1]: Entering directory '/srv/tile/sources/osml10n'
    dh binary
       dh_update_autotools_config
       dh_autoreconf
       dh_auto_configure
       dh_auto_build
            make -j1 "INSTALL=install --strip-program=true"
    make[2]: Entering directory '/srv/tile/sources/osml10n'
    make[2]: 'build' is up to date.
    make[2]: Leaving directory '/srv/tile/sources/osml10n'
       debian/rules override_dh_auto_test
    make[2]: Entering directory '/srv/tile/sources/osml10n'
    /bin/true
    make[2]: Leaving directory '/srv/tile/sources/osml10n'
       create-stamp debian/debhelper-build-stamp
       dh_testroot
       dh_prep
       dh_installdirs
       debian/rules override_dh_auto_install
    make[2]: Entering directory '/srv/tile/sources/osml10n'
    dh_auto_install -- prefix=/usr
            make -j1 install DESTDIR=/srv/tile/sources/osml10n/debian/osml10n AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true" prefix=/usr
    make[3]: Entering directory '/srv/tile/sources/osml10n'
    mkdir -p /srv/tile/sources/osml10n/debian/osml10n/usr/share/lua/5.3
    cp -a lua_osml10/osml10n /srv/tile/sources/osml10n/debian/osml10n/usr/share/lua/5.3/
    chmod -R go+rX /srv/tile/sources/osml10n/debian/osml10n/usr/share/lua/5.3/osml10n
    make[3]: Leaving directory '/srv/tile/sources/osml10n'
    make[2]: Leaving directory '/srv/tile/sources/osml10n'
       dh_installdocs
       dh_installchangelogs
       dh_perl
       dh_link
       dh_strip_nondeterminism
       dh_compress
       dh_fixperms
       dh_missing
       dh_installdeb
       dh_gencontrol
       dh_md5sums
       dh_builddeb
    dpkg-deb: building package 'osml10n' in '../osml10n_1.2.0_all.deb'.
    make[1]: Leaving directory '/srv/tile/sources/osml10n'
    dpkg-genchanges: info: binary-only upload (no source code included)
    dpkg-buildpackage: info: binary-only upload (no source included)
  stdout_lines: <omitted>
changed: [vagrant] => (item=/srv/tile/sources/osml10n/lua_unac) => changed=true 
  ansible_loop_var: item
  cmd: make deb
  delta: '0:00:04.232802'
  end: '2024-11-23 15:57:09.371837'
  item: /srv/tile/sources/osml10n/lua_unac
  msg: ''
  rc: 0
  start: '2024-11-23 15:57:05.139035'
  stderr: |2-
     dpkg-source --before-build .
     fakeroot debian/rules clean
     debian/rules build
     fakeroot debian/rules binary
    dpkg-gencontrol: warning: package lua-unaccent: substitution variable ${shlibs:Depends} unused, but is defined
    dpkg-gencontrol: warning: package lua-unaccent: substitution variable ${shlibs:Depends} unused, but is defined
     dpkg-genbuildinfo --build=binary -O../lua-unaccent_1.8-1_amd64.buildinfo
     dpkg-genchanges --build=binary -O../lua-unaccent_1.8-1_amd64.changes
     dpkg-source --after-build .
  stderr_lines: <omitted>
  stdout: |-
    dpkg-buildpackage -b -uc
    dpkg-buildpackage: info: source package lua-unaccent
    dpkg-buildpackage: info: source version 1.8-1
    dpkg-buildpackage: info: source distribution unstable
    dpkg-buildpackage: info: source changed by Sven Geggus <sven-debian@geggus.net>
    dpkg-buildpackage: info: host architecture amd64
    make[1]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    dh clean
       dh_auto_clean
            make -j1 clean
    make[2]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    rm -f unaccent.so
    make[2]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
       dh_clean
    make[1]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
    make[1]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    dh build
       dh_update_autotools_config
       dh_autoreconf
       dh_auto_configure
       dh_auto_build
            make -j1 "INSTALL=install --strip-program=true"
    make[2]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    gcc -Wall -shared -fPIC -o unaccent.so -I/usr/include/lua5.3 -llua5.3 -Wl,--no-as-needed -lunac lua_unac.c
    make[2]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
       dh_auto_test
       create-stamp debian/debhelper-build-stamp
    make[1]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
    make[1]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    dh binary
       dh_testroot
       dh_prep
       dh_installdirs
       dh_auto_install --destdir=debian/lua-unaccent/
            make -j1 install DESTDIR=/srv/tile/sources/osml10n/lua_unac/debian/lua-unaccent AM_UPDATE_INFO_DIR=no "INSTALL=install --strip-program=true"
    make[2]: Entering directory '/srv/tile/sources/osml10n/lua_unac'
    install -m 644 unaccent.so /srv/tile/sources/osml10n/lua_unac/debian/lua-unaccent/usr/lib/x86_64-linux-gnu/lua/5.3/
    make[2]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
       dh_installdocs
       dh_installchangelogs
       dh_perl
       dh_link
       dh_strip_nondeterminism
       dh_compress
       dh_fixperms
       dh_missing
       dh_strip
       dh_makeshlibs
       dh_shlibdeps
       dh_installdeb
       dh_gencontrol
       dh_md5sums
       dh_builddeb
    dpkg-deb: building package 'lua-unaccent' in '../lua-unaccent_1.8-1_amd64.deb'.
    dpkg-deb: building package 'lua-unaccent-dbgsym' in '../lua-unaccent-dbgsym_1.8-1_amd64.deb'.
    make[1]: Leaving directory '/srv/tile/sources/osml10n/lua_unac'
    dpkg-genchanges: info: binary-only upload (no source code included)
    dpkg-buildpackage: info: binary-only upload (no source included)
  stdout_lines: <omitted>
...
TASK [tile : Set up virtualenv] ************************************************
changed: [vagrant] => changed=true 
  cmd:
  - /srv/tile/venv/bin/pip3
  - install
  - /srv/tile/sources/osml10n/
  name:
  - /srv/tile/sources/osml10n/
  requirements: null
  state: present
  stderr: ''
  stderr_lines: <omitted>
  stdout: |-
    Processing /srv/tile/sources/osml10n
      Installing build dependencies: started
      Installing build dependencies: finished with status 'done'
      Getting requirements to build wheel: started
      Getting requirements to build wheel: finished with status 'done'
      Preparing metadata (pyproject.toml): started
      Preparing metadata (pyproject.toml): finished with status 'done'
    Requirement already satisfied: setuptools in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (66.1.1)
    Requirement already satisfied: scipy in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (1.13.1)
    Requirement already satisfied: scikit-learn in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (1.3.2)
    Requirement already satisfied: pykakasi==2.2.1 in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (2.2.1)
    Requirement already satisfied: tltk==1.8.0 in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (1.8)
    Requirement already satisfied: pinyin_jyutping_sentence==1.3 in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (1.3)
    Requirement already satisfied: pyicu in /usr/lib/python3/dist-packages (from osml10n==1.2.0) (2.10.2)
    Requirement already satisfied: shapely in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (2.0.6)
    Requirement already satisfied: sdnotify in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (0.3.2)
    Requirement already satisfied: requests in /usr/lib/python3/dist-packages (from osml10n==1.2.0) (2.28.1)
    Requirement already satisfied: pandas in /srv/tile/venv/lib/python3.11/site-packages (from osml10n==1.2.0) (2.2.3)
    Requirement already satisfied: jieba in /srv/tile/venv/lib/python3.11/site-packages (from pinyin_jyutping_sentence==1.3->osml10n==1.2.0) (0.42.1)
    Requirement already satisfied: jaconv in /srv/tile/venv/lib/python3.11/site-packages (from pykakasi==2.2.1->osml10n==1.2.0) (0.4.0)
    Requirement already satisfied: deprecated in /srv/tile/venv/lib/python3.11/site-packages (from pykakasi==2.2.1->osml10n==1.2.0) (1.2.14)
    Requirement already satisfied: nltk in /srv/tile/venv/lib/python3.11/site-packages (from tltk==1.8.0->osml10n==1.2.0) (3.9.1)
    Requirement already satisfied: sklearn-crfsuite in /srv/tile/venv/lib/python3.11/site-packages (from tltk==1.8.0->osml10n==1.2.0) (0.5.0)
    Requirement already satisfied: gensim in /srv/tile/venv/lib/python3.11/site-packages (from tltk==1.8.0->osml10n==1.2.0) (4.3.3)
    Requirement already satisfied: numpy>=1.23.2 in /usr/lib/python3/dist-packages (from pandas->osml10n==1.2.0) (1.24.2)
    Requirement already satisfied: python-dateutil>=2.8.2 in /srv/tile/venv/lib/python3.11/site-packages (from pandas->osml10n==1.2.0) (2.9.0.post0)
    Requirement already satisfied: pytz>=2020.1 in /srv/tile/venv/lib/python3.11/site-packages (from pandas->osml10n==1.2.0) (2024.2)
    Requirement already satisfied: tzdata>=2022.7 in /srv/tile/venv/lib/python3.11/site-packages (from pandas->osml10n==1.2.0) (2024.2)
    Requirement already satisfied: joblib>=1.1.1 in /srv/tile/venv/lib/python3.11/site-packages (from scikit-learn->osml10n==1.2.0) (1.4.2)
    Requirement already satisfied: threadpoolctl>=2.0.0 in /srv/tile/venv/lib/python3.11/site-packages (from scikit-learn->osml10n==1.2.0) (3.5.0)
    Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil>=2.8.2->pandas->osml10n==1.2.0) (1.16.0)
    Requirement already satisfied: wrapt<2,>=1.10 in /srv/tile/venv/lib/python3.11/site-packages (from deprecated->pykakasi==2.2.1->osml10n==1.2.0) (1.16.0)
    Requirement already satisfied: smart-open>=1.8.1 in /srv/tile/venv/lib/python3.11/site-packages (from gensim->tltk==1.8.0->osml10n==1.2.0) (7.0.5)
    Requirement already satisfied: click in /srv/tile/venv/lib/python3.11/site-packages (from nltk->tltk==1.8.0->osml10n==1.2.0) (8.1.7)
    Requirement already satisfied: regex>=2021.8.3 in /srv/tile/venv/lib/python3.11/site-packages (from nltk->tltk==1.8.0->osml10n==1.2.0) (2024.9.11)
    Requirement already satisfied: tqdm in /srv/tile/venv/lib/python3.11/site-packages (from nltk->tltk==1.8.0->osml10n==1.2.0) (4.66.5)
    Requirement already satisfied: python-crfsuite>=0.9.7 in /srv/tile/venv/lib/python3.11/site-packages (from sklearn-crfsuite->tltk==1.8.0->osml10n==1.2.0) (0.9.11)
    Requirement already satisfied: tabulate>=0.4.2 in /srv/tile/venv/lib/python3.11/site-packages (from sklearn-crfsuite->tltk==1.8.0->osml10n==1.2.0) (0.9.0)
    Building wheels for collected packages: osml10n
      Building wheel for osml10n (pyproject.toml): started
      Building wheel for osml10n (pyproject.toml): finished with status 'done'
      Created wheel for osml10n: filename=osml10n-1.2.0-py3-none-any.whl size=460510 sha256=17a7516b4a7471019c093c6815dcba1cbf3288ad8adb831eb8bd5a16af5e0af0
      Stored in directory: /tmp/pip-ephem-wheel-cache-4lx_a458/wheels/58/59/6b/e33f37490a677616eceeaca7209a8dd775b4ee853e7f6b790b
    Successfully built osml10n
    Installing collected packages: osml10n
      Attempting uninstall: osml10n
        Found existing installation: osml10n 1.2.0
        Uninstalling osml10n-1.2.0:
          Successfully uninstalled osml10n-1.2.0
    Successfully installed osml10n-1.2.0
  stdout_lines: <omitted>
  version: null
  virtualenv: /srv/tile/venv

TASK [tile : Copy osml10n service] *********************************************
changed: [vagrant] => changed=true 
  cmd: make systemd-service PYTARGET=/srv/tile/venv
  delta: '0:00:00.010277'
  end: '2024-11-23 15:57:32.324989'
  msg: ''
  rc: 0
  start: '2024-11-23 15:57:32.314712'
  stderr: ''
  stderr_lines: <omitted>
  stdout: sed -e "s;%PYTARGET%;/srv/tile/venv;g" transcription-daemon/geo-transcript-srv.service.template >/etc/systemd/system/osml10n.service
  stdout_lines: <omitted>
...
PLAY RECAP *********************************************************************
dummy                      : ok=0    changed=0    unreachable=1    failed=0    skipped=0    rescued=0    ignored=0   
vagrant                    : ok=127  changed=21   unreachable=0    failed=0    skipped=29   rescued=0    ignored=0   

osm2pgsql --version zeigt nun die Version 2.0.0 an:

vagrant@bookworm:~$ osm2pgsql --version
osm2pgsql version 2.0.0
Build: None
Compiled using the following library versions:
Libosmium 2.19.0
Proj 9.1.1
Lua 5.3.6

Neu-Import der Daten

Nach einem Neustart haben wir die Daten neu eingelesen. Dabei wird die Datenbank neu angelegt (kein append).

vagrant@bookworm:~$ sudo reboot

vagrant@bookworm:~$ sudo /usr/local/sbin/import-osm2pgsql

Redirecting output to ‘wget-log.1’.
2024-11-23 15:26:56  osm2pgsql version 2.0.0
2024-11-23 15:26:56  WARNING: RAM cache is disabled. This will likely slow down processing a lot.
2024-11-23 15:26:56  Database version: 15.8 (Debian 15.8-0+deb12u1)
2024-11-23 15:26:56  PostGIS version: 3.3
2024-11-23 15:26:56  Initializing properties table '"public"."osm2pgsql_properties"'.
2024-11-23 15:26:56  Storing properties to table '"public"."osm2pgsql_properties"'.
2024-11-23 15:26:57  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
2024-11-23 15:27:01  Reading input files done in 4s.                                      
2024-11-23 15:27:01    Processed 30936 nodes in 2s - 15k/s
2024-11-23 15:27:01    Processed 4973 ways in 1s - 5k/s
2024-11-23 15:27:01    Processed 291 relations in 1s - 291/s
2024-11-23 15:27:01  No marked nodes or ways (Skipping stage 2).
2024-11-23 15:27:01  Clustering table 'planet_osm_hstore_point' by geometry...
2024-11-23 15:27:01  Creating index on table 'planet_osm_hstore_point' ("way")...
2024-11-23 15:27:01  Creating id index on table 'planet_osm_hstore_point'...
2024-11-23 15:27:01  Analyzing table 'planet_osm_hstore_point'...
2024-11-23 15:27:01  Clustering table 'planet_osm_hstore_line' by geometry...
2024-11-23 15:27:01  Creating index on table 'planet_osm_hstore_line' ("way")...
2024-11-23 15:27:01  Creating id index on table 'planet_osm_hstore_line'...
2024-11-23 15:27:01  Analyzing table 'planet_osm_hstore_line'...
2024-11-23 15:27:02  Clustering table 'planet_osm_hstore_roads' by geometry...
2024-11-23 15:27:02  Creating index on table 'planet_osm_hstore_roads' ("way")...
2024-11-23 15:27:02  Creating id index on table 'planet_osm_hstore_roads'...
2024-11-23 15:27:02  Analyzing table 'planet_osm_hstore_roads'...
2024-11-23 15:27:02  Clustering table 'planet_osm_hstore_polygon' by geometry...
2024-11-23 15:27:02  Creating index on table 'planet_osm_hstore_polygon' ("way")...
2024-11-23 15:27:03  Creating id index on table 'planet_osm_hstore_polygon'...
2024-11-23 15:27:03  Analyzing table 'planet_osm_hstore_polygon'...
2024-11-23 15:27:03  No indexes to create on table 'planet_osm_hstore_route'.
2024-11-23 15:27:03  Creating id index on table 'planet_osm_hstore_route'...
2024-11-23 15:27:03  Analyzing table 'planet_osm_hstore_route'...
2024-11-23 15:27:03  Done postprocessing on table 'planet_osm_nodes' in 0s
2024-11-23 15:27:03  Building index on table 'planet_osm_ways'
2024-11-23 15:27:04  Done postprocessing on table 'planet_osm_ways' in 0s
2024-11-23 15:27:04  Building index on table 'planet_osm_rels'
2024-11-23 15:27:05  Done postprocessing on table 'planet_osm_rels' in 1s
2024-11-23 15:27:05  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
2024-11-23 15:27:05  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
2024-11-23 15:27:05  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
2024-11-23 15:27:05  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
2024-11-23 15:27:05  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
2024-11-23 15:27:05  Storing properties to table '"public"."osm2pgsql_properties"'.
2024-11-23 15:27:05  osm2pgsql took 9s overall.
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
using database: osm
CREATE VIEW
GRANT
CREATE VIEW
GRANT
CREATE VIEW
GRANT
CREATE VIEW
GRANT
CREATE FUNCTION
CREATE FUNCTION
CREATE FUNCTION
2024-11-23 15:27:12 [INFO]: Initialised updates for service 'https://planet.openstreetmap.org/replication/minute'.
2024-11-23 15:27:12 [INFO]: Starting at sequence 6356693 (2024-11-21T07:51:46Z).
Using replication service 'https://planet.openstreetmap.org/replication/minute', which is at sequence 6359947 ( 2024-11-23T15:26:25Z )
Replication server's most recent data is 48 second(s) old
Local database is 3254 sequences behind the server, i.e. 2 day(s) 7 hour(s) 34 minute(s) 39 second(s)
Local database's most recent data is 2 day(s) 7 hour(s) 35 minute(s) 27 second(s) old
INFO:root:Starting load of external data into database
INFO:root:Checking table simplified_water_polygons
INFO:root:  Download complete (23896068 bytes)
INFO:root:  Decompressing file
INFO:root:  Importing into database
INFO:root:  Import complete
INFO:root:Checking table water_polygons
INFO:root:  Download complete (871221776 bytes)
INFO:root:  Decompressing file
INFO:root:  Importing into database
INFO:root:  Import complete
INFO:root:Checking table icesheet_polygons
INFO:root:  Download complete (52714660 bytes)
INFO:root:  Decompressing file
INFO:root:  Importing into database
INFO:root:  Import complete
INFO:root:Checking table icesheet_outlines
INFO:root:  Download complete (53595955 bytes)
INFO:root:  Decompressing file
INFO:root:  Importing into database
INFO:root:  Import complete
INFO:root:Checking table ne_110m_admin_0_boundary_lines_land
INFO:root:  Table ne_110m_admin_0_boundary_lines_land did not require updating

Redirecting output to ‘wget-log’.
Archive:  carto-fonts.zip
  inflating: HanaMinA.ttf            
  inflating: HanaMinB.ttf            
  inflating: NotoEmoji-Bold.ttf      
  inflating: NotoEmoji-Regular.ttf   
  inflating: NotoSansAdlamUnjoined-Bold.ttf  
  inflating: NotoSansAdlamUnjoined-Regular.ttf  
  inflating: NotoSansArabicUI-Bold.ttf  
  inflating: NotoSansArabicUI-Regular.ttf  
  inflating: NotoSansArmenian-Bold.ttf  
  inflating: NotoSansArmenian-Regular.ttf  
  inflating: NotoSansBalinese-Bold.ttf  
  inflating: NotoSansBalinese-Regular.ttf  
  inflating: NotoSansBamum-Bold.ttf  
  inflating: NotoSansBamum-Regular.ttf  
  inflating: NotoSansBatak-Regular.ttf  
  inflating: NotoSansBengaliUI-Bold.ttf  
  inflating: NotoSansBengaliUI-Regular.ttf  
  inflating: NotoSans-Bold.ttf       
  inflating: NotoSansBuginese-Regular.ttf  
  inflating: NotoSansBuhid-Regular.ttf  
  inflating: NotoSansCanadianAboriginal-Bold.ttf  
  inflating: NotoSansCanadianAboriginal-Regular.ttf  
  inflating: NotoSansChakma-Regular.ttf  
  inflating: NotoSansCham-Bold.ttf   
  inflating: NotoSansCham-Regular.ttf  
  inflating: NotoSansCherokee-Bold.ttf  
  inflating: NotoSansCherokee-Regular.ttf  
  inflating: NotoSansCJKjp-Bold.otf  
  inflating: NotoSansCJKjp-Regular.otf  
  inflating: NotoSansCoptic-Regular.ttf  
  inflating: NotoSansDevanagariUI-Bold.ttf  
  inflating: NotoSansDevanagariUI-Regular.ttf  
  inflating: NotoSansEthiopic-Bold.ttf  
  inflating: NotoSansEthiopic-Regular.ttf  
  inflating: NotoSansGeorgian-Bold.ttf  
  inflating: NotoSansGeorgian-Regular.ttf  
  inflating: NotoSansGujaratiUI-Bold.ttf  
  inflating: NotoSansGujaratiUI-Regular.ttf  
  inflating: NotoSansGurmukhiUI-Bold.ttf  
  inflating: NotoSansGurmukhiUI-Regular.ttf  
  inflating: NotoSansHanunoo-Regular.ttf  
  inflating: NotoSansHebrew-Bold.ttf  
  inflating: NotoSansHebrew-Regular.ttf  
  inflating: NotoSans-Italic.ttf     
  inflating: NotoSansJavanese-Bold.ttf  
  inflating: NotoSansJavanese-Regular.ttf  
  inflating: NotoSansKannadaUI-Bold.ttf  
  inflating: NotoSansKannadaUI-Regular.ttf  
  inflating: NotoSansKayahLi-Bold.ttf  
  inflating: NotoSansKayahLi-Regular.ttf  
  inflating: NotoSansKhmerUI-Bold.ttf  
  inflating: NotoSansKhmerUI-Regular.ttf  
  inflating: NotoSansLaoUI-Bold.ttf  
  inflating: NotoSansLaoUI-Regular.ttf  
  inflating: NotoSansLepcha-Regular.ttf  
  inflating: NotoSansLimbu-Regular.ttf  
  inflating: NotoSansLisu-Bold.ttf   
  inflating: NotoSansLisu-Regular.ttf  
  inflating: NotoSansMalayalamUI-Bold.ttf  
  inflating: NotoSansMalayalamUI-Regular.ttf  
  inflating: NotoSansMandaic-Regular.ttf  
  inflating: NotoSansMongolian-Regular.ttf  
  inflating: NotoSansMyanmarUI-Bold.ttf  
  inflating: NotoSansMyanmarUI-Regular.ttf  
  inflating: NotoSansNewTaiLue-Regular.ttf  
  inflating: NotoSansNKo-Regular.ttf  
  inflating: NotoSansOlChiki-Bold.ttf  
  inflating: NotoSansOlChiki-Regular.ttf  
  inflating: NotoSansOriyaUI-Bold.ttf  
  inflating: NotoSansOriyaUI-Regular.ttf  
  inflating: NotoSansOsage-Regular.ttf  
  inflating: NotoSansOsmanya-Regular.ttf  
  inflating: NotoSans-Regular.ttf    
  inflating: NotoSansSamaritan-Regular.ttf  
  inflating: NotoSansSaurashtra-Regular.ttf  
  inflating: NotoSansShavian-Regular.ttf  
  inflating: NotoSansSinhalaUI-Bold.ttf  
  inflating: NotoSansSinhalaUI-Regular.ttf  
  inflating: NotoSansSundanese-Bold.ttf  
  inflating: NotoSansSundanese-Regular.ttf  
  inflating: NotoSansSymbols2-Regular.ttf  
  inflating: NotoSansSymbols-Bold.ttf  
  inflating: NotoSansSymbols-Regular.ttf  
  inflating: NotoSansSyriac-Black.ttf  
  inflating: NotoSansSyriac-Regular.ttf  
  inflating: NotoSansTagalog-Regular.ttf  
  inflating: NotoSansTagbanwa-Regular.ttf  
  inflating: NotoSansTaiLe-Regular.ttf  
  inflating: NotoSansTaiTham-Bold.ttf  
  inflating: NotoSansTaiTham-Regular.ttf  
  inflating: NotoSansTaiViet-Regular.ttf  
  inflating: NotoSansTamilUI-Bold.ttf  
  inflating: NotoSansTamilUI-Regular.ttf  
  inflating: NotoSansTeluguUI-Bold.ttf  
  inflating: NotoSansTeluguUI-Regular.ttf  
  inflating: NotoSansThaana-Bold.ttf  
  inflating: NotoSansThaana-Regular.ttf  
  inflating: NotoSansThaiUI-Bold.ttf  
  inflating: NotoSansThaiUI-Regular.ttf  
  inflating: NotoSansTifinagh-Regular.ttf  
  inflating: NotoSansVai-Regular.ttf  
  inflating: NotoSansYi-Regular.ttf  
  inflating: NotoSerifTibetan-Bold.ttf  
  inflating: NotoSerifTibetan-Regular.ttf  
Created symlink /etc/systemd/system/multi-user.target.wants/updatedb.service → /etc/systemd/system/updatedb.service.
vagrant@bookworm:~$ sudo journalctl -u updatedb -f
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  Done postprocessing on table 'planet_osm_nodes' in 0s
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  Done postprocessing on table 'planet_osm_ways' in 0s
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  Done postprocessing on table 'planet_osm_rels' in 0s
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:22:54 bookworm osm2pgsql-replication[7785]: 2024-11-23 19:22:54  osm2pgsql took 6s overall.
Nov 23 19:23:00 bookworm osm2pgsql-replication[4791]: 2024-11-23 19:23:00 [INFO]: Data imported until 2024-11-21T13:06:41Z. Backlog remaining: 2 day(s) 6 hour(s) 16 minute(s) 19 second(s)
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  osm2pgsql version 2.0.0
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Database version: 15.8 (Debian 15.8-0+deb12u1)
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  PostGIS version: 3.3
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Loading properties from table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Not using flat node file (same as on import).
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Using output 'flex' (same as on import).
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Using style file '/srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua' (same as on import).
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:19 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:19  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: [408B blob data]
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25    Processed 75007 nodes in 1s - 75k/s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25    Processed 13579 ways in 3s - 5k/s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25    Processed 365 relations in 2s - 182/s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Going over 20 pending ways
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Processing 20 pending ways took 0s at a rate of 0.00/s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Going over 13 pending relations
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Processing 13 pending relations took 0s at a rate of 0.00/s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Skipping stage 1c for nodes (no marked nodes).
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Skipping stage 1c for ways (no marked ways).
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  No marked nodes or ways (Skipping stage 2).
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Done postprocessing on table 'planet_osm_nodes' in 0s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Done postprocessing on table 'planet_osm_ways' in 0s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Done postprocessing on table 'planet_osm_rels' in 0s
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:25 bookworm osm2pgsql-replication[7888]: 2024-11-23 19:23:25  osm2pgsql took 6s overall.
Nov 23 19:23:32 bookworm osm2pgsql-replication[4791]: 2024-11-23 19:23:32 [INFO]: Data imported until 2024-11-21T13:38:15Z. Backlog remaining: 2 day(s) 5 hour(s) 45 minute(s) 17 second(s)
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  osm2pgsql version 2.0.0
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Database version: 15.8 (Debian 15.8-0+deb12u1)
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  PostGIS version: 3.3
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Loading properties from table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Not using flat node file (same as on import).
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Using output 'flex' (same as on import).
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Using style file '/srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua' (same as on import).
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:23:55 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:23:55  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: [537B blob data]
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01    Processed 79789 nodes in 2s - 40k/s
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01    Processed 13820 ways in 3s - 5k/s
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01    Processed 365 relations in 1s - 365/s
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01  Going over 32 pending ways
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01  Processing 32 pending ways took 0s at a rate of 0.00/s
Nov 23 19:24:01 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:01  Going over 32 pending relations
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Processing 32 pending relations took 0s at a rate of 0.00/s
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Skipping stage 1c for nodes (no marked nodes).
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Skipping stage 1c for ways (no marked ways).
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  No marked nodes or ways (Skipping stage 2).
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Done postprocessing on table 'planet_osm_nodes' in 0s
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Done postprocessing on table 'planet_osm_ways' in 0s
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Done postprocessing on table 'planet_osm_rels' in 0s
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:24:02 bookworm osm2pgsql-replication[8007]: 2024-11-23 19:24:02  osm2pgsql took 6s overall.
Nov 23 19:24:07 bookworm osm2pgsql-replication[4791]: 2024-11-23 19:24:07 [INFO]: Data imported until 2024-11-21T14:18:45Z. Backlog remaining: 2 day(s) 5 hour(s) 5 minute(s) 22 second(s)
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  osm2pgsql version 2.0.0
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Database version: 15.8 (Debian 15.8-0+deb12u1)
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  PostGIS version: 3.3
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Loading properties from table '"public"."osm2pgsql_properties"'.
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Not using flat node file (same as on import).
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Using output 'flex' (same as on import).
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Using style file '/srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua' (same as on import).
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:24:28 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:28  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: [468B blob data]
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35    Processed 89837 nodes in 2s - 45k/s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35    Processed 13210 ways in 3s - 4k/s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35    Processed 303 relations in 2s - 152/s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Going over 78 pending ways
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Processing 78 pending ways took 0s at a rate of 0.00/s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Going over 28 pending relations
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Processing 28 pending relations took 0s at a rate of 0.00/s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Skipping stage 1c for nodes (no marked nodes).
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Skipping stage 1c for ways (no marked ways).
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  No marked nodes or ways (Skipping stage 2).
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Done postprocessing on table 'planet_osm_nodes' in 0s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Done postprocessing on table 'planet_osm_ways' in 0s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Done postprocessing on table 'planet_osm_rels' in 0s
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 23 19:24:35 bookworm osm2pgsql-replication[8110]: 2024-11-23 19:24:35  osm2pgsql took 6s overall.
Nov 23 19:24:45 bookworm osm2pgsql-replication[4791]: 2024-11-23 19:24:45 [INFO]: Data imported until 2024-11-21T14:51:13Z. Backlog remaining: 2 day(s) 4 hour(s) 33 minute(s) 32 second(s)
....
Nov 24 08:40:32 bookworm systemd[1]: updatedb.service: Consumed 1.415s CPU time.
Nov 24 08:41:22 bookworm systemd[1]: updatedb.service: Scheduled restart job, restart counter is at 496.
Nov 24 08:41:22 bookworm systemd[1]: Stopped updatedb.service - render database update.
Nov 24 08:41:22 bookworm systemd[1]: updatedb.service: Consumed 1.415s CPU time.
Nov 24 08:41:22 bookworm systemd[1]: Starting updatedb.service - render database update...
Nov 24 08:41:22 bookworm systemd[1]: Started updatedb.service - render database update.
Nov 24 08:41:22 bookworm osm2pgsql-replication[120519]: 2024-11-24 08:41:22 [INFO]: Using replication service 'https://planet.openstreetmap.org/replication/minute'.
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  osm2pgsql version 2.0.0
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Database version: 15.10 (Debian 15.10-0+deb12u1)
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  PostGIS version: 3.3
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Loading properties from table '"public"."osm2pgsql_properties"'.
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Not using flat node file (same as on import).
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Using output 'flex' (same as on import).
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Using style file '/srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua' (same as on import).
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 24 08:41:24 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:24  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: [144B blob data]
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25    Processed 765 nodes in 0s - 765/s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25    Processed 171 ways in 0s - 171/s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25    Processed 9 relations in 1s - 9/s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Going over 2 pending ways
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Processing 2 pending ways took 0s at a rate of 0.00/s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Going over 2 pending relations
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Processing 2 pending relations took 0s at a rate of 0.00/s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Skipping stage 1c for nodes (no marked nodes).
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Skipping stage 1c for ways (no marked ways).
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  No marked nodes or ways (Skipping stage 2).
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Done postprocessing on table 'planet_osm_nodes' in 0s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Done postprocessing on table 'planet_osm_ways' in 0s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Done postprocessing on table 'planet_osm_rels' in 0s
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  Storing properties to table '"public"."osm2pgsql_properties"'.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120525]: 2024-11-24 08:41:25  osm2pgsql took 0s overall.
Nov 24 08:41:25 bookworm osm2pgsql-replication[120519]: 2024-11-24 08:41:25 [INFO]: Data imported until 2024-11-24T08:40:44Z. Backlog remaining: 41 second(s)
Nov 24 08:41:26 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Nov 24 08:41:26 bookworm systemd[1]: updatedb.service: Consumed 1.409s CPU time.
Nov 24 08:42:16 bookworm systemd[1]: updatedb.service: Scheduled restart job, restart counter is at 497.
Nov 24 08:42:16 bookworm systemd[1]: Stopped updatedb.service - render database update.
Nov 24 08:42:16 bookworm systemd[1]: updatedb.service: Consumed 1.409s CPU time.
Nov 24 08:42:16 bookworm systemd[1]: Starting updatedb.service - render database update...
Nov 24 08:42:16 bookworm systemd[1]: Started updatedb.service - render database update.
Nov 24 08:42:16 bookworm osm2pgsql-replication[120565]: 2024-11-24 08:42:16 [INFO]: Using replication service 'https://planet.openstreetmap.org/replication/minute'.
Nov 24 08:42:17 bookworm osm2pgsql-replication[120565]: 2024-11-24 08:42:17 [INFO]: Database already up-to-date.
Nov 24 08:42:17 bookworm systemd[1]: updatedb.service: Deactivated successfully.
...

OpenStreetMap Carto German Version v5.9.0-de0 und Localization functions for Openstreetmap (osml10n) Version v1.2.1 sind korrekte Version:

TL;DR: Testupdate von osm2pgsql 1.8 auf 2.0 gemacht, um zu prüfen, ob ein Neueinlesen der Daten nötig ist: Wir haben uns für ein Neueinlesen entschieden.

Testupdate von osm2pgsql 1.8 zu osm2pgsql 2.0

Ausgangspunkt

Ausgangspunkt ist eine Vagrant-Maschine, auf der mittels Ansible genau wie beim “echten” Tile Server die Installation durchgeführt wurde.

In unserem Fall via:

vagrant up bookworm
./init_vagrant_inventory.sh bookworm
ansible-playbook -v -i vagrant.ini site.yml -u vagrant > | tee tile.txt

(mit Memory 8196 ).

Daten

Anstelle der ganzen Welt importieren wir unter Vagrant für den Test lediglich die Daten für Monaco.

vagrant@bookworm:/var/log$ cat osm2pgsql-import.log 
2024-10-20 09:17:19  osm2pgsql version 1.8.0
2024-10-20 09:17:19  WARNING: RAM cache is disabled. This will likely slow down processing a lot.
2024-10-20 09:17:19  Database version: 15.8 (Debian 15.8-0+deb12u1)
2024-10-20 09:17:19  PostGIS version: 3.3
2024-10-20 09:17:26  Reading input files done in 6s.                                      
2024-10-20 09:17:26    Processed 30846 nodes in 1s - 31k/s
2024-10-20 09:17:26    Processed 4958 ways in 4s - 1k/s
2024-10-20 09:17:26    Processed 291 relations in 1s - 291/s
2024-10-20 09:17:26  No marked ways (Skipping stage 2).
2024-10-20 09:17:26  Clustering table 'planet_osm_hstore_point' by geometry...
2024-10-20 09:17:26  Creating index on table 'planet_osm_hstore_point' ("way")...
2024-10-20 09:17:26  Creating id index on table 'planet_osm_hstore_point'...
2024-10-20 09:17:26  Analyzing table 'planet_osm_hstore_point'...
2024-10-20 09:17:26  Clustering table 'planet_osm_hstore_line' by geometry...
2024-10-20 09:17:26  Creating index on table 'planet_osm_hstore_line' ("way")...
2024-10-20 09:17:26  Creating id index on table 'planet_osm_hstore_line'...
2024-10-20 09:17:26  Analyzing table 'planet_osm_hstore_line'...
2024-10-20 09:17:26  Clustering table 'planet_osm_hstore_roads' by geometry...
2024-10-20 09:17:26  Creating index on table 'planet_osm_hstore_roads' ("way")...
2024-10-20 09:17:26  Creating id index on table 'planet_osm_hstore_roads'...
2024-10-20 09:17:26  Analyzing table 'planet_osm_hstore_roads'...
2024-10-20 09:17:26  Clustering table 'planet_osm_hstore_polygon' by geometry...
2024-10-20 09:17:26  Creating index on table 'planet_osm_hstore_polygon' ("way")...
2024-10-20 09:17:26  Creating id index on table 'planet_osm_hstore_polygon'...
2024-10-20 09:17:26  Analyzing table 'planet_osm_hstore_polygon'...
2024-10-20 09:17:26  No indexes to create on table 'planet_osm_hstore_route'.
2024-10-20 09:17:26  Creating id index on table 'planet_osm_hstore_route'...
2024-10-20 09:17:26  Analyzing table 'planet_osm_hstore_route'...
2024-10-20 09:17:26  Done postprocessing on table 'planet_osm_nodes' in 0s
2024-10-20 09:17:26  Building index on table 'planet_osm_ways'
2024-10-20 09:17:27  Done postprocessing on table 'planet_osm_ways' in 0s
2024-10-20 09:17:27  Building index on table 'planet_osm_rels'
2024-10-20 09:17:27  Done postprocessing on table 'planet_osm_rels' in 0s
2024-10-20 09:17:27  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
2024-10-20 09:17:27  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
2024-10-20 09:17:27  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
2024-10-20 09:17:27  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
2024-10-20 09:17:27  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
2024-10-20 09:17:27  osm2pgsql took 7s overall.
Using replication service 'http://download.geofabrik.de/europe/monaco-updates', which is at sequence 4215 ( 2024-10-19T20:21:15Z )
Replication server's most recent data is 12 hour(s) 56 minute(s) old
Local database is up to date with server
Local database's most recent data is 12 hour(s) 56 minute(s) old

Updates

Wir stellen sicher, dass die Datenbank fehlerfrei aktualisiert wird.

vagrant@bookworm:~$ sudo journalctl -u updatedb -f
Oct 28 07:19:56 bookworm osm2pgsql-replication[6667]: 2024-10-28 07:19:56 [INFO]: Data imported until 2024-10-27 21:20:44+00:00. Backlog remaining: 9:59:12.804542
Oct 28 07:19:56 bookworm systemd[1]: updatedb.service: Deactivated successfully.
Oct 28 07:19:56 bookworm systemd[1]: updatedb.service: Consumed 1.187s CPU time.
Oct 28 07:32:05 bookworm systemd[1]: Stopped updatedb.service - render database update.
Oct 28 07:32:05 bookworm systemd[1]: updatedb.service: Consumed 1.187s CPU time.
Oct 28 07:32:05 bookworm systemd[1]: Starting updatedb.service - render database update...
Oct 28 07:32:05 bookworm systemd[1]: Started updatedb.service - render database update.
Oct 28 07:32:05 bookworm osm2pgsql-replication[8082]: 2024-10-28 07:32:05 [INFO]: Using replication service 'http://download.geofabrik.de/europe/monaco-updates'. Current sequence 4223 (2024-10-27 21:20:44+00:00).
Oct 28 07:32:05 bookworm osm2pgsql-replication[8082]: 2024-10-28 07:32:05 [INFO]: Database already up-to-date.
Oct 28 07:32:05 bookworm systemd[1]: updatedb.service: Deactivated successfully.

Konkret sieht der Dienst wie folgt aus:

vagrant@bookworm:/etc/systemd/system$ cat updatedb.service 
[Unit]
Description=render database update
After=syslog.target network.target

[Service]
Type=simple
User=_tirex
Group=_tirex
ExecStartPre=truncate -s 0 /tmp/latest_changes.osc
ExecStart=osm2pgsql-replication update -d osm --max-diff-size 10 \
  --diff-file /tmp/latest_changes.osc --post-processing /srv/tile/bin/expire-tiles.sh -- \
  -G --slim -C 0 -O flex \
  --number-processes 1 -S /srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua \

Restart=always
RestartSec=50
StandardOutput=journal

[Install]
WantedBy=multi-user.target

Datenbank

Als nächstes halten wir den aktuellen Stand der Datenbank fest:

vagrant@bookworm:~$ sudo -u postgres psql 
psql (15.8 (Debian 15.8-0+deb12u1))
Type "help" for help.

postgres=# \l
                                             List of databases
   Name    |  Owner   | Encoding | Collate |  Ctype  | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+---------+---------+------------+-----------------+-----------------------
 osm       | _tirex   | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 postgres  | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
           |          |          |         |         |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
           |          |          |         |         |            |                 | postgres=CTc/postgres
(4 rows)

postgres=# \c osm
You are now connected to database "osm" as user "postgres".
osm=# \dt
                        List of relations
 Schema |                Name                 | Type  |  Owner   
--------+-------------------------------------+-------+----------
 public | external_data                       | table | _tirex
 public | icesheet_outlines                   | table | _tirex
 public | icesheet_polygons                   | table | _tirex
 public | ne_110m_admin_0_boundary_lines_land | table | _tirex
 public | planet_osm_hstore_line              | table | _tirex
 public | planet_osm_hstore_point             | table | _tirex
 public | planet_osm_hstore_polygon           | table | _tirex
 public | planet_osm_hstore_roads             | table | _tirex
 public | planet_osm_hstore_route             | table | _tirex
 public | planet_osm_nodes                    | table | _tirex
 public | planet_osm_rels                     | table | _tirex
 public | planet_osm_replication_status       | table | _tirex
 public | planet_osm_ways                     | table | _tirex
 public | simplified_water_polygons           | table | _tirex
 public | spatial_ref_sys                     | table | postgres
 public | water_polygons                      | table | _tirex
(16 rows)

osm=# copy (
SELECT table_schema, table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema = 'public'
ORDER BY table_name, ordinal_position) to '/tmp/osmdb.log';


Dieser Befehl listet alle Spalten aus allen Tabellen des public-Schemas auf und gibt für jede Spalte den Schema-Namen (table_schema), den Tabellennamen (table_name), den Spaltennamen (column_name) und den Datentyp der Spalte (data_type) aus. Die Ergebnisse sind nach Tabellennamen und der Position der Spalte in der Tabelle sortiert.

vagrant@bookworm:/tmp$ cat /tmp/osmdb.log
public	external_data	name	text
public	external_data	last_modified	text
public	geography_columns	f_table_catalog	name
public	geography_columns	f_table_schema	name
public	geography_columns	f_table_name	name
public	geography_columns	f_geography_column	name
public	geography_columns	coord_dimension	integer
public	geography_columns	srid	integer
public	geography_columns	type	text
public	geometry_columns	f_table_catalog	character varying
public	geometry_columns	f_table_schema	name
public	geometry_columns	f_table_name	name
public	geometry_columns	f_geometry_column	name
public	geometry_columns	coord_dimension	integer
public	geometry_columns	srid	integer
public	geometry_columns	type	character varying
public	icesheet_outlines	ice_edge	character varying
public	icesheet_outlines	way	USER-DEFINED
public	icesheet_polygons	fid	numeric
public	icesheet_polygons	way	USER-DEFINED
public	ne_110m_admin_0_boundary_lines_land	scalerank	numeric
public	ne_110m_admin_0_boundary_lines_land	featurecla	character varying
public	ne_110m_admin_0_boundary_lines_land	name	character varying
public	ne_110m_admin_0_boundary_lines_land	name_alt	character varying
public	ne_110m_admin_0_boundary_lines_land	min_zoom	numeric
public	ne_110m_admin_0_boundary_lines_land	fclass_iso	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_us	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_fr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ru	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_es	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_cn	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tw	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_in	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_np	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pk	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_de	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_gb	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_br	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_il	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ps	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_sa	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_eg	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ma	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pt	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ar	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_jp	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ko	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_vn	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_id	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pl	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_gr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_it	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_nl	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_se	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_bd	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ua	character varying
public	ne_110m_admin_0_boundary_lines_land	ne_id	numeric
public	ne_110m_admin_0_boundary_lines_land	brk_a3	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tlc	character varying
public	ne_110m_admin_0_boundary_lines_land	way	USER-DEFINED
public	planet_osm_hstore_line	osm_id	bigint
public	planet_osm_hstore_line	way	USER-DEFINED
public	planet_osm_hstore_line	tags	USER-DEFINED
public	planet_osm_hstore_line	layer	integer
public	planet_osm_hstore_line	z_order	integer
public	planet_osm_hstore_line	name_l10n	ARRAY
public	planet_osm_hstore_point	osm_id	bigint
public	planet_osm_hstore_point	way	USER-DEFINED
public	planet_osm_hstore_point	tags	USER-DEFINED
public	planet_osm_hstore_point	layer	integer
public	planet_osm_hstore_point	name_l10n	ARRAY
public	planet_osm_hstore_polygon	osm_id	bigint
public	planet_osm_hstore_polygon	way	USER-DEFINED
public	planet_osm_hstore_polygon	tags	USER-DEFINED
public	planet_osm_hstore_polygon	layer	integer
public	planet_osm_hstore_polygon	z_order	integer
public	planet_osm_hstore_polygon	way_area	real
public	planet_osm_hstore_polygon	name_l10n	ARRAY
public	planet_osm_hstore_roads	osm_id	bigint
public	planet_osm_hstore_roads	way	USER-DEFINED
public	planet_osm_hstore_roads	tags	USER-DEFINED
public	planet_osm_hstore_roads	layer	integer
public	planet_osm_hstore_roads	z_order	integer
public	planet_osm_hstore_roads	name_l10n	ARRAY
public	planet_osm_hstore_route	osm_id	bigint
public	planet_osm_hstore_route	member_id	bigint
public	planet_osm_hstore_route	member_position	integer
public	planet_osm_hstore_route	tags	USER-DEFINED
public	planet_osm_line	osm_id	bigint
public	planet_osm_line	access	text
public	planet_osm_line	addr:interpolation	text
public	planet_osm_line	aerialway	text
public	planet_osm_line	aeroway	text
public	planet_osm_line	barrier	text
public	planet_osm_line	building	text
public	planet_osm_line	bicycle	text
public	planet_osm_line	bridge	text
public	planet_osm_line	construction	text
public	planet_osm_line	covered	text
public	planet_osm_line	culvert	text
public	planet_osm_line	disused	text
public	planet_osm_line	embankment	text
public	planet_osm_line	foot	text
public	planet_osm_line	highway	text
public	planet_osm_line	historic	text
public	planet_osm_line	horse	text
public	planet_osm_line	intermittent	text
public	planet_osm_line	junction	text
public	planet_osm_line	leisure	text
public	planet_osm_line	lock	text
public	planet_osm_line	man_made	text
public	planet_osm_line	name	text
public	planet_osm_line	name:de	text
public	planet_osm_line	int_name	text
public	planet_osm_line	name:en	text
public	planet_osm_line	natural	text
public	planet_osm_line	oneway	text
public	planet_osm_line	operator	text
public	planet_osm_line	power	text
public	planet_osm_line	proposed	text
public	planet_osm_line	railway	text
public	planet_osm_line	ref	text
public	planet_osm_line	route	text
public	planet_osm_line	service	text
public	planet_osm_line	surface	text
public	planet_osm_line	tracktype	text
public	planet_osm_line	tunnel	text
public	planet_osm_line	waterway	text
public	planet_osm_line	width	text
public	planet_osm_line	way	USER-DEFINED
public	planet_osm_line	z_order	integer
public	planet_osm_line	localized_name_second	text
public	planet_osm_line	localized_name_first	text
public	planet_osm_line	localized_name	text
public	planet_osm_line	localized_streetname	text
public	planet_osm_line	name_hrb	text
public	planet_osm_line	layer	integer
public	planet_osm_line	tags	USER-DEFINED
public	planet_osm_nodes	id	bigint
public	planet_osm_nodes	lat	integer
public	planet_osm_nodes	lon	integer
public	planet_osm_point	osm_id	bigint
public	planet_osm_point	access	text
public	planet_osm_point	addr:housename	text
public	planet_osm_point	addr:housenumber	text
public	planet_osm_point	admin_level	text
public	planet_osm_point	aerialway	text
public	planet_osm_point	aeroway	text
public	planet_osm_point	amenity	text
public	planet_osm_point	barrier	text
public	planet_osm_point	boundary	text
public	planet_osm_point	building	text
public	planet_osm_point	capital	text
public	planet_osm_point	denomination	text
public	planet_osm_point	ele	text
public	planet_osm_point	generator:source	text
public	planet_osm_point	highway	text
public	planet_osm_point	historic	text
public	planet_osm_point	iata	text
public	planet_osm_point	junction	text
public	planet_osm_point	landuse	text
public	planet_osm_point	leisure	text
public	planet_osm_point	man_made	text
public	planet_osm_point	military	text
public	planet_osm_point	name	text
public	planet_osm_point	name:de	text
public	planet_osm_point	int_name	text
public	planet_osm_point	name:en	text
public	planet_osm_point	natural	text
public	planet_osm_point	operator	text
public	planet_osm_point	place	text
public	planet_osm_point	population	text
public	planet_osm_point	power	text
public	planet_osm_point	power_source	text
public	planet_osm_point	railway	text
public	planet_osm_point	ref	text
public	planet_osm_point	religion	text
public	planet_osm_point	ruins	text
public	planet_osm_point	service	text
public	planet_osm_point	shop	text
public	planet_osm_point	sport	text
public	planet_osm_point	tourism	text
public	planet_osm_point	waterway	text
public	planet_osm_point	wetland	text
public	planet_osm_point	way	USER-DEFINED
public	planet_osm_point	localized_name_second	text
public	planet_osm_point	localized_name_first	text
public	planet_osm_point	localized_name	text
public	planet_osm_point	localized_streetname	text
public	planet_osm_point	name_hrb	text
public	planet_osm_point	layer	integer
public	planet_osm_point	tags	USER-DEFINED
public	planet_osm_polygon	osm_id	bigint
public	planet_osm_polygon	access	text
public	planet_osm_polygon	addr:housename	text
public	planet_osm_polygon	addr:housenumber	text
public	planet_osm_polygon	admin_level	text
public	planet_osm_polygon	aerialway	text
public	planet_osm_polygon	aeroway	text
public	planet_osm_polygon	amenity	text
public	planet_osm_polygon	barrier	text
public	planet_osm_polygon	bicycle	text
public	planet_osm_polygon	boundary	text
public	planet_osm_polygon	bridge	text
public	planet_osm_polygon	building	text
public	planet_osm_polygon	covered	text
public	planet_osm_polygon	denomination	text
public	planet_osm_polygon	generator:source	text
public	planet_osm_polygon	highway	text
public	planet_osm_polygon	historic	text
public	planet_osm_polygon	iata	text
public	planet_osm_polygon	junction	text
public	planet_osm_polygon	landuse	text
public	planet_osm_polygon	leaf_type	text
public	planet_osm_polygon	leisure	text
public	planet_osm_polygon	man_made	text
public	planet_osm_polygon	military	text
public	planet_osm_polygon	name	text
public	planet_osm_polygon	name:de	text
public	planet_osm_polygon	int_name	text
public	planet_osm_polygon	name:en	text
public	planet_osm_polygon	natural	text
public	planet_osm_polygon	operator	text
public	planet_osm_polygon	place	text
public	planet_osm_polygon	power	text
public	planet_osm_polygon	power_source	text
public	planet_osm_polygon	railway	text
public	planet_osm_polygon	ref	text
public	planet_osm_polygon	religion	text
public	planet_osm_polygon	ruins	text
public	planet_osm_polygon	shop	text
public	planet_osm_polygon	sport	text
public	planet_osm_polygon	surface	text
public	planet_osm_polygon	tourism	text
public	planet_osm_polygon	tunnel	text
public	planet_osm_polygon	water	text
public	planet_osm_polygon	waterway	text
public	planet_osm_polygon	wetland	text
public	planet_osm_polygon	way	USER-DEFINED
public	planet_osm_polygon	way_area	real
public	planet_osm_polygon	z_order	integer
public	planet_osm_polygon	localized_name_second	text
public	planet_osm_polygon	localized_name_first	text
public	planet_osm_polygon	localized_name	text
public	planet_osm_polygon	localized_streetname	text
public	planet_osm_polygon	country_name	text
public	planet_osm_polygon	name_hrb	text
public	planet_osm_polygon	layer	integer
public	planet_osm_polygon	tags	USER-DEFINED
public	planet_osm_rels	id	bigint
public	planet_osm_rels	way_off	smallint
public	planet_osm_rels	rel_off	smallint
public	planet_osm_rels	parts	ARRAY
public	planet_osm_rels	members	ARRAY
public	planet_osm_rels	tags	ARRAY
public	planet_osm_replication_status	url	text
public	planet_osm_replication_status	sequence	integer
public	planet_osm_replication_status	importdate	timestamp with time zone
public	planet_osm_roads	osm_id	bigint
public	planet_osm_roads	admin_level	text
public	planet_osm_roads	covered	text
public	planet_osm_roads	highway	text
public	planet_osm_roads	name	text
public	planet_osm_roads	name:de	text
public	planet_osm_roads	int_name	text
public	planet_osm_roads	name:en	text
public	planet_osm_roads	railway	text
public	planet_osm_roads	ref	text
public	planet_osm_roads	service	text
public	planet_osm_roads	surface	text
public	planet_osm_roads	tunnel	text
public	planet_osm_roads	aerialway	text
public	planet_osm_roads	addr:housenumber	text
public	planet_osm_roads	aeroway	text
public	planet_osm_roads	amenity	text
public	planet_osm_roads	barrier	text
public	planet_osm_roads	boundary	text
public	planet_osm_roads	building	text
public	planet_osm_roads	historic	text
public	planet_osm_roads	lock	text
public	planet_osm_roads	man_made	text
public	planet_osm_roads	power	text
public	planet_osm_roads	route	text
public	planet_osm_roads	shop	text
public	planet_osm_roads	waterway	text
public	planet_osm_roads	width	text
public	planet_osm_roads	way	USER-DEFINED
public	planet_osm_roads	z_order	integer
public	planet_osm_roads	localized_name_second	text
public	planet_osm_roads	localized_name_first	text
public	planet_osm_roads	localized_name	text
public	planet_osm_roads	localized_streetname	text
public	planet_osm_roads	name_hrb	text
public	planet_osm_roads	layer	integer
public	planet_osm_roads	tags	USER-DEFINED
public	planet_osm_ways	id	bigint
public	planet_osm_ways	nodes	ARRAY
public	planet_osm_ways	tags	ARRAY
public	simplified_water_polygons	x	numeric
public	simplified_water_polygons	y	numeric
public	simplified_water_polygons	way	USER-DEFINED
public	spatial_ref_sys	srid	integer
public	spatial_ref_sys	auth_name	character varying
public	spatial_ref_sys	auth_srid	integer
public	spatial_ref_sys	srtext	character varying
public	spatial_ref_sys	proj4text	character varying
public	water_polygons	x	numeric
public	water_polygons	y	numeric
public	water_polygons	way	USER-DEFINED

Wir erstellen eine neue Datenbank als exakte Kopie der bestehenden Datenbank osm, um später den Inhalt vergleichen zu können.

vagrant@bookworm:~$ sudo -u postgres psql 
psql (15.8 (Debian 15.8-0+deb12u1))
Type "help" for help.

postgres=# CREATE DATABASE osm_copy WITH TEMPLATE osm OWNER _tirex;
CREATE DATABASE
postgres=# \l
                                             List of databases
   Name    |  Owner   | Encoding | Collate |  Ctype  | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+---------+---------+------------+-----------------+-----------------------
 osm       | _tirex   | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 osm_copy  | _tirex   | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 postgres  | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
           |          |          |         |         |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | C.UTF-8 | C.UTF-8 |            | libc            | =c/postgres          +
           |          |          |         |         |            |                 | postgres=CTc/postgres
(5 rows)
postgres=# 

Backup

Wir erstellen eine Momentaufnahme der virtuellen Maschine und speichert sie unter dem Namen afterimportanddoc. Diese Momentaufnahme speichert den aktuellen Zustand der VM zu diesem Zeitpunkt, sodass wir später zu diesem Zustand zurückkehren können.

amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ vagrant snapshot save bookworm afterimportanddoc
==> bookworm: Snapshotting the machine as 'afterimportanddoc'...
==> bookworm: Snapshot saved! You can restore the snapshot at any time by
==> bookworm: using `vagrant snapshot restore`. You can delete it using
==> bookworm: `vagrant snapshot delete`.
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ vagrant status
Current machine states:

bullseye                  not created (libvirt)
bookworm                  running (libvirt)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ vagrant snapshot list
==> bullseye: VM not created. Moving on...
==> bookworm: 
afterimportanddoc
amaschine@amaschine-hp-laptop:~/openstreetmap/osm-server/ansible_openstreetmap.de$ 

Backports

Debian Backports stellt neue Pakete für Debian-Stable-Versionen bereit. Backports werden nicht so umfassend getestet wie Stable-Pakete und können zu Inkompatibilitäten führen, weshalb sie mit Vorsicht verwendet werden sollten. Die Verwendung einzelner Pakete aus den Backports gilt jedoch als sicher, und es wird empfohlen, gezielt nur benötigte Pakete zu aktivieren.

Links:

https://manpages.debian.org/bookworm-backports/osm2pgsql/osm2pgsql.1.en.html

https://osm2pgsql.org/doc/install/linux.html

https://backports.debian.org/

https://backports.debian.org/Instructions/

Ausgang

Zu Beginn überprüfen wir die Versionen und stoppe die Aktualisierung der Datenbank, um Probleme aufgrund von Inkonsistenzen zu vermeiden.

vagrant@bookworm:~$ osm2pgsql --version
2024-10-29 07:34:04  osm2pgsql version 1.8.0
Build: None
Compiled using the following library versions:
Libosmium 2.19.0
Proj [API 6] 9.1.1
Lua 5.3.6

vagrant@bookworm:/etc/apt$ sudo systemctl stop updatedb
vagrant@bookworm:/etc/apt$ sudo systemctl disable updatedb

Installation der Backports vorbereiten

Die Zeilte deb https://deb.debian.org/debian bookworm-backports main ist bereits in /etc/apt/sources.list vorhanden. sudo apt update aktualisiert die Liste der verfügbaren Pakete und ihrer Versionen auf dem System, basierend auf den aktuellen Repository-Quellen. Es ist ein notwendiger Schritt, bevor man neue Pakete installiert oder bestehende Pakete aktualisiert.

vagrant@bookworm:/etc/apt$ cat /etc/apt/sources.list
deb https://deb.debian.org/debian bookworm main
deb-src https://deb.debian.org/debian bookworm main
deb https://security.debian.org/debian-security bookworm-security main
deb-src https://security.debian.org/debian-security bookworm-security main
deb https://deb.debian.org/debian bookworm-updates main
deb-src https://deb.debian.org/debian bookworm-updates main
deb https://deb.debian.org/debian bookworm-backports main
deb-src https://deb.debian.org/debian bookworm-backports main

vagrant@bookworm:/etc/apt$ sudo apt update
Hit:1 https://deb.debian.org/debian bookworm InRelease
Get:2 https://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:3 https://deb.debian.org/debian bookworm-backports InRelease [59.0 kB]
Get:4 https://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:5 https://deb.debian.org/debian bookworm-backports/main Sources.diff/Index [63.3 kB]
Get:6 https://deb.debian.org/debian bookworm-backports/main Sources T-2024-10-28-2123.03-F-2024-10-28-2123.03.pdiff [2519 B]
Get:6 https://deb.debian.org/debian bookworm-backports/main Sources T-2024-10-28-2123.03-F-2024-10-28-2123.03.pdiff [2519 B]
Fetched 228 kB in 2s (143 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
All packages are up to date.

Installation

osm2pgsql

sudo apt install osm2pgsql/bookworm-backports installiert das Paket osm2pgsql aus den Backports für die Debian-Version „Bookworm“. Dadurch wird eine neuere Version von osm2pgsql als die in den Standard-Repositories verfügbare Version installiert.

vagrant@bookworm:/etc/apt$ sudo apt install osm2pgsql/bookworm-backports
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Selected version '2.0.0+ds-1~bpo12+1' (Debian Backports:stable-backports [amd64]) for 'osm2pgsql'
The following packages will be upgraded:
  osm2pgsql
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 655 kB of archives.
After this operation, 376 kB of additional disk space will be used.
Get:1 https://deb.debian.org/debian bookworm-backports/main amd64 osm2pgsql amd64 2.0.0+ds-1~bpo12+1 [655 kB]
Fetched 655 kB in 0s (1472 kB/s)
Reading changelogs... Done
(Reading database ... 118746 files and directories currently installed.)
Preparing to unpack .../osm2pgsql_2.0.0+ds-1~bpo12+1_amd64.deb ...
Unpacking osm2pgsql (2.0.0+ds-1~bpo12+1) over (1.8.0+ds-1) ...
Setting up osm2pgsql (2.0.0+ds-1~bpo12+1) ...
Processing triggers for man-db (2.11.2-2) ...

Voila!

vagrant@bookworm:/etc/apt$ osm2pgsql --version
osm2pgsql version 2.0.0
Build: None
Compiled using the following library versions:
Libosmium 2.19.0
Proj 9.1.1
Lua 5.3.6
osml10n

Die Version 2.0.0 von osm2pgsql erfordert Anpassungen am LUA-Skript.

vagrant@bookworm:/srv/tile/sources/osml10n$ sudo git config --global --add safe.directory /srv/tile/sources/osml10n
vagrant@bookworm:/srv/tile/sources/osml10n$ sudo git checkout master 
Previous HEAD position was 8e3004b * get rid of deprecated sklearn package * Update to tltk 1.8 * therefore call this version 1.2.0
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
vagrant@bookworm:/srv/tile/sources/osml10n$ sudo git pull origin master 
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 7), reused 8 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 8.72 KiB | 234.00 KiB/s, done.
From https://github.com/giggls/osml10n
 * branch            master     -> FETCH_HEAD
   f84119f..d06b251  master     -> origin/master
Updating f84119f..d06b251
Fast-forward
 openstreetmap-carto-hstore-only-l10n.lua | 86 ++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------
 1 file changed, 46 insertions(+), 40 deletions(-)
 mode change 100644 => 100755 openstreetmap-carto-hstore-only-l10n.lua

vagrant@bookworm:/srv/tile/sources/osml10n$ sudo git fetch origin
remote: Enumerating objects: 14, done.
remote: Counting objects: 100% (14/14), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 14 (delta 7), reused 8 (delta 4), pack-reused 0 (from 0)
Unpacking objects: 100% (14/14), 8.72 KiB | 446.00 KiB/s, done.
From https://github.com/giggls/osml10n
   f84119f..d06b251  master     -> origin/master
vagrant@bookworm:/srv/tile/sources/osml10n$ sudo git reset origin/master --hard
HEAD is now at d06b251 Merge pull request #40 from astridx/master
Daten neu einlesen

Wir lese die Daten mit den neuen Versionen ein.

vagrant@bookworm:/usr/local/sbin$ sudo import-osm2pgsql 
Removed "/etc/systemd/system/multi-user.target.wants/updatedb.service".
--2024-10-29 09:37:31--  http://download.geofabrik.de/europe/monaco-latest.osm.pbf
Resolving download.geofabrik.de (download.geofabrik.de)... 65.109.48.72, 65.109.50.43, 2a01:4f9:5a:2797::2, ...
Connecting to download.geofabrik.de (download.geofabrik.de)|65.109.48.72|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 549017 (536K) [application/octet-stream]
Saving to: ‘monaco-latest.osm.pbf’

monaco-latest.osm.pbf              100%[=============================================================>] 536.15K   582KB/s    in 0.9s    

2024-10-29 09:37:32 (582 KB/s) - ‘monaco-latest.osm.pbf’ saved [549017/549017]

2024-10-29 09:37:33  osm2pgsql version 2.0.0
2024-10-29 09:37:33  WARNING: RAM cache is disabled. This will likely slow down processing a lot.
2024-10-29 09:37:33  Database version: 15.8 (Debian 15.8-0+deb12u1)
2024-10-29 09:37:33  PostGIS version: 3.3
2024-10-29 09:37:33  Initializing properties table '"public"."osm2pgsql_properties"'.
2024-10-29 09:37:33  Storing properties to table '"public"."osm2pgsql_properties"'.
2024-10-29 09:37:33  WARNING: You should use the syntax 'object:get_bbox()' (with the colon, not a point) to call functions on the OSM object.
2024-10-29 09:37:35  Reading input files done in 2s.                                      
2024-10-29 09:37:35    Processed 30859 nodes in 0s - 31k/s
2024-10-29 09:37:35    Processed 4973 ways in 1s - 5k/s
2024-10-29 09:37:35    Processed 291 relations in 1s - 291/s
2024-10-29 09:37:35  No marked nodes or ways (Skipping stage 2).
2024-10-29 09:37:35  Clustering table 'planet_osm_hstore_point' by geometry...
2024-10-29 09:37:35  Creating index on table 'planet_osm_hstore_point' ("way")...
2024-10-29 09:37:35  Creating id index on table 'planet_osm_hstore_point'...
2024-10-29 09:37:35  Analyzing table 'planet_osm_hstore_point'...
2024-10-29 09:37:36  Clustering table 'planet_osm_hstore_line' by geometry...
2024-10-29 09:37:36  Creating index on table 'planet_osm_hstore_line' ("way")...
2024-10-29 09:37:36  Creating id index on table 'planet_osm_hstore_line'...
2024-10-29 09:37:36  Analyzing table 'planet_osm_hstore_line'...
2024-10-29 09:37:36  Clustering table 'planet_osm_hstore_roads' by geometry...
2024-10-29 09:37:36  Creating index on table 'planet_osm_hstore_roads' ("way")...
2024-10-29 09:37:36  Creating id index on table 'planet_osm_hstore_roads'...
2024-10-29 09:37:36  Analyzing table 'planet_osm_hstore_roads'...
2024-10-29 09:37:36  Clustering table 'planet_osm_hstore_polygon' by geometry...
2024-10-29 09:37:36  Creating index on table 'planet_osm_hstore_polygon' ("way")...
2024-10-29 09:37:36  Creating id index on table 'planet_osm_hstore_polygon'...
2024-10-29 09:37:36  Analyzing table 'planet_osm_hstore_polygon'...
2024-10-29 09:37:36  No indexes to create on table 'planet_osm_hstore_route'.
2024-10-29 09:37:36  Creating id index on table 'planet_osm_hstore_route'...
2024-10-29 09:37:36  Analyzing table 'planet_osm_hstore_route'...
2024-10-29 09:37:36  Done postprocessing on table 'planet_osm_nodes' in 0s
2024-10-29 09:37:36  Building index on table 'planet_osm_ways'
2024-10-29 09:37:36  Done postprocessing on table 'planet_osm_ways' in 0s
2024-10-29 09:37:36  Building index on table 'planet_osm_rels'
2024-10-29 09:37:36  Done postprocessing on table 'planet_osm_rels' in 0s
2024-10-29 09:37:36  All postprocessing on table 'planet_osm_hstore_point' done in 0s.
2024-10-29 09:37:36  All postprocessing on table 'planet_osm_hstore_line' done in 0s.
2024-10-29 09:37:36  All postprocessing on table 'planet_osm_hstore_roads' done in 0s.
2024-10-29 09:37:36  All postprocessing on table 'planet_osm_hstore_polygon' done in 0s.
2024-10-29 09:37:36  All postprocessing on table 'planet_osm_hstore_route' done in 0s.
2024-10-29 09:37:36  Storing properties to table '"public"."osm2pgsql_properties"'.
2024-10-29 09:37:36  osm2pgsql took 3s overall.
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
CREATE INDEX
using database: osm
CREATE VIEW
GRANT
CREATE VIEW
GRANT
CREATE VIEW
GRANT
CREATE VIEW
GRANT
2024-10-29 09:37:37 [INFO]: Initialised updates for service 'http://download.geofabrik.de/europe/monaco-updates'.
2024-10-29 09:37:37 [INFO]: Starting at sequence 4224 (2024-10-28T21:21:30Z).
Using replication service 'http://download.geofabrik.de/europe/monaco-updates', which is at sequence 4224 ( 2024-10-28T21:21:30Z )
Replication server's most recent data is 12 hour(s) 16 minute(s) 8 second(s) old
Local database is up to date with server
Local database's most recent data is 12 hour(s) 16 minute(s) 8 second(s) old
INFO:root:Starting load of external data into database
INFO:root:Checking table simplified_water_polygons
INFO:root:  Table simplified_water_polygons did not require updating
INFO:root:Checking table water_polygons
INFO:root:  Table water_polygons did not require updating
INFO:root:Checking table icesheet_polygons
INFO:root:  Table icesheet_polygons did not require updating
INFO:root:Checking table icesheet_outlines
INFO:root:  Table icesheet_outlines did not require updating
INFO:root:Checking table ne_110m_admin_0_boundary_lines_land
INFO:root:  Table ne_110m_admin_0_boundary_lines_land did not require updating
--2024-10-29 09:37:40--  https://robinson.openstreetmap.de/carto-fonts/carto-fonts.zip
Resolving robinson.openstreetmap.de (robinson.openstreetmap.de)... 23.88.123.196, 2a01:4f8:1c17:c4e7::1
Connecting to robinson.openstreetmap.de (robinson.openstreetmap.de)|23.88.123.196|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 65323245 (62M) [application/zip]
Saving to: ‘carto-fonts.zip.1’

carto-fonts.zip.1                  100%[=============================================================>]  62.30M  5.51MB/s    in 15s     

2024-10-29 09:37:55 (4.29 MB/s) - ‘carto-fonts.zip.1’ saved [65323245/65323245]

Archive:  carto-fonts.zip
  inflating: HanaMinA.ttf            
  inflating: HanaMinB.ttf            
  inflating: NotoEmoji-Bold.ttf      
  inflating: NotoEmoji-Regular.ttf   
  inflating: NotoSansAdlamUnjoined-Bold.ttf  
  inflating: NotoSansAdlamUnjoined-Regular.ttf  
  inflating: NotoSansArabicUI-Bold.ttf  
  inflating: NotoSansArabicUI-Regular.ttf  
  inflating: NotoSansArmenian-Bold.ttf  
  inflating: NotoSansArmenian-Regular.ttf  
  inflating: NotoSansBalinese-Bold.ttf  
  inflating: NotoSansBalinese-Regular.ttf  
  inflating: NotoSansBamum-Bold.ttf  
  inflating: NotoSansBamum-Regular.ttf  
  inflating: NotoSansBatak-Regular.ttf  
  inflating: NotoSansBengaliUI-Bold.ttf  
  inflating: NotoSansBengaliUI-Regular.ttf  
  inflating: NotoSans-Bold.ttf       
  inflating: NotoSansBuginese-Regular.ttf  
  inflating: NotoSansBuhid-Regular.ttf  
  inflating: NotoSansCanadianAboriginal-Bold.ttf  
  inflating: NotoSansCanadianAboriginal-Regular.ttf  
  inflating: NotoSansChakma-Regular.ttf  
  inflating: NotoSansCham-Bold.ttf   
  inflating: NotoSansCham-Regular.ttf  
  inflating: NotoSansCherokee-Bold.ttf  
  inflating: NotoSansCherokee-Regular.ttf  
  inflating: NotoSansCJKjp-Bold.otf  
  inflating: NotoSansCJKjp-Regular.otf  
  inflating: NotoSansCoptic-Regular.ttf  
  inflating: NotoSansDevanagariUI-Bold.ttf  
  inflating: NotoSansDevanagariUI-Regular.ttf  
  inflating: NotoSansEthiopic-Bold.ttf  
  inflating: NotoSansEthiopic-Regular.ttf  
  inflating: NotoSansGeorgian-Bold.ttf  
  inflating: NotoSansGeorgian-Regular.ttf  
  inflating: NotoSansGujaratiUI-Bold.ttf  
  inflating: NotoSansGujaratiUI-Regular.ttf  
  inflating: NotoSansGurmukhiUI-Bold.ttf  
  inflating: NotoSansGurmukhiUI-Regular.ttf  
  inflating: NotoSansHanunoo-Regular.ttf  
  inflating: NotoSansHebrew-Bold.ttf  
  inflating: NotoSansHebrew-Regular.ttf  
  inflating: NotoSans-Italic.ttf     
  inflating: NotoSansJavanese-Bold.ttf  
  inflating: NotoSansJavanese-Regular.ttf  
  inflating: NotoSansKannadaUI-Bold.ttf  
  inflating: NotoSansKannadaUI-Regular.ttf  
  inflating: NotoSansKayahLi-Bold.ttf  
  inflating: NotoSansKayahLi-Regular.ttf  
  inflating: NotoSansKhmerUI-Bold.ttf  
  inflating: NotoSansKhmerUI-Regular.ttf  
  inflating: NotoSansLaoUI-Bold.ttf  
  inflating: NotoSansLaoUI-Regular.ttf  
  inflating: NotoSansLepcha-Regular.ttf  
  inflating: NotoSansLimbu-Regular.ttf  
  inflating: NotoSansLisu-Bold.ttf   
  inflating: NotoSansLisu-Regular.ttf  
  inflating: NotoSansMalayalamUI-Bold.ttf  
  inflating: NotoSansMalayalamUI-Regular.ttf  
  inflating: NotoSansMandaic-Regular.ttf  
  inflating: NotoSansMongolian-Regular.ttf  
  inflating: NotoSansMyanmarUI-Bold.ttf  
  inflating: NotoSansMyanmarUI-Regular.ttf  
  inflating: NotoSansNewTaiLue-Regular.ttf  
  inflating: NotoSansNKo-Regular.ttf  
  inflating: NotoSansOlChiki-Bold.ttf  
  inflating: NotoSansOlChiki-Regular.ttf  
  inflating: NotoSansOriyaUI-Bold.ttf  
  inflating: NotoSansOriyaUI-Regular.ttf  
  inflating: NotoSansOsage-Regular.ttf  
  inflating: NotoSansOsmanya-Regular.ttf  
  inflating: NotoSans-Regular.ttf    
  inflating: NotoSansSamaritan-Regular.ttf  
  inflating: NotoSansSaurashtra-Regular.ttf  
  inflating: NotoSansShavian-Regular.ttf  
  inflating: NotoSansSinhalaUI-Bold.ttf  
  inflating: NotoSansSinhalaUI-Regular.ttf  
  inflating: NotoSansSundanese-Bold.ttf  
  inflating: NotoSansSundanese-Regular.ttf  
  inflating: NotoSansSymbols2-Regular.ttf  
  inflating: NotoSansSymbols-Bold.ttf  
  inflating: NotoSansSymbols-Regular.ttf  
  inflating: NotoSansSyriac-Black.ttf  
  inflating: NotoSansSyriac-Regular.ttf  
  inflating: NotoSansTagalog-Regular.ttf  
  inflating: NotoSansTagbanwa-Regular.ttf  
  inflating: NotoSansTaiLe-Regular.ttf  
  inflating: NotoSansTaiTham-Bold.ttf  
  inflating: NotoSansTaiTham-Regular.ttf  
  inflating: NotoSansTaiViet-Regular.ttf  
  inflating: NotoSansTamilUI-Bold.ttf  
  inflating: NotoSansTamilUI-Regular.ttf  
  inflating: NotoSansTeluguUI-Bold.ttf  
  inflating: NotoSansTeluguUI-Regular.ttf  
  inflating: NotoSansThaana-Bold.ttf  
  inflating: NotoSansThaana-Regular.ttf  
  inflating: NotoSansThaiUI-Bold.ttf  
  inflating: NotoSansThaiUI-Regular.ttf  
  inflating: NotoSansTifinagh-Regular.ttf  
  inflating: NotoSansVai-Regular.ttf  
  inflating: NotoSansYi-Regular.ttf  
  inflating: NotoSerifTibetan-Bold.ttf  
  inflating: NotoSerifTibetan-Regular.ttf  
Created symlink /etc/systemd/system/multi-user.target.wants/updatedb.service → /etc/systemd/system/updatedb.service.
vagrant@bookworm:/usr/local/sbin$  

##### Daten vergleichen

Wir exportieren erneut die Struktur.

vagrant@bookworm:/usr/local/sbin$ sudo -u postgres psql 
psql (15.8 (Debian 15.8-0+deb12u1))
Type "help" for help.

postgres=# \c osm
You are now connected to database "osm" as user "postgres".
osm=# copy (
SELECT table_schema, table_name, column_name, data_type
FROM information_schema.columns
WHERE table_schema = 'public'
ORDER BY table_name, ordinal_position) to '/tmp/osmdb2.log';
COPY 310
osm=# exit
vagrant@bookworm:/usr/local/sbin$ cat /tmp/osmdb2.log 
public	external_data	name	text
public	external_data	last_modified	text
public	geography_columns	f_table_catalog	name
public	geography_columns	f_table_schema	name
public	geography_columns	f_table_name	name
public	geography_columns	f_geography_column	name
public	geography_columns	coord_dimension	integer
public	geography_columns	srid	integer
public	geography_columns	type	text
public	geometry_columns	f_table_catalog	character varying
public	geometry_columns	f_table_schema	name
public	geometry_columns	f_table_name	name
public	geometry_columns	f_geometry_column	name
public	geometry_columns	coord_dimension	integer
public	geometry_columns	srid	integer
public	geometry_columns	type	character varying
public	icesheet_outlines	ice_edge	character varying
public	icesheet_outlines	way	USER-DEFINED
public	icesheet_polygons	fid	numeric
public	icesheet_polygons	way	USER-DEFINED
public	ne_110m_admin_0_boundary_lines_land	scalerank	numeric
public	ne_110m_admin_0_boundary_lines_land	featurecla	character varying
public	ne_110m_admin_0_boundary_lines_land	name	character varying
public	ne_110m_admin_0_boundary_lines_land	name_alt	character varying
public	ne_110m_admin_0_boundary_lines_land	min_zoom	numeric
public	ne_110m_admin_0_boundary_lines_land	fclass_iso	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_us	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_fr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ru	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_es	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_cn	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tw	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_in	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_np	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pk	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_de	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_gb	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_br	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_il	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ps	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_sa	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_eg	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ma	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pt	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ar	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_jp	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ko	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_vn	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_id	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_pl	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_gr	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_it	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_nl	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_se	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_bd	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_ua	character varying
public	ne_110m_admin_0_boundary_lines_land	ne_id	numeric
public	ne_110m_admin_0_boundary_lines_land	brk_a3	character varying
public	ne_110m_admin_0_boundary_lines_land	fclass_tlc	character varying
public	ne_110m_admin_0_boundary_lines_land	way	USER-DEFINED
public	osm2pgsql_properties	property	text
public	osm2pgsql_properties	value	text
public	planet_osm_hstore_line	osm_id	bigint
public	planet_osm_hstore_line	way	USER-DEFINED
public	planet_osm_hstore_line	tags	USER-DEFINED
public	planet_osm_hstore_line	layer	integer
public	planet_osm_hstore_line	z_order	integer
public	planet_osm_hstore_line	name_l10n	ARRAY
public	planet_osm_hstore_point	osm_id	bigint
public	planet_osm_hstore_point	way	USER-DEFINED
public	planet_osm_hstore_point	tags	USER-DEFINED
public	planet_osm_hstore_point	layer	integer
public	planet_osm_hstore_point	name_l10n	ARRAY
public	planet_osm_hstore_polygon	osm_id	bigint
public	planet_osm_hstore_polygon	way	USER-DEFINED
public	planet_osm_hstore_polygon	tags	USER-DEFINED
public	planet_osm_hstore_polygon	layer	integer
public	planet_osm_hstore_polygon	z_order	integer
public	planet_osm_hstore_polygon	way_area	real
public	planet_osm_hstore_polygon	name_l10n	ARRAY
public	planet_osm_hstore_roads	osm_id	bigint
public	planet_osm_hstore_roads	way	USER-DEFINED
public	planet_osm_hstore_roads	tags	USER-DEFINED
public	planet_osm_hstore_roads	layer	integer
public	planet_osm_hstore_roads	z_order	integer
public	planet_osm_hstore_roads	name_l10n	ARRAY
public	planet_osm_hstore_route	osm_id	bigint
public	planet_osm_hstore_route	member_id	bigint
public	planet_osm_hstore_route	member_position	integer
public	planet_osm_hstore_route	tags	USER-DEFINED
public	planet_osm_line	osm_id	bigint
public	planet_osm_line	access	text
public	planet_osm_line	addr:interpolation	text
public	planet_osm_line	aerialway	text
public	planet_osm_line	aeroway	text
public	planet_osm_line	barrier	text
public	planet_osm_line	building	text
public	planet_osm_line	bicycle	text
public	planet_osm_line	bridge	text
public	planet_osm_line	construction	text
public	planet_osm_line	covered	text
public	planet_osm_line	culvert	text
public	planet_osm_line	disused	text
public	planet_osm_line	embankment	text
public	planet_osm_line	foot	text
public	planet_osm_line	highway	text
public	planet_osm_line	historic	text
public	planet_osm_line	horse	text
public	planet_osm_line	intermittent	text
public	planet_osm_line	junction	text
public	planet_osm_line	leisure	text
public	planet_osm_line	lock	text
public	planet_osm_line	man_made	text
public	planet_osm_line	name	text
public	planet_osm_line	name:de	text
public	planet_osm_line	int_name	text
public	planet_osm_line	name:en	text
public	planet_osm_line	natural	text
public	planet_osm_line	oneway	text
public	planet_osm_line	operator	text
public	planet_osm_line	power	text
public	planet_osm_line	proposed	text
public	planet_osm_line	railway	text
public	planet_osm_line	ref	text
public	planet_osm_line	route	text
public	planet_osm_line	service	text
public	planet_osm_line	surface	text
public	planet_osm_line	tracktype	text
public	planet_osm_line	tunnel	text
public	planet_osm_line	waterway	text
public	planet_osm_line	width	text
public	planet_osm_line	way	USER-DEFINED
public	planet_osm_line	z_order	integer
public	planet_osm_line	localized_name_second	text
public	planet_osm_line	localized_name_first	text
public	planet_osm_line	localized_name	text
public	planet_osm_line	localized_streetname	text
public	planet_osm_line	name_hrb	text
public	planet_osm_line	layer	integer
public	planet_osm_line	tags	USER-DEFINED
public	planet_osm_nodes	id	bigint
public	planet_osm_nodes	lat	integer
public	planet_osm_nodes	lon	integer
public	planet_osm_nodes	tags	jsonb
public	planet_osm_point	osm_id	bigint
public	planet_osm_point	access	text
public	planet_osm_point	addr:housename	text
public	planet_osm_point	addr:housenumber	text
public	planet_osm_point	admin_level	text
public	planet_osm_point	aerialway	text
public	planet_osm_point	aeroway	text
public	planet_osm_point	amenity	text
public	planet_osm_point	barrier	text
public	planet_osm_point	boundary	text
public	planet_osm_point	building	text
public	planet_osm_point	capital	text
public	planet_osm_point	denomination	text
public	planet_osm_point	ele	text
public	planet_osm_point	generator:source	text
public	planet_osm_point	highway	text
public	planet_osm_point	historic	text
public	planet_osm_point	iata	text
public	planet_osm_point	junction	text
public	planet_osm_point	landuse	text
public	planet_osm_point	leisure	text
public	planet_osm_point	man_made	text
public	planet_osm_point	military	text
public	planet_osm_point	name	text
public	planet_osm_point	name:de	text
public	planet_osm_point	int_name	text
public	planet_osm_point	name:en	text
public	planet_osm_point	natural	text
public	planet_osm_point	operator	text
public	planet_osm_point	place	text
public	planet_osm_point	population	text
public	planet_osm_point	power	text
public	planet_osm_point	power_source	text
public	planet_osm_point	railway	text
public	planet_osm_point	ref	text
public	planet_osm_point	religion	text
public	planet_osm_point	ruins	text
public	planet_osm_point	service	text
public	planet_osm_point	shop	text
public	planet_osm_point	sport	text
public	planet_osm_point	tourism	text
public	planet_osm_point	waterway	text
public	planet_osm_point	wetland	text
public	planet_osm_point	way	USER-DEFINED
public	planet_osm_point	localized_name_second	text
public	planet_osm_point	localized_name_first	text
public	planet_osm_point	localized_name	text
public	planet_osm_point	localized_streetname	text
public	planet_osm_point	name_hrb	text
public	planet_osm_point	layer	integer
public	planet_osm_point	tags	USER-DEFINED
public	planet_osm_polygon	osm_id	bigint
public	planet_osm_polygon	access	text
public	planet_osm_polygon	addr:housename	text
public	planet_osm_polygon	addr:housenumber	text
public	planet_osm_polygon	admin_level	text
public	planet_osm_polygon	aerialway	text
public	planet_osm_polygon	aeroway	text
public	planet_osm_polygon	amenity	text
public	planet_osm_polygon	barrier	text
public	planet_osm_polygon	bicycle	text
public	planet_osm_polygon	boundary	text
public	planet_osm_polygon	bridge	text
public	planet_osm_polygon	building	text
public	planet_osm_polygon	covered	text
public	planet_osm_polygon	denomination	text
public	planet_osm_polygon	generator:source	text
public	planet_osm_polygon	highway	text
public	planet_osm_polygon	historic	text
public	planet_osm_polygon	iata	text
public	planet_osm_polygon	junction	text
public	planet_osm_polygon	landuse	text
public	planet_osm_polygon	leaf_type	text
public	planet_osm_polygon	leisure	text
public	planet_osm_polygon	man_made	text
public	planet_osm_polygon	military	text
public	planet_osm_polygon	name	text
public	planet_osm_polygon	name:de	text
public	planet_osm_polygon	int_name	text
public	planet_osm_polygon	name:en	text
public	planet_osm_polygon	natural	text
public	planet_osm_polygon	operator	text
public	planet_osm_polygon	place	text
public	planet_osm_polygon	power	text
public	planet_osm_polygon	power_source	text
public	planet_osm_polygon	railway	text
public	planet_osm_polygon	ref	text
public	planet_osm_polygon	religion	text
public	planet_osm_polygon	ruins	text
public	planet_osm_polygon	shop	text
public	planet_osm_polygon	sport	text
public	planet_osm_polygon	surface	text
public	planet_osm_polygon	tourism	text
public	planet_osm_polygon	tunnel	text
public	planet_osm_polygon	water	text
public	planet_osm_polygon	waterway	text
public	planet_osm_polygon	wetland	text
public	planet_osm_polygon	way	USER-DEFINED
public	planet_osm_polygon	way_area	real
public	planet_osm_polygon	z_order	integer
public	planet_osm_polygon	localized_name_second	text
public	planet_osm_polygon	localized_name_first	text
public	planet_osm_polygon	localized_name	text
public	planet_osm_polygon	localized_streetname	text
public	planet_osm_polygon	country_name	text
public	planet_osm_polygon	name_hrb	text
public	planet_osm_polygon	layer	integer
public	planet_osm_polygon	tags	USER-DEFINED
public	planet_osm_rels	id	bigint
public	planet_osm_rels	members	jsonb
public	planet_osm_rels	tags	jsonb
public	planet_osm_replication_status	url	text
public	planet_osm_replication_status	sequence	integer
public	planet_osm_replication_status	importdate	timestamp with time zone
public	planet_osm_roads	osm_id	bigint
public	planet_osm_roads	admin_level	text
public	planet_osm_roads	covered	text
public	planet_osm_roads	highway	text
public	planet_osm_roads	name	text
public	planet_osm_roads	name:de	text
public	planet_osm_roads	int_name	text
public	planet_osm_roads	name:en	text
public	planet_osm_roads	railway	text
public	planet_osm_roads	ref	text
public	planet_osm_roads	service	text
public	planet_osm_roads	surface	text
public	planet_osm_roads	tunnel	text
public	planet_osm_roads	aerialway	text
public	planet_osm_roads	addr:housenumber	text
public	planet_osm_roads	aeroway	text
public	planet_osm_roads	amenity	text
public	planet_osm_roads	barrier	text
public	planet_osm_roads	boundary	text
public	planet_osm_roads	building	text
public	planet_osm_roads	historic	text
public	planet_osm_roads	lock	text
public	planet_osm_roads	man_made	text
public	planet_osm_roads	power	text
public	planet_osm_roads	route	text
public	planet_osm_roads	shop	text
public	planet_osm_roads	waterway	text
public	planet_osm_roads	width	text
public	planet_osm_roads	way	USER-DEFINED
public	planet_osm_roads	z_order	integer
public	planet_osm_roads	localized_name_second	text
public	planet_osm_roads	localized_name_first	text
public	planet_osm_roads	localized_name	text
public	planet_osm_roads	localized_streetname	text
public	planet_osm_roads	name_hrb	text
public	planet_osm_roads	layer	integer
public	planet_osm_roads	tags	USER-DEFINED
public	planet_osm_ways	id	bigint
public	planet_osm_ways	nodes	ARRAY
public	planet_osm_ways	tags	jsonb
public	simplified_water_polygons	x	numeric
public	simplified_water_polygons	y	numeric
public	simplified_water_polygons	way	USER-DEFINED
public	spatial_ref_sys	srid	integer
public	spatial_ref_sys	auth_name	character varying
public	spatial_ref_sys	auth_srid	integer
public	spatial_ref_sys	srtext	character varying
public	spatial_ref_sys	proj4text	character varying
public	water_polygons	x	numeric
public	water_polygons	y	numeric
public	water_polygons	way	USER-DEFINED
vagrant@bookworm:/usr/local/sbin$ ^C
Unterschiede

Es gibt eine neue Datei:

osm=# select * from osm2pgsql_properties;
          property           |                               value                                
-----------------------------+--------------------------------------------------------------------
 attributes                  | false
 db_format                   | 2
 flat_node_file              | 
 output                      | flex
 prefix                      | planet_osm
 style                       | /srv/tile/sources/osml10n/openstreetmap-carto-hstore-only-l10n.lua
 updatable                   | true
 version                     | 2.0.0
 current_timestamp           | 2024-10-28T14:24:04Z
 import_timestamp            | 2024-10-28T14:24:04Z
 replication_base_url        | http://download.geofabrik.de/europe/monaco-updates
 replication_sequence_number | 4224
 replication_timestamp       | 2024-10-28T21:21:30Z
(13 rows)

Zusätzlich gibt es neue Spalten und andere Datentypen:

vagrant@bookworm:/tmp$ diff -w osmdb.log osmdb2.log
61a62,63
> public	osm2pgsql_properties	property	text
> public	osm2pgsql_properties	value	text
142a145
> public	planet_osm_nodes	tags	jsonb
252,256c255,256
< public	planet_osm_rels	way_off	smallint
< public	planet_osm_rels	rel_off	smallint
< public	planet_osm_rels	parts	ARRAY
< public	planet_osm_rels	members	ARRAY
< public	planet_osm_rels	tags	ARRAY
---
> public	planet_osm_rels	members	jsonb
> public	planet_osm_rels	tags	jsonb
299c299
< public	planet_osm_ways	tags	ARRAY
---
> public	planet_osm_ways	tags	jsonb
Anpassungsversuche

Theoretisch wäre es möglich, die Datenbank so anzupassen, dass alles passt. Hier unsere ersten Befehle:

ALTER TABLE planet_osm_nodes
ADD COLUMN IF NOT EXISTS tags jsonb;
ALTER TABLE planet_osm_rels
    ALTER COLUMN members SET DATA TYPE json USING to_jsonb(members),
    ALTER COLUMN tags SET DATA TYPE json USING to_jsonb(tags),
    DROP COLUMN way_off,
    DROP COLUMN rel_off,
    DROP COLUMN parts;
ALTER TABLE planet_osm_ways
    ALTER COLUMN tags SET DATA TYPE json USING to_jsonb(tags);
CREATE TABLE osm2pgsql_properties (
    property TEXT PRIMARY KEY,
    value TEXT
);


ALTER TABLE osm2pgsql_properties OWNER TO _tirex;

Nach ersten Versuchen entscheiden wir uns jedoch für den sicheren Weg und lesen die Daten auch im Echtbetrieb neu ein.

Hallo liebe OSM-Community,

Ich habe eine Frage zur Way-ID w495766634. Dort ist ein Seitenstreifen mit eingeschränktem Halteverbot mit Zeitraum, außerdem zwei Plätze zum Laden von Elektrofahrzeugen.

Hier die Bildquelle: https://www.mapillary.com/app/?lat=50.112034146849&lng=8.675660201024584&z=18.480623101734352&dateFrom=2024-05-01&pKey=2075065642879151&focus=photo&x=0.46802394290499305&y=0.48925073560159726&zoom=1.4021777417324663

Bisher habe ich folgendes getagged: parking:left:access=yes @ (Mo-So 0:00-07:00,17:00-24:00) parking:left:fee=no parking:left:maxstay:conditional=3 hours @ (08:00-21:00) parking:left:restriction=charging_only parking:left:restriction:conditional=no_parking @ (Mo-So 07:00-17:00)

Für mich impliziert das aber eher, dass der Parkraum nur für Elektrofahrzeuge zur Verfügung steht. Außerdem gilt maxstay in diesem Fall ja auch nur für E-Fahrzeuge und nicht für den Rest. Alles nicht richtig und nicht falsch meiner Meinung nach.

Wie würdet ihr diese Situation taggen, damit sie “korrekt” ist? Über Antworten würde ich mich sehr freuen.

Beste Grüße Simon

Location: 60311, Altstadt, Innenstadt 1, Frankfurt am Main, Hessen, Deutschland
Posted by ASRvwde on 19 November 2024 in German (Deutsch).

Wie bereits im Beitrag zuvor geschrieben, habe ich bei meinem zweiten Mal mit OSM auch mit der Bearbeitung angefangen. Und die ist gar nicht so einfach, wie es klingt und vor allem voll mit Stolperfallen, die ihre Ursache hauptsächlich darin haben, dass manches Bearbeitungs-Feature von der Umsetzung her nichts halbes und nichts ganzes ist. Zudem gibt es auch OSM leider auch Trolle.

Sinnvolle Freizeitgestaltung

Fakt aber ist, wenn man sich da mal reingefuchst hat, dann macht die Bearbeitung und damit auch die Verbesserung der Karte für alle Nutzer nicht nur Spaß, sondern hat auch durchaus einen Suchtfaktor. Und nicht zuletzt diesen feiere ich gerade. Denn er hat dazu geführt, dass bedeutende Teile meiner Freizeit zwischen beruflichem wie auch der Pflege von Angehörigen, nicht mehr für irgendwelche Games am PC drauf geht, sondern darauf verwendet wird, raus zu gehen, vor Ort zu recherchieren und später in die Karte einzupflegen.

Dazu kommt, dass ich jeden Tag im Großraum meiner Heimatregion mit dem Auto unterwegs bin und jetzt auch an vielen Tagen diese Fahrten dazu nutzen kann, die Karte für alle besser zu machen. Hier kommt dann Mapillary ins Spiel. Aber dazu später mehr.

Bearbeitung Level 1 – Hinweise

Mein Einstieg in die Beteiligung, die Bearbeitung, waren Hinweise. Der Grundgedanke war, dass man damit als völlig unerfahrener Bearbeitender nichts versehentlich kaputtmachen kann. Man ändert ja nicht, sondern setzt einfach nur ein Pünktchen mit einem Hinweistext. Und wenn der Hinweis sich an dieser Stelle als überflüssig oder irrelevant entpuppen sollte, dann kann er von jemand anderem ja einfach geschlossen und damit zumindest aus der Kartenansicht gelöscht werden.

In meinem Heimatort Radevormwald bin ich geboren und aufgewachsen und von einem kurzen Gastspiel in Lüneburg Anfang der 1990er abgesehen, lebe ich hier seit 50 Jahren. Ich kann also guten Gewissens von mir behaupten, mich hier auszukennen. Und vor diesem Hintergrund stach mir anlässlich meines ersten Hinweises auch sofort ins Auge, dass in der Karte ein ganzes Bachsystem fehlt. Also, Hinweis dazu geschrieben, veröffentlicht, gut gefühlt.

Hinweise – doch nicht so toll

Schauen wir mal, ob der Hinweis auch an der richtigen Stelle ist. Rechts auf „Ebenen“ geklickt und das Häkchen bei „Hinweise/Fehlermeldungen“ gesetzt und ja, er war an der richtigen Stelle. Aber drum herum poppen noch mal gut 30 andere Hinweis-Markierungen auf. OK. Lesen wir doch einfach mal was andere da so als Hinweis schreiben. Erschreckend häufig finden sich Hinweise auf Wanderwege, die ein wenig zugewuchert sind. Was bitte erwarten die Hinweis-gebenden? Dass alle Wanderwege durch den Wald asphaltiert werden? Dass jetzt jemand für die Aktualität der Karte mit der Heckenschere losrennt und die wuchernde Himbeere zurück stutzt? Dass jetzt jemand mit dem Spaten loszieht und den Weg in dem Bereich sowohl auf der Karte wie auch im Wald verlegt? Hm. Seltsam.

Himbeeren

Also gehen wir den Weg doch einfach auch mal. Na ja, Weg ist an der Stelle eigentlich zu viel gesagt. Es ist ein besserer Trampelpfad. Ja, er ist auch an den Bäumen und Zaunpfosten als Wanderweg gekennzeichnet, aber wenn da pro Woche mal zwei Leute lang gehen, ist das schon viel.

Und das Hindernis namens Himbeere? Ja, die ist ein wenig in den Weg gewuchert und wenn man da mit kurzer Hose lang geht, hat man vielleicht den einen oder anderen Kratzer der Dornen am Bein. Aber wenn man da einfach 1 Meter weiter links an der linken Seite um den dort stehenden Baum herum geht, was problemlos möglich ist, dann ist der Himbeerbusch gar kein Hindernis mehr – und der Hinweis eigentlich sinnfrei. Es sei denn, er soll eigentlich dazu dienen, entsprechend interessierte Leute darauf hinzuweisen, dass sie da recht bequem Himbeeren pflücken können.

Ich könnte den Hinweis jetzt ja schließen. Aber ich bin der Neue hier und ich weiß ja nicht, was der Hinweis-gebende mit seinem Hinweis genau beabsichtigt, also lass ich ihn mal stehen und wende mich einem anderen zu.

Wen interessieren Hinweise

In einem anderen Hinweis im dort angrenzenden Nachbardorf wird das Fehlen eines Geschäftes bemängelt. Das Geschäft wird auch namentlich benannt. Und mein erster Gedanke dazu ist: „Das gibt’s doch gar nicht mehr!“. Also den Hinweis mal genauer betrachtet und da findet sich als Zeitstempel ein „vor über 8 Jahren“. Das erklärt so einiges. Vor 8 Jahren gab es dort tatsächlich dieses Geschäft. Aber das lief an diesem dörflichen Standort halt nicht so gut, ist dann vor 4 Jahren ins Stadtzentrum gezogen, hat dort aber dann auch vor zwei Jahren endgültig zugemacht.

Heißt also im Klartext: Zarte 8 Jahre hat dieser Hinweis niemanden interessiert – erst recht keinen Ortskundigen. Erschreckend. Noch erschreckender ist, viele andere Hinweise im Umkreis tragen auch Zeitstempel des Typs „vor x Jahren“.

Und weiter im Klartext heißt das: Wenn hunderte Leute Hinweise schreiben, aber Null Leute Hinweise interessieren, dann sind Hinweise vielleicht doch nicht so toll, um zur Aktualität der Karte beizutragen.

Hinweise – konstruktiv

Zum Glück sind nicht alle Hinweise elend alt. Es gibt auch ein paar halbwegs aktuelle. Und darunter gibt auch solche, bei denen ich mit meinem Wissen zu einer Lösung beitragen kann. Also flugs mal entsprechend kommentiert. Und prompt entwickelt sich daraus eine angeregte und konstruktive Diskussion, an deren Ende man tatsächlich das Gefühl hat, etwas konstruktives zur Lösung eines Problems beigetragen zu haben.

Bleibt als Beigeschmack vielleicht nur, dass ein Abseits einer Straße in einem Feld gelegener Gullydeckel jetzt nicht unbedingt etwas ist, was einer breiteren Masse von Kartenbenutzern weiter hilft. Wahrscheinlicher ist, dass das niemals wieder jemanden interessieren wird.

Hinweise – Fazit

Alles in allem wird dadurch recht eindrucksvoll klar, dass Hinweise nicht wirklich ein Mittel sind, um zur Aktualität der Karte beizutragen. Klar kann man Hinweise schreiben. Aber man kann sich halt nie sicher sein, dass die auch wirklich jemand interessieren. Und damit mutieren sie schon ein wenig von einem sinnvollen Beitrag zu einer netten Spielerei.

Für mich jedenfalls war die Erfahrung mit Hinweisen der Anlass, mich mal intensiver mit der richtigen Bearbeitung der Karte auseinanderzusetzen. Klar kann ich zu einem fehlenden Geschäft in unserer Fußgängerzone einen Hinweis schreiben. Aber vielleicht interessiert der die nächsten 10 Jahre einfach niemanden. Auf der anderen Seite kann ich das fehlende Geschäft aber auch selbst als Eintrag in der Karte anlegen und selbst wenn ich nicht sofort alle Daten dazu zusammentragen oder einpflegen kann, sieht ein die Karte benutzender Besucher des Ortes sofort, dass dort eben dieses Geschäft ist.

Zeit also, sich mal in die richtige Bearbeitung herein zu fuchsen, die aber leider vollen Fallstricke ist, welche einen Neuling schnell ins Straucheln bringen oder ihm dämliche Kommentare bescheren können.

Doch dazu demnächst mehr …

Location: Kleinsiepen, Radevormwald, Ispingrade, Radevormwald, Oberbergischer Kreis, Nordrhein-Westfalen, 42477, Deutschland
Posted by Inklusion im Bistum Essen on 18 November 2024 in German (Deutsch). Last updated on 19 November 2024.

Mit der App StreetComplete auf dem Smartphone kann jeder Mensch (unabhängig von persönlichen Vorlieben oder Registrierungen in Gruppen und Vereinen) zur Barrierefreiehit beitragen. StreetComplete zeigt ungeklärte Informationen auf einer OpenStreetMap-Karte. Die unbedarfte Nutzerin findet also Orte in ihrer aktuellen Umgebung und kann Fragen beantworten wie: * Gibt es das noch? * Stimmen die Öffnungszeiten? * Wie ist der Belag? … Es gibt Möglichkeiten, etwas einzutragen, ein Foto zu machen und hochzuladen, aus einer Liste auszuwählen.

Meine Erfahrung mit StreetComplete ist: Es ist leicht zu handhaben. Das kann im Grunde jeder Mensch.

Die App ist trackerfrei. Es ist also kein Problem, sich ein OSM-Konto zu erstellen auf https://www.openstreetmap.org/user/new . Mit dem Nutzernamen und dem Passwort melde ich mich bei StreetComplete an. Schon kann es losgehen.

Es gibt ein Belohnsystem: Oben am Rand ist ein Briefsymbol. Manchmal erhält man eine Mail mit Links zu interessanten Karten.

Manchmal meldet sich ein geübter Mensch, um auf eine Dummheit aufmerksam zu machen. Zum Beispiel wenn ich einen Ort falsch beschrieben habe. Das ist halt das Gute an OpenStreetMap, das es eine Menge Menschen gibt, die völlig unabhängig voneinander die Karte und ihre Funktionen im Auge haben.

Mein Fazit

Nutzt StreetComplete.

Mitarbeit bei OSM. Ein Artikel auf gnulinux.

Posted by ASRvwde on 17 November 2024 in German (Deutsch).

Also ich muss mich wirklich mal bei OpenStreetMap bedanken, denn diese Karte hat etwas geschafft, was andere Dinge zuvor nicht hinbekommen haben, nämlich, dass ich mal wieder meinen Hintern hoch kriege. Aber mal von vorn.

Mein Weg zu OSM

Auf meinem Phone läuft Android. Also habe ich gezwungenermaßen Google Maps da drauf und das war in der Anfangszeit von Gmaps auch mal ganz nett. Aber schon nach kurzer Zeit hat es einfach nur genervt. Vor allem weil es keine Gelegenheit auslässt, sich in den Vordergrund zu stellen und den Benutzer für sich einzuspannen.

Google Maps – einfach nervig

Ständig poppen Benachrichtigungen auf, frei nach dem Motto „Hey, ich weiß wo Du gerade bist, also guck doch mal an dem Laden nach den Öffnungszeiten und mach gleich mal nen Dutzend Fotos!“. Und gerade die Fotos aus der App gehen dann auch direkt und unbearbeitet in die Karte, damit jeder jedes Detail und auch jede Person erkennen kann.

Mach das ein paar Mal und Du wirst eingeladen, Local Guide zu werden. Klingt toll, ist es aber nicht. Gut, man kann dann rudimentär ein bisschen was bearbeiten, hauptsächlich was Geschäfte und deren Öffnungszeiten angeht, aber das wars dann auch. Und da Google nicht prüft, ob Bearbeitungen von Local Guides schlüssig sind, kriegt Du für das Eintragen von Öffnungszeiten 5 Punkte, mit denen Du in irgendeinem nichtssagenden Level aufsteigst und der erst beste Troll, der als „Aktualisierung“ diese Öffnungszeiten wieder raus löscht, kriegt dafür auch 5 dieser Punkte. Und solche Trolle gibts reichlich. Ganz toll. Leb wohl, Google Maps.

Bing – übel

Ne Karte auf dem Phone zu haben, wäre trotzdem toll – nur halt nicht die von Google. Windows preist einem ja Bing Maps an und die gibts auch auf Android. Geben wir ihr eine Chance. Die Aktualität was „Orte“ auf der Karte angeht, mit einem Wort erbärmlich. Liegt wohl daran, dass Bing gar keine eigenen POI pflegt, sondern dafür auf andere Webdienste zurück greift. Restaurants kommen von Trip Advisor, Aktivitäten vielfach von Golocal und der Effekt davon ist, dass man zum Beispiel beim Blick auf Deutschlands höchste Eisenbahnbrücke, die Müngstener Brücke bei Solingen, 97 Fotos präsentiert bekommt, von denen über 70 gar nicht die Müngstener Brücke sondern irgendwelche anderen Brücken am Ars** der Welt zeigen.

Kann man solche Fehler korrigieren? Nein. Kann man solche Fehler melden? Ja. Aber dann bekommt man zur Antwort, das müsse man bei dem jeweiligen Anbieter machen. Doch wer bitte macht sich die Mühe, sich bei einem Dutzend externer Webseiten anzumelden, nur die blöde Microsoft-Karte aktuell zu halten. Erschreckend viele Trolle, wie es scheint. Ich aber nicht. Also weg mit dem Ding.

Here Maps – ganz schlecht

Apropos Aktualität. Da wäre ja noch Here Maps, oder here we go, wie es sich aktuell schimpft. Ganz früher auf dem Nokia 5800XM mal ganz brauchbar, habe ich mir mit vielen Fehlermeldungen irgendwann mal die Erlaubnis erarbeitet, die Karte auch bearbeiten zu dürfen. Gesagt, getan. Ich wohne seit 22 Jahren in einer Straße, die seit 77 Jahre, seit sie erstmals gebaut wurde, Sackgasse ist. In Here Maps allerdings war sie eine Durchgangsstraße, die über den knapp 1,5 Meter breiten Fußweg am Kopf des Wendehammers, in der Navigationsfunktion selbst Lkw die 300 Meter bis zur nächsten Querstraße durchfahren werden kann.

Wie gesagt, ich wohne in der Straße und entsprechend habe ich bei meinen Bearbeitungen, ja, Plural, jeweils Fotos von eben dem Wendehammer und dem schmalen Fußweg mit eingereicht. Geo-codierte Fotos, um genau zu sein. Und dennoch wurde meine Korrektur über ein Dutzend Male abgelehnt – von irgendwelchen höherrangigen, Bearbeitenden, die in Australien oder Japan zu Hause sind und die Situation nur anhand der Luftbilder beurteilen, auf denen man, den zahlreichen Bäumen hier sei Dank, den Wendehammer eben nicht sehen kann.

Keine Ahnung, ob das inzwischen korrigiert ist, ich habe Here ganz schnell deinstalliert, bevor ich in einer Gegend in der ich mich nicht auskenne damit navigierend, nachts in einem Hafenbecken lande, weil man die Straße tagsüber, mittels einer Fähre ja durch fahren kann.

OSM die Erste

2017 habe ich mir dann OSMand mal angetan, auch zur Navigation. Und ich war einfach nur enttäuscht. Vor allem davon, auf der Autobahn ein „Benutzen Sie jetzt die Ausfahrt“ zu hören, wenn man schon 200 Meter daran vorbei ist. Also weg damit.

TomTom

Was folgte, war TomTom. Damals noch nicht als brauchbare Smartphone-App verfügbar und so wurde es dann ein komplettes Gerät. Ein richtig teures, in dessen Preis lebenslang kostenlose Kartenupdates drin waren. Nun meint Lebenslang aber die Lebensdauer der Geräteserie. Und nach drei Jahren war Schluss mit Updates. Stattdessen kam eine E-Mail, man solle sich doch wieder das nächste, noch teurere, Gerät kaufen, um die „lebenslangen“ Updates wieder zu haben.

Netter Versuch. Glücklicherweise gabs inzwischen TomTom als Smartphone-App. Und die war zumindest für vier Jahre zwar nicht perfekt, aber für meine täglichen Navigationen doch gut genug.

Bis Frühjahr 2024. Da hat TomTom nämlich seine „mydrive“ Onlinekarte geupdated und mir mit dem Update meine rund 120 gespeicherten Adressen, POI und Routen ersatzlos und unwiederbringlich gelöscht und war damit bei mir auch ziemlich durch. Zum Glück ist das Karten-Abo in der App jährlich fällig und das aktuelle lief in Kürze aus – und wurde von mir auch nicht verlängert.

OSM die Zweite

Auf der Suche nach Ersatz schlug der Play-Store auch wieder OSMand vor und ich gab ihm noch eine Chance. Und was soll ich sagen, inzwischen bin ich von der Präzision schlicht begeistert. Außerdem passt OSMand / OpenStreetMap gerade auch sehr gut dazu, dass ich mich immer mehr von proprietären Sachen zurückziehe und zu offenen, freien Lösungen hin orientiere. So ist zum Beispiel auch Windows nach fast 30 exklusiven Jahren inzwischen nur noch Gastsystem auf meinem PC und das Primärsystem heißt Ubuntu Studio.

Aber auch OSMand / OpenStreetMap sind nicht perfekt und insbesondere in meinem Heimatort stach schnell ins Auge, dass viele POI / Geschäfte nur wenig aktuell sind und auch manche Straße falsche Geschwindigkeitsdaten hat. Doch bei OpenStreetMap kann man das ja ändern und so habe ich mich dann auch der Bearbeitung der Karte zugewendet.

Das aber ist eine Story für ein anderes Mal …

Location: Kleinsiepen, Radevormwald, Ispingrade, Radevormwald, Oberbergischer Kreis, Nordrhein-Westfalen, 42477, Deutschland

Ich habe ausgehend von einem anderen Projekt, fehlende Hausnummern in einem Ort entdeckt (Langenlipsdorf). Weil ich da aktuell nicht vor Ort sein kann, habe ich die Hausnummern vom Brandenburgviewer übernommen. Als Quelle (source) habe ich nun, wie auf den Seiten des Brandenburgviewer beschrieben den folgenden URL angegeben:

http://www.govdata.de/dl-de/by-2-0

Wie auf der Seite weiter oben beschrieben konnte ich im Brandenburgviewer keinen konkreten Datensatz ausfindig machen.

Frage: Reicht die Angabe des URL für den Source-Eintrag oder gibt es eine bessere Quellangabe?