mapnik rendering error

Hallo,

ich habe gerade versucht eine Karte mit mapnik zu rendern. Allerdings bricht der Prozess immer an einer Stelle ab. Die Fehlermeldung:


Process Process-1:
Traceback (most recent call last):
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
    self.run()
  File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File "./generate_tiles_multiprocess.py", line 116, in loop
    self.render_tile(tile_uri, x, y, z)
  File "./generate_tiles_multiprocess.py", line 89, in render_tile
    mapnik.render(self.m, im)
RuntimeError: ERROR:  function transliterate(text) does not exist
LINE 1: SELECT transliterate(name)
               ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
QUERY:  SELECT transliterate(name)
CONTEXT:  PL/pgSQL function get_localized_name_without_brackets(text,text,text,text) line 16 at RETURN

Full sql was: 'SELECT ST_AsBinary("way") AS geom,"access","amenity","highway","historic","lock","religion","ruins","shop","tourism","waterway" FROM (select way,get_localized_name_without_brackets(name,"name:de",int_name,"name:en") as name,amenity,shop,tourism,highway,man_made,access,religion,waterway,lock,historic,leisure,ruins
      from view_osmde_point
      where amenity is not null
         or shop is not null
         or tourism in ('alpine_hut','camp_site','caravan_site','guest_house','hostel','hotel','motel','museum','viewpoint','bed_and_breakfast','information','chalet')
         or highway in ('bus_stop','traffic_signals','ford')
         or man_made in ('mast','water_tower')
         or historic in ('memorial','archaeological_site','castle')
         or waterway='lock'
         or lock='yes'
         or leisure in ('playground','slipway')
      ) as points WHERE "way" && ST_SetSRID('BOX3D(1816143.792055783 6136976.126960225,1817978.280734637 6138810.615639079)'::box3d, 900913)'

^CTraceback (most recent call last):
  File "./generate_tiles_multiprocess.py", line 208, in <module>
    render_tiles(bbox, mapfile, tile_dir, 16, 16)
  File "./generate_tiles_multiprocess.py", line 174, in render_tiles
    queue.put(t)
  File "/usr/lib64/python2.7/multiprocessing/queues.py", line 311, in put
    if not self._sem.acquire(block, timeout):
KeyboardInterrupt

Ich hoffe ihr könnt mir helfen. Danke schon mal im voraus.

max96

Hallo max96,

die Fehlermeldung sagt dir, dass die Funktion transliterate nicht gefunden wurde. Schau mal auf http://blog.gegg.us/2013/09/a-simple-way-to-localize-latinize-an-openstreetmap-style/

Gruß, dooley

Vielen Dank für die schnelle Antwort! Hat sofort funktioniert. Allerdings habe ich jetzt das Problem, dass ein Fluss nicht als dicker blauer Strich dargestellt wird, sondern als sehr dünner Strich. Woran kann das liegen?

Max96