Skip to main content
Question

Dissolve multiple 3D surfaces to get lowest elevation


Hi!

I have a task for an aviation project where there are multiple 3D surfaces of runway approaches (from DWG). I need to take the multiple surfaces and create a single composite "blanket" object taking all of the lowest elevation information. This is because the client would like to know how high an obstruction can be before it intersects with any of the approach boundaries.

 

I've seen SurfaceDissolver & SurfaceFootprintReplacer, but I'm not the best at FME so I'm unsure of a good workflow.

Any help would be appreciated! Thank you.

6 replies

jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • June 8, 2020

One way would be to rasterize each 3D surface and then use a RasterMosaicker with overlapping values set to Minimum.

 

 

Keeping it in 3d surfaces, I would look at things like the SurfaceOnSurfaceOverlayer, CSGBuilder.

 

 

Unfortunately transformers like the TINGenerator drop duplicate x/y points without allowing you to keep the lowest/highest Z.

  • Author
  • June 12, 2020

Thank you for your response @jdh! I tried both the Rasterizing method and the SurfaceOnSurfaceOverlayer methods. The SurfaceOnSurfaceOverlayer helped brainstorm a few more ideas, which went with using the following workflow. However, I'm having trouble turning the HullAccumulator output inside a solid, and there's a bunch of jagged lines. I'm not sure how to fix that. I also tried SolidBuilder to no avail.


virtualcitymatt
Celebrity
Forum|alt.badge.img+35

I really like the raster approach - If you group by surface this should give you a nice set of rasters which you can combine with the RasterMosaicker with overlapping values set to Minimum, Then you can use the RasterDEMGenerator to create a surface. You may lose some information but a visual comparison should let you know how good the process was.

 

 

 

But if you have a process which already gives you the lowest points you want (looks like maybe you do?) then I would suggest just using the TINGenerator to generate a surface from the points.

  • Author
  • June 12, 2020
virtualcitymatt wrote:

I really like the raster approach - If you group by surface this should give you a nice set of rasters which you can combine with the RasterMosaicker with overlapping values set to Minimum, Then you can use the RasterDEMGenerator to create a surface. You may lose some information but a visual comparison should let you know how good the process was.

 

 

 

But if you have a process which already gives you the lowest points you want (looks like maybe you do?) then I would suggest just using the TINGenerator to generate a surface from the points.

Thanks for the input @virtualcitymatt! I think the caution with rasterizing it would be potentially losing some accuracy for the data, but I'm against the ropes right now so let me try that process again and see if it yields better results!


  • Author
  • June 12, 2020
spizam wrote:

Thanks for the input @virtualcitymatt! I think the caution with rasterizing it would be potentially losing some accuracy for the data, but I'm against the ropes right now so let me try that process again and see if it yields better results!

Question for you and @jdh...If I rasterize the surfaces with ImageRasterizer, doesn't that make the data 2D, which fails in RasterDEMGenerator?


jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • June 12, 2020
spizam wrote:

Question for you and @jdh...If I rasterize the surfaces with ImageRasterizer, doesn't that make the data 2D, which fails in RasterDEMGenerator?

Any of the surface modeller transformers consider rasters as a point dataset where the Z is the pixel value.

 

 

Though I think you want the NumericRasterizer not the ImageRasterizer.

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