generate_tiles.py doesn't render osm data from the database

Hi everyone, I struggle to generate osm data from the postgreSQL/postGIS database. “generate_tiles.py” renders the lower zoom levels 0-5 of the world overview without any problems:


# World
bbox = (-180.0,-90.0, 180.0,90.0)

render_tiles(bbox, mapfile, tile_dir, 0, 5, "World")

But then it should also render my example map section from the little country of Liechtenstein, which I loaded into the postGIS database:


minZoom = 10
maxZoom = 16
bbox = (9.4, 47.3,9.7,47.0)
render_tiles(bbox, mapfile, tile_dir, minZoom, maxZoom) 

But it doesn’t do it. It creates the folders for zoomlevel 10-16, but doesn’t fill them with tiles. The Windows command line says:


render_tiles ( (9.4, 47.3,9.7,47.0) c:\users\tanja\out.xml c:\users\tanja\osm\tiles/ 10 16 unknown )

c:\users\tanja\osm>

So it just ends the process, without any error message.

Some more information about my system:
Windows 10
PostgreSQL 12
PostGIS 3
Python 2.7
Mapnik 2.2.0
osm2pgsql 1.2.0
openstreetmap-carto-4.24.1

One thing I might need to mention is, that after importing the osm data into the database, it was missing several colums in the tables. Generating the intermediate stylesheet “out.xml” with “generate_xml.py” gave out an error message until I added all colums manually to the database. I added them manually with the same properties as the existing colums (type “text”, pg_catalogue.“default”). I tried different raw osm data from bbb.bike and geofabrik with both it said the columns are missing. It is these ones:

  • “disused” (in the tables: line, point,polygon)
  • “capital” (in the table: point)
  • “generator:source” (in the tables: point, polygon)
  • “power_source” (in the tables: point, polygon)
  • “ele” (in the table: point)

I am no programmer and at the end of my abilities. I already searched this forum and in the rest of the internet for possible solutions. Nothing worked so far :frowning:
Thanks for your help!

Update: Finally found the postgreSQL log files. At least there is an error:
“2019-11-24 18:32:59.698 CET [11744] LOG: konnte Daten vom Client nicht empfangen: unrecognized winsock error 10054” - Translation: “couldn’t recieve data from client”
Doing some research about this now. Does anyone know this problem?

I haven’t used generate_tiles.py for a very long time, and never on Windows. The winsock error you got is I think just “something at the other end went away” - it might have been killed or crashed. When I did last try generate_tiles.py I found that it struggled if fonts weren’t available. It might be that more things are rendered at higher zoom levels, which might need fonts that aren’t installed, which causes it to fail?

Another option is to use a Linux virtual machine (perhaps via something like VirtualBox) or Microsoft’s “Windows Subsystem for Linux” - see https://www.openstreetmap.org/user/SomeoneElse/diary/42617 for that. The last time I tried a tile server under WSL, it “just worked”. Since I wrote that diary entry Ubuntu 18.04.3 LTS is available under WSL and I’d expect that to work too.

Microsoft’s next version of WSL, “WSL2” is just around the corner - https://docs.microsoft.com/en-us/windows/wsl/wsl2-install . I’ve never tried that but have never needed to.