Skip to main content

I am trying to clip a point cloud using building footprints from CityGML file. Pretty much like in this tutorial. However the Clipper transformation marks the whole cloud as Outside and none of the points as Inside.

 

Details:

  • I have FME version 2020.1
  • According to FME Data Inspector the building footprints and the point cloud are aligned
  • Both clipper and clippee have same coordinate system (EPSG:3301)
  • LAS file I'm using can be downloaded from here and CityGML from here
  • There is a similar issue from 7 years ago that was no help
  • This sequence worked with 2020.0 version

 

What could be causing this? Are there any alternatives to using clipper?

In the Clipper transformer, try to remove "_geometry" from the "group by" option.

"Group by" is used to process subsets. Like clipper with ID=1 vs clippee with ID=1 and clipper with ID=2 vs clippee with ID=2.


In the Clipper transformer, try to remove "_geometry" from the "group by" option.

"Group by" is used to process subsets. Like clipper with ID=1 vs clippee with ID=1 and clipper with ID=2 vs clippee with ID=2.

Leaving "Group by" option empty unfortunately does not help. The point cloud is still entirely "Outside" only difference is "_fme_no_clipper" is set to no.

 

I thought that "Group by" determined which groups to form after clipping rather than which clipper to use on which clippee? From Clipper documentation about "Group by" parameter: "This option allows you to select attributes that define which groups to form"


The problem lies in your buildings. Inspecting them they are multi-surface 3D objects of the fme_type: surface and fme_geometry: aggregate. You want them to be of the fme_type: area and fme_geometry: polygon (not sure if you need both).

 

One way of achieving this is to run them through a 2DForcer (a SurfaceFootprintReplacer works too) before sending them to the Clipper. I tried that, and then it works.

 

Another way is to first Deaggreate the building objects and then use a GeometryCoercer set to fme_polygons.

There are usually multiple ways to solve something with FME, and I'm pretty convinced that there might be an even smarter way. 🙂


In the Clipper transformer, try to remove "_geometry" from the "group by" option.

"Group by" is used to process subsets. Like clipper with ID=1 vs clippee with ID=1 and clipper with ID=2 vs clippee with ID=2.

This does appear work after all, though I get a different result from the one that was gotten in 2020.0 version. Thank you!

 

There appeared to have also been another issue with my CityGML dataset. The X and Y coordinates were either flipped or not flipped depending on whether I opened it directly in Inspector or if I opened it in inspector through workbench. I seem to have fixed that now.


Reply