Skip to main content

Hi all!

I have a Raster with only 0 and 1 values, where the 1 are the buildings extracted from a LAS cloud point (Class 6) and the 0 the rest of the extent. It is attached and it looks like this:

2

I need to get the polygons of the buildings footprint and my attempt is a RasterToPolygonCoercer, followed by a Dissolver but the result is not what I expected.

Diss2

FlowMOD

I tried a buffer of 1m but again, the footprint is not correct and I cannot make a bigger buffers because the correct shape of the building becomes increasingly worse.

Diss3 After Buff

I tried Generalize but it is not useful here. It smoothens polygons that are already correct and mines aren't. Tried also Aggregator and AreaAmalgamator but never seen the result. They take a really long time to process as there are thousands of polygons.

In the end what I want is polygons more or less correct but one per building as the red outline in the image below, where you could easily relate each building to its footprint.

1red

Thanks a lot in advance for all the answers!

Instead of buffering, try a HullReplacer. It probably won't result in a perfect match but it should smooth out a lot of the artefacts.


Instead of buffering, try a HullReplacer. It probably won't result in a perfect match but it should smooth out a lot of the artefacts.

thanks a lot @Hans van der Maarel​, it's been a good try.

BORRAR

 

Even though it stills being insufficient to build a correct footprint, the tools makes what I was looking for and I think I will find a use for it in further projects.

 

About this problem, I said I used only class 6 of the LAS point cloud. I think the solution might be to use classes 6 & 2 for one raster, then class 2 in other one and subtract the latter to the former. This way FME will interpolate the zones where there are no class 6 data and so the surface will be more continuous.


Reply