Be careful for narrow houses

narrow house 6Two users recently reported the same problem to me with autogen files made with scenProc. In Annotator they could not see all the buildings and after saving in Annotator many of the buildings were gone.

It turned out this problem was caused by very narrow buildings. So I want to warn all scenProc users of this problem. There are two causes for narrow buildings:

  1. Your data already contains them
  2. The SPLITGRID step made them

For the first case there is not much I can do, so just check your data. But to be honest the second case is most likely the cause of this issue in most cases. Normally the SPLITGRID step does make sure all features are divided along the borders of the autogen tiles. So if a polygon crosses the border it is split into two polygons.

Now what would happen if you house just crossed the border a tiny little bit? That would result in that tiny bit being sliced away from the house and being represented as a separate polygon (and thus seen as another house). This can result in very narrow houses in some cases.

The obvious solution for this is to not slice the houses, but instead just put the entire footprint polygon of the house in the terrain tile where the centre is. This option is already possible with scenProc, it is the second argument you can give the step.

Let me show you two examples of how to use it. The first case assumes that you load all your building footprints from a separate file, let’s assume it is called buildings.shp. In that case you can tell scenProc not to slice the buildings by using the following command:

SPLITGRID|AGN|FROMFILE=buildings.shp

Another case would be where you loaded OpenStreetMap data. In that case the buildings are not in a separate file. So you would need to filter on some attribute. For example:

SPLITGRID|AGN|building=*

2 thoughts on “Be careful for narrow houses

  1. Gropied says:

    Thank you Arno for this useful post. I’m translating it in French for users of Forum “PiloteVirtuel.com” and I don’t understand exactly what you mean when you say “So you would not to filter on some attribute”.

    Is SPLITGRID|AGN|building=* a right or false example ?

    • arno says:

      Hi,

      Sorry, that’s a typo. I want to say “so you want to filter on some attribute”.

      Arno

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.