Skip to main content
Question

MapnikRasterizer how to use groupBy?

  • June 15, 2022
  • 2 replies
  • 55 views

essb
Contributor
  • Contributor
  • 15 replies

MapnikRasterizer fails "Failed to rasterize data. The error was: Image area too large based on image dimensions" due to memory problems according to a post I read in here. The solution was to tile the layer and use groupBy "column,row" but thats not working for me. If I try that I get following errors "no input data for layer..."

 

I know I can change cellSpacing but I really need a high resolution map.

 

One option I can think of is making an oversight map and make a grid where each grid is its own map, but I dont know if I can do that with only 1 mapnikRasterizer.

 

I attach a workspace that kind of resemble my original data, in the workspace you can see that I tiled the map and group by column and row but it fails.

 

Thankful for any help or input.

2 replies

nielsgerrits
VIP
Forum|alt.badge.img+60
  • 2938 replies
  • June 15, 2022

You also need to assign the group id to the other input features. What I would do:

  • After the AttributeKeepers, AttributeCreators attribute type, value polygon, points, line1, line2a, line2b. You need this
  • All outputs to an BoundingBoxAccumulator to get one big extent of all data.
  • Tiler to tile the extend.
  • UUIDGenerator to generate unique id's for each tile.
  • Clipper to clip inputdata with tiles, merge attributes to get tile id to data.
  • AttributeFilter to split all types for input mapnikrasterizer.
  • set mapnickrasterizer group by _uuid.
  • rastermosaiker to merge results

essb
Contributor
  • Author
  • Contributor
  • 15 replies
  • June 16, 2022

You also need to assign the group id to the other input features. What I would do:

  • After the AttributeKeepers, AttributeCreators attribute type, value polygon, points, line1, line2a, line2b. You need this
  • All outputs to an BoundingBoxAccumulator to get one big extent of all data.
  • Tiler to tile the extend.
  • UUIDGenerator to generate unique id's for each tile.
  • Clipper to clip inputdata with tiles, merge attributes to get tile id to data.
  • AttributeFilter to split all types for input mapnikrasterizer.
  • set mapnickrasterizer group by _uuid.
  • rastermosaiker to merge results

Thanks for the help, that actually works even tho i get out of memory, but its because of the big extent of this test area in combination with low cell spacing. In my real workspace I don't have such a big extent as this. So I will implement this workflow in my real workspace and try it out!