Hi @anhphanuet, I looked at the COLLADA dataset. It contains a single aggregate geometry which consists of multiple surface (Mesh) geometries, each of which seems to represent a building.
Summary: Decompose the input aggregate into individual surfaces (buildings); Create four tile areas covering all the buildings; Filter the buildings by the tile areas, then group the buildings with ID of the tiles.
However, most transformers for spatial filtering only support vector geometries, will reject 3D models including surface. A workaround I can think of is: once save the surface geometry as an attribute (GeometryExtractor), transform it to a representative point (CenterPointReplacer), perform filtering the points by the tile areas (Clipper, SpatialFilter, or PoinaOnAreaOverlayer), then restore the surface geometry from the attribute (GeometryReplacer).
See also this workflow example. In this example, you can group the buildings by "_row" and "_column" of the tiles.
