OpenStreetMap logo OpenStreetMap

Users' Diaries

Recent diary entries

The Triple Frontier 3

Monday was a list of things to do, the last day before departure for Manaus. Priority number one was to move from a hostel too far away from the crossing into Tabatinga to one that was almost on the frontier, a pillar 10 metres away from our rooms marked the boundary. A brief stop for breakfast and down to Tabatinga port to buy our boat tickets, again checking out hammocks on the way.

On the way back, boat tickets bought, we found the hammocks we would need as a bed for much of the following two weeks. I didn’t want to go for the cheapest, I was looking for one that hopefully wouldn”t break and leave me sleeping on the deck. This time, unlike my previous attempt so many years before, it felt like the hammock and boat experience was really going to happen. I won’t pretend I didn’t feel nervous. We also bought cutlery, bowls and cups for the journey. Back in Leticia it was down to the market looking for rope, useful to either extend the hammock if needed or to secure luggage. A decent dinner in Leticia was needed, we didn’t have high hopes about the food we would be eating for the next four days. Writing in hindsight we were right about that.

Location: Barrio Colombia, Leticia, Amazonas, RAP Amazonía, 910001, Colombia

The Triple Frontier 2

Day two in Leticia began with another visit to Tabatinga. It was Sunday and the boat ticket office wasn’t going to be open, but we did need to get our Brazilian entry stamp in our passports, we weren’t going to get on the next boat without that. Remote land borders can often be more difficult to cross than arriving at international airports, but we had no problems here - a couple of questions about the purpose of our visit and it was done.

With the rest of the day free we went back to Leticia and got on a boat to Santa Rosa for the last time on Peruvian territory on this journey. Johnattan was carrying a small drone, and we wanted to do a bit of drone and street level mapping of the island. All of the main points of interest on Santa Rosa are concentrated on a single road, so we mapped our way up from the clutch of restaurants facing Leticia to a midpoint in the village and decided that the heat merited a refreshment stop in a friendly and spacious bar restaurant.

This restaurant became the base for an attempt at drone mapping Santa Rosa, but there was an unexpected problem. Both Tabatinga and Leticia have airports, and as Johnattan attempted to get the drone to fly at a decent height we realized that the drone exclusion area for these airports covered almost all of Santa Rosa.It was not going to happen, so we sat down for lunch - an Amazon river fish ceviche - and then finished our ground level mapping of the main street. Before the trip I had looked at Santa Rosa as a possible place to stay and decided there just wasn’t much there. But in fact it’s not a bad option if what you like is a quiet laid-back atmosphere with a backpacker traveller feel to it.There’s a handful of places to stay and enough bars and restaurants in support. And most of them are now mapped!

We headed out quite early for dinner in Leticia, the objective being a slightly fancier and more touristy restaurant we had seen. its pretty quiet on the triple frontier in mid-November, most places don’t stay open very late. But the rain came again, hard and fast - we had no choice but to take refuge for an hour in a nearby bar. Dinner for me was more river fish, gamitana this time - taking the chance to try things I may never see again. A walk back to the hostel and a relatively early night, the next day was going to be busy.

Location: Mario Rivera, Yavari, Province of Mariscal Ramón Castilla, Loreto, Peru

The Triple Frontier

With an eye on our (OSM powered) maps the first surprise on arrival at Santa Rosa was that we were being dropped off on what appeared on the map to be a separate island. Our moto taxi driver explained the reason for this, the drought that had affected so much of Amazonia had also changed the endpoint for a ferry that had been unable to run a few weeks before our arrival. In reality the two islands shown on the map are currently one, with a dip on the muddy track being the only indicator.

The triple frontier is a curious place, there are no formal border control posts, you have to go on arrival from Iquitos to the immigration office in Santa Rosa to get the Peruvian exit stamp, a pre-condition for subsequently getting entry into Colombia or Brazil. We were almost the first ones there at the office and the exit process took about 5 minutes. Then it was down to the boats that take you across to Leticia (in Colombia) or neighbouring Tabatinga (in Brazil). It’s a short crossing, I had read a couple of months earlier that in the worst moments of the drought people were able to cross on foot. That’s no longer the case, but the creek taking us in to Leticia had barely enough water to permit incoming and outgoing boats to get past each other.

Although we were landing in Colombia there are still no border formalities, only if you try to go somewhere else in the country outside of Leticia. So we had arrived in Peru, had our hostal accommodation in Colombia, and would be leaving from Brazil. Leticia has much more facilities than Santa Rosa or Tabatinga, it seemed like the best place of the three to stay.

The walk to the hostel was longer than we had expected, and with the sun out and carrying all our stuff it was the first time I really felt the Amazonian heat. But we had a relaxing start to the day, on the assumption from our research that we weren’t going to be leaving on the next boat from Tabatinga for at least a couple of days. A tasting of Colombian beers (Poker won first prize from the jury), a walk around the centre and lunch in the market watching the torrential downpour outside that would help restore the river and carry us to Belem. Then with the last of the rain we took a walk into Brazil, Tabatinga adjoins Leticia and there is an arch welcoming you to Brazil but again no further controls.

It’s still quite fascinating to see how things change when you cross even an open border like this. We walked through Tabatinga heading for the port and checking out places that sold hammocks, the main essential purchase for our no frills boat to Manaus. Down in the port they confirmed that there was a boat on the day we had expected, but we would have to return to buy the tickets because we still had no Brazilian money. We would have two more full days on the triple frontier. There would of course have to be some time for mapping.

Location: Leticia, Amazonas, RAP Amazonía, 910001, Colombia

The First Boat - Iquitos To The Triple Frontier

The boat from Iquitos was to be our sole concession to relative comfort on the river, foreigners have to pay a higher price for the ferry than locals, but the benefit was to be on the upper deck with more space, and an outside area at the back. There are faster boats doing this stretch of the river, but you are stuck inside the boat the whole time with very limited views of the river. Ours was the middle option between the three day slow boat and the fast service, and finally we were on our way down the Amazon.

Leaving in mid-afternoon we had about 3 hours of daylight left for river watching. The first proper sunset I had seen in Peru lit up the river before dark. And then we had a glorious full moon ahead of the boat, meaning that we had some visibility all night long. The ferry is quite modern and relatively fast, we even had a TV showing Peru playing Chile in a World Cup qualifier.

I slept on and off, partly because of trying to sleep stretched out on seats that weren’t uncomfortable but which were not designed for sleeping. Some of that time I spent watching the moonlt silhouette of the forest as we made our way down river. All those months of thinking and planning the adventure, and here we were. We were expecting an 18 hour journey, but in the end it was nearer to 15. Early morning and we were almost at Santa Rosa, the Peruvian river island on the triple frontier.

Location: San Pablo, Province of Mariscal Ramón Castilla, Loreto, Peru

Iquitos

One more plane, and then the real Amazon journey begins. I think I read somewhere that Iquitos is the largest city in the world that has no road connection to other parts of the country It belongs to. So a plane was the only alternative to seven days on the Rio Ucayali.The plan was to get to Iquitos and leave as soon as we could get a boat, with roughly two weeks left before arrival in Belem at the beginning of December for FOSS4G. and SOTM LATAM. In the end it was to be an overnight stay, there was a ferry leaving the next day for the Triple Frontier shared by Peru, Colombia and Brazil.

With the ticket bought for the first leg we could relax and explore some of the city. Iquitos is bigger, and busier, than Pucallpa but the tuk tuk style transport still dominates. The days of the rubber boom, and associated exploitation of local people,are long gone. But some of the buildings from that time survive, We explored a museum telling some of that story and with a selection of some of the earliest maps made of Peruvian Amazonia. And of course we did our own small mapping contribution, adding some points of interest for the central area to OSM. Some of those were added whilst having a beer on the balcony of a metal building designed by Mr Eiffel himself and overlooking the main square - mapping is hot work in Amazonia.

Location: Progreso, Belén, Province of Maynas, Loreto, 16001, Peru
Posted by caseywittmier on 24 November 2024 in English.

January 7, 2024, marked my first OpenStreetMap edit in years, and the beginning of a journey that I was not aware I was embarking upon.

After about a month of mostly adding driveways and doing minor road corrections around Oregon’s Lincoln County, my home county, I started a systematic review process for United States Forest Service roads in the Siuslaw National Forest. From early February to early June, I reviewed, added, and standardized the tagging of 1,055 such roads, and corrected the alignment of 963 of those. This amounts to a little over 1,145 miles of road geometry manually corrected. There are still many USFS roads left in the SNF to review, as my target review area was south of Neskowin Creek to north of the Siuslaw River. I intend to get to those eventually, but I decided to pause this and move on to features more local to myself.

I noticed that accurate address data is virtually non-existent in Lincoln County. Google Maps has good address coverage, but is littered with duplicates, errors in data and placement (sometimes quite significant), and the occasional missing address. Bing Maps suffers from much of the same. The county’s own assessor map only has address data for taxlots, not for individual structures, and some of this data is incorrect (a 5### address near the middle of the 4000 block, just to name one example that I can recall). No one seems to have consistently reliable structure-level address data, aside from the state of Oregon address geocode service, which only offers lookup of a single address, not any kind of bulk data request or export, and also has occasional placement errors. I wanted to change that.

I exported taxlot address data from the county map and online property search tool, made corrections and filled in gaps with my own research, and put this data into a spreadsheet. I was able to use a function to automatically query and collect the coordinates returned by the aforementioned geocode service for each address, and then convert this into a shapefile. I used Oregon Transportation Network data to verify and correct the address data and placement relative to roads, then used county taxlot polygons, open building footprint data, and imagery such as Bing and NAIP to correct placement errors. After all this, as a final quality check, I randomly selected and verified various addresses around the county, and used my personal knowledge to review what I knew as well. Through open street level imagery providers like Bing, as well as physical visits to areas like campground and mobile home parks, I was able to manually add over 6,000 sub-addresses, with no help from the state geocode service, as it does not return sub-addresses. I also developed a workflow to identify both new and removed addresses from the county assessor map. At this time, it is likely that I possess the most accurate address point data for Lincoln County. I feel that it is important to put this data somewhere where it can be both helpful and easy to access.

I had originally considered going through the OSM import process for the address data, but what stopped me from doing this was the aforementioned building footprint data. I noted during the address placement review that every building footprint dataset covering Lincoln County is full of all kinds of errors, and I also noticed that OSM is severely lacking in building footprints locally. What better way to ensure the data I am contributing is free from error than by manually verifying every single addition? Why not add and correct building footprints at the same time? Though incredibly time consuming, doing it this way has produced valuable results.

Starting on June 15, I began the work of adding these addresses and building footprints, and making fixes to other OSM data along the way. Today, November 23, 2024, I have added every address in the 97498 ZIP code to OSM, except for maybe 5 that were already present. This amounts to about 2,350 addresses. I am not sure of an easy way to pull this kind of information, so I will roughly estimate having added 1,800 buildings, and modified 700 pre-existing buildings.

I intend to continue this level of work north through Seal Rock. As of now, that means 6,546 addresses and probably 5,000 or so buildings waiting for me to add. I have been monitoring the area for other active users, but find none outside of the rare editor making spot edits as they travel through or remotely participating in MapRoulette challenges. I doubt I will be committed to this level of work throughout the rest of the county, and will probably move towards an import of the rest of the address data when that time comes.

I doubt anyone will read this screed, but if you have, I hope that means you are interested in helping out. Maybe it means you want the address point data. Send me a message either way.

TL;DR

Bing imagery in Greater Accra Region is very very old but it continues to be used as the primary reference for adding new data into OpenStreetMap. Esri World Imagery however seems more recent in and better aligned thank Bing.

This diary is a comparison of seleted locations in Accra with new developments that can be clearly seen in Esri World Imagery but not in Bing; one of the reasons not to use Bing as primary reference for adding new data into OpenStreetMap in Accra.

Bing imagery also have some interesting imagery offsets and mosaic problems such as the photo below and around this node. Bing vs Esri in Accra, Ghana south of Kotoka Internation Airport

Location on OSM

©Bing aerial imagery (left) and ©Esri World Imagery (right).

I have been mapping landuse areas in Greater Accra Region recently (deleting, adding and replacing multiple overlapping ways by remote mappers, same as that of Kumasi) which revealed these changes. Most of my observations in relation to the recentness of publicly available imagery in OSM concludes Esri World Imagery is the most recent and seems to have a good alignment with existing known data and GPS traces.

Here are two locations in the region that have seen rapid developments recently of which little or no traces can be seen in Bing imagery.

The Bank Square

The Bank Square, Accra, Ghana

Location on OSM

©Bing aerial imagery (left) and ©Esri World Imagery (right). Screenshot taken in JOSM

Jamestown Fishing Harbour

Jamestown Fishing Harbour

Loation on OSM

©Bing aerial imagery (above) and ©Esri World Imagery (below). Screenshot taken in JOSM

Conclusion

  • Tracing and aligning features in OpenStreetMap to Bing in Accra at present will be completely useless.
  • Compare imagery sources to see which is most recent and use a combination of both instead, in the case of Accra, Esri World Imagery at the moment is most recent and better aligned to existing data.
  • Watch out for offsets and imagery mosaic issues

Some other locations that can be compared:

Location: West Ridge, Accra, Korle-Klottey Municipal District, Greater Accra Region, GA-222-2148, Ghana
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.

Pucallpa

Iquitos wasn’t our first Amazonian destination, before we headed for Pucallpa - located on the Ucayali river much further south. Johnattan has worked there and is also heavily involved in the local OSM group. At one point we even considered starting the Belem boat trip in Pucallpa, the Ucayali combines with the Marañon river way down nearer to Iquitos to form the Peruvian Amazon. But an estimated seven additional days on a boat to Iquitos was a bit too much, another time maybe. I was dealing with the change of atmosphere from the western side of the Andes, it poured with rain shortly after arrival and moving around in tuk tuk style transport to get anywhere made it feel like a different country.

It was only a two night stopover, but there was OSM activity on tha agenda as we had a drone mapping demonstration and small scale mapping party in the grounds of the local intercultural university. We also got out for a short trip on the Ucayali too. When I was loading datasets for my Amazonian mapping project I was thinking about appropriate styling for the rivers of the region. They always end up blue on the maps, but the Ucayali is chocolate brown! Pucallpa would be an interesting place for an Amazonian State Of The Map, particularly with it having an established local mapping community.

Location: Pucallpa Metropolitan Area, Pucallpa, Callería, Province of Coronel Portillo, Ucayali, Peru

Huaraz

We were in Huaraz for an event on climate justice organised by the South American Wikimedia community. A very interesting event, my first with Wikimedia, and with a particular emphasis on giving a voice to the representatives of indigenous communities. Including a forum involving Saul Luciano who took the German energy giant RWE to court in a landmark case for their contribution to emissions that help to melt the glaciers that in turn threatens a deadly lagoon overflow for those living in the flood path below. He said he had never seen the glaciers recede as much as they had this year. OSM got some time and mentions at the event, although it got me thinking about how communities with so much in common seem to live separate existences.

And we did some mapping, enough to refresh data for the centre of Huaraz. My first Peruvian changesets. As for the nearby mountains, I had taken a tough packing decision to fill valuable rucksack space with my mountain boots and a bit of winter clothing in case I had the chance for a day in the mountains. it didn’t happen, the weather wasn’t kind and the boots haven’t seen any use. Of course the views of snowy peaks had to be fantastic the next day as we flew back to Lima in preparation for moving onwards to Amazonia. A planned presentation/workshop in a Lima university never happened as a strike timed to coincide with the APEC international summit closed the university for three days.

Location: Pumacayan, Huaraz, Province of Huaraz, Ancash, 02001, Peru

Landing In Lima

There were nervous moments before starting the journey. The terrible drought this year across Amazonia even put the whole project in doubt, we couldn’t be sure that the boats would be running as reports came in of Amazonian towns suffering water shortages. Together with the brutal wildfire season it seemed that we had picked the wrong year, although the real question after 2 consecutive years of drought might be whether there will be better years to come? Hard to believe when I looked at the hydrological data I had loaded for the Amazon basin. At one point I was considering buying a reserve air ticket from Lima to Manaus, which would have been a very disappointing way to do that journey. In the end October brought better news, it rained enough for the boats to run and Johnattan organised a short Peruvian itinerary (including OSM mapping!) which would take us to Iquitos for the first boat down the river. The first of three or four that we would need to get all the way to Belem with an estimated travel time of two weeks.

I landed in Lima on the 5th November and had a couple of days to acclimatise before setting off for the first destination on the trip. Great ceviche in a market stall which the tourist guidebooks will hopefully never discover, and time to see some of the city. Even time to drink a bit too much pisco, but you have to try the local products? Then it was off to Huaraz, located at 3000 metres and lying below the Andean peaks of the Cordillera Blanca. What does this have to do with Amazonia? The mountain chain is where all the debate about the source of the Amazon is focused. You can hardly get more of a landscape contrast than that between the western and eastern sides of the Peruvian Andes. I went up to Huaraz on the bus, and through the desert surrounding Lima then upwards through a semi arid mountainous landscape which differs sharply from the forest to be found on the eastern slopes.

Location: Risso, Lince, Province of Lima, Lima Metropolitan Area, Lima, 51015, Peru

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 Graeme Herbert on 21 November 2024 in English. Last updated on 22 November 2024.

Big River - The Project To Go With The Trip

Once I had decided to make the trip down the river I thought it would be interesting and useful to have an Amazonian themed maps and data project. A couple of years ago, in FOSS4G in Florence, I attended a presentation about TerriaMap and it ticked a lot of the boxes for a plan I had to do an open data and maps catalogue for Madrid and possibly other regions of Spain.

I had installed the tool and done some fairly basic experiments - but with the Amazon journey already being booked the focus changed and I embarked on a possibly over ambitious attempt to combine multiple data sources for the whole Amazonia region. That means a significant part of Brazil, Peru, Ecuador, Colombia, Venezuela and Bolivia. The project is online at Big River although for the moment it contains mostly base cartography sourced from national mapping agencies.

A lot of OSM data is in the queue to be loaded, already there in the case of Peru, and the first cross frontier thematic dataset covering the frightening wildfire season of 2024 across the entire Amazonian region is also in the pipeline. There’s a huge amount of open data available and work on the project will continue - but first I have to get down the big river!

Location: Jutaí, Região Geográfica Imediata de Tefé, Região Geográfica Intermediária de Tefé, Amazonas, North Region, Brazil