[1] Error creating or configuring Mapnik: [Error: Postgis Plugin: ERROR: function first(geometry) does not exist [1] LINE 95: first(geometry) AS geometry, [1] ^ [1] HINT: No function matches the given name and argument types. You might need to add explicit type casts. [1] in executeQuery Full sql was: 'SELECT * FROM ( [1] SELECT [1] ST_LineMerge(ST_Collect(geometry)) AS geometry, [1] idx(arr1, 0) AS h_red, [1] idx(arr1, 1) AS h_blue, [1] idx(arr1, 2) AS h_green, [1] idx(arr1, 3) AS h_yellow, [1] idx(arr1, 4) AS h_black, [1] idx(arr1, 5) AS h_white, [1] idx(arr1, 6) AS h_orange, [1] idx(arr1, 7) AS h_purple, [1] idx(arr1, 8) AS h_none, [1] idx(arr1, 10) AS h_red_loc, [1] idx(arr1, 11) AS h_blue_loc, [1] idx(arr1, 12) AS h_green_loc, [1] idx(arr1, 13) AS h_yellow_loc, [1] idx(arr1, 14) AS h_black_loc, [1] idx(arr1, 15) AS h_white_loc, [1] idx(arr1, 16) AS h_orange_loc, [1] idx(arr1, 17) AS h_purple_loc, [1] idx(arr1, 18) AS h_none_loc, [1] idx(arr2, 20) AS b_red, [1] idx(arr2, 21) AS b_blue, [1] idx(arr2, 22) AS b_green, [1] idx(arr2, 23) AS b_yellow, [1] idx(arr2, 24) AS b_black, [1] idx(arr2, 25) AS b_white, [1] idx(arr2, 26) AS b_orange, [1] idx(arr2, 27) AS b_purple, [1] idx(arr2, 28) AS b_none, [1] idx(arr2, 30) AS s_red, [1] idx(arr2, 31) AS s_blue, [1] idx(arr2, 32) AS s_green, [1] idx(arr2, 33) AS s_yellow, [1] idx(arr2, 34) AS s_black, [1] idx(arr2, 35) AS s_white, [1] idx(arr2, 36) AS s_orange, [1] idx(arr2, 37) AS s_purple, [1] idx(arr2, 38) AS s_none, [1] idx(arr1, 40) AS r_red, [1] idx(arr1, 41) AS r_blue, [1] idx(arr1, 42) AS r_green, [1] idx(arr1, 43) AS r_yellow, [1] idx(arr1, 44) AS r_black, [1] idx(arr1, 45) AS r_white, [1] idx(arr1, 46) AS r_orange, [1] idx(arr1, 47) AS r_purple, [1] idx(arr1, 48) AS r_none, [1] refs1, [1] refs2, [1] icount(arr1 - array[1000, 1010, 1020, 1030, 1040]) AS off1, [1] icount(arr2 - array[1000, 1010, 1020, 1030, 1040]) AS off2 [1] FROM ( [1] SELECT [1] array_to_string( [1] array( [1] SELECT distinct itm FROM unnest( [1] array_agg( [1] CASE [1] WHEN [1] osm_routes.type IN ('hiking','foot','horse') [1] THEN [1] CASE [1] WHEN name <> '' AND ref <> '' [1] THEN name || ' (' || ref || ')' [1] ELSE COALESCE(NULLIF(name, ''), NULLIF(ref, '')) END [1] ELSE [1] null [1] END [1] ) [1] ) AS itm ORDER BY itm [1] ), [1] ', ' [1] ) AS refs1, [1] array_to_string( [1] array( [1] SELECT distinct itm FROM unnest( [1] array_agg( [1] CASE [1] WHEN [1] osm_routes.type IN ('bicycle','mtb','ski','piste') [1] THEN [1] CASE [1] WHEN name <> '' AND ref <> '' [1] THEN name || ' (' || ref || ')' [1] ELSE COALESCE(NULLIF(name, ''), NULLIF(ref, '')) END [1] ELSE [1] null [1] END [1] ) [1] ) AS itm ORDER BY itm [1] ), [1] ', ' [1] ) AS refs2, [1] first(geometry) AS geometry, [1] uniq(sort(array_agg( [1] CASE [1] WHEN osm_routes.type IN ('hiking','foot','horse') THEN [1] CASE [1] WHEN true AND osm_routes.type = 'horse' THEN 40 [1] WHEN true AND osm_routes.type IN ('hiking', 'foot') THEN (CASE WHEN network IN ('iwn', 'nwn', 'rwn') THEN 0 ELSE 10 END) [1] ELSE 1000 [1] END + [1] [1] CASE [1] WHEN "osmc:symbol" LIKE 'red:%' THEN 0 [1] WHEN "osmc:symbol" LIKE 'blue:%' THEN 1 [1] WHEN "osmc:symbol" LIKE 'green:%' THEN 2 [1] WHEN "osmc:symbol" LIKE 'yellow:%' THEN 3 [1] WHEN "osmc:symbol" LIKE 'black:%' THEN 4 [1] WHEN "osmc:symbol" LIKE 'white:%' THEN 5 [1] WHEN "osmc:symbol" LIKE 'orange:%' THEN 6 [1] WHEN "osmc:symbol" LIKE 'violet:%' THEN 7 [1] WHEN "osmc:symbol" LIKE 'purple:%' THEN 7 [1] WHEN colour = 'red' THEN 0 [1] WHEN colour = 'blue' THEN 1 [1] WHEN colour = 'green' THEN 2 [1] WHEN colour = 'yellow' THEN 3 [1] WHEN colour = 'black' THEN 4 [1] WHEN colour = 'white' THEN 5 [1] WHEN colour = 'orange' THEN 6 [1] WHEN colour = 'violet' THEN 7 [1] WHEN colour = 'purple' THEN 7 [1] ELSE 8 [1] END [1] [1] ELSE 1000 [1] END [1] ))) AS arr1, [1] uniq(sort(array_agg( [1] CASE [1] WHEN osm_routes.type IN ('bicycle','mtb','ski','piste') THEN [1] CASE [1] WHEN true AND osm_routes.type IN ('bicycle', 'mtb') THEN 20 [1] WHEN true AND osm_routes.type IN ('ski', 'piste') THEN 30 [1] ELSE 1000 [1] END + [1] [1] CASE [1] WHEN "osmc:symbol" LIKE 'red:%' THEN 0 [1] WHEN "osmc:symbol" LIKE 'blue:%' THEN 1 [1] WHEN "osmc:symbol" LIKE 'green:%' THEN 2 [1] WHEN "osmc:symbol" LIKE 'yellow:%' THEN 3 [1] WHEN "osmc:symbol" LIKE 'black:%' THEN 4 [1] WHEN "osmc:symbol" LIKE 'white:%' THEN 5 [1] WHEN "osmc:symbol" LIKE 'orange:%' THEN 6 [1] WHEN "osmc:symbol" LIKE 'violet:%' THEN 7 [1] WHEN "osmc:symbol" LIKE 'purple:%' THEN 7 [1] WHEN colour = 'red' THEN 0 [1] WHEN colour = 'blue' THEN 1 [1] WHEN colour = 'green' THEN 2 [1] WHEN colour = 'yellow' THEN 3 [1] WHEN colour = 'black' THEN 4 [1] WHEN colour = 'white' THEN 5 [1] WHEN colour = 'orange' THEN 6 [1] WHEN colour = 'violet' THEN 7 [1] WHEN colour = 'purple' THEN 7 [1] ELSE 8 [1] END [1] [1] ELSE [1] 1000 [1] END [1] ))) AS arr2 [1] FROM osm_route_members JOIN osm_routes ON (osm_route_members.osm_id = osm_routes.osm_id AND state <> 'proposed') [1] WHERE network IN ('iwn','icn') AND geometry && ST_MakeEnvelope(-3.402823466385289e+38,-3.402823466385289e+38,3.402823466385289e+38,3.402823466385289e+38,3857) [1] GROUP BY member [1] ) AS aaa [1] GROUP BY [1] h_red, h_blue, h_green, h_yellow, h_black, h_white, h_orange, h_purple, h_none, [1] h_red_loc, h_blue_loc, h_green_loc, h_yellow_loc, h_black_loc, h_white_loc, h_orange_loc, h_purple_loc, h_none_loc, [1] b_red, b_blue, b_green, b_yellow, b_black, b_white, b_orange, b_purple, b_none, [1] s_red, s_blue, s_green, s_yellow, s_black, s_white, s_orange, s_purple, s_none, [1] r_red, r_blue, r_green, r_yellow, r_black, r_white, r_orange, r_purple, r_none, [1] off1, off2, refs1, refs2 [1] ) AS foo LIMIT 0' [1] encountered during parsing of layer 'Unnamed' in Layer] [1] Error in cleanupOutOfBoundTiles: [Error: ENOENT: no such file or directory, scandir 'tiles'] { [1] errno: -2, [1] code: 'ENOENT', [1] syscall: 'scandir', [1] path: 'tiles' [1] }