Skip to main content
Solved

Clipper does not clip point cloud


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?

Best answer by nielsgerrits

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.

View original
Did this help you find an answer to your question?

4 replies

nielsgerrits
VIP
Forum|alt.badge.img+54
  • Best Answer
  • August 4, 2020

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.


nielsgerrits wrote:

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"


jonas_nelson
Enthusiast
Forum|alt.badge.img+19
  • Enthusiast
  • August 4, 2020

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. 🙂


nielsgerrits wrote:

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.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings