Skip to main content

Hi! I have .dwg file with two layers: blue and red one. My goal is to build separated areas for all polygons on picture. I figured out how to build areas for blue and red polygon, but i have no clue how to build area for polygon which is made from both blue and red lines (hatched area). Any suggestions?

Run an Intersector or TopologyBuilder prior to the AreaBuilder. You max also need to set an snapping tolerance.


Thank you for informations @jdh. Using topology builder i get areas for all polygons. How can i get area only for hatched polygon?


Thank you for informations @jdh. Using topology builder i get areas for all polygons. How can i get area only for hatched polygon?

Is the hatching part of your original data? If yes, you can use a spatial filter to get only the polygons that intersect the hatching.

 

 

If not, how do you determine that the hatched polygon is what you want, and not the larger polygon to the left of the blue line?

 

 


Hi @jdh! Hatched part is not part of original data, i hatched it so i can easier explain my problem. Is there any way to exclude unhatched area so i can build area only for hatched part? I tried some area on area overlaying but i didnt get correct result.


Hi @jdh! Hatched part is not part of original data, i hatched it so i can easier explain my problem. Is there any way to exclude unhatched area so i can build area only for hatched part? I tried some area on area overlaying but i didnt get correct result.

Do you have any logical rule to differentiate the hatched part from other parts? e.g. "minimum area" etc.

 


Hi @jdh! Hatched part is not part of original data, i hatched it so i can easier explain my problem. Is there any way to exclude unhatched area so i can build area only for hatched part? I tried some area on area overlaying but i didnt get correct result.

Looking at your screenshot, I see 4 possible polygons:

 

large polygon (8 vertices)

 

small blue rectangle

 

small rectangle made of red and blue (hatched)

 

large polygon made of red and blue (6 vertices)

 

 

based on your description, you only want three of the polygons (ie not the last ones).

 

How do you make that decision? Without that logic, we cannot advise you.

 

 


Hi @jdh! Hatched part is not part of original data, i hatched it so i can easier explain my problem. Is there any way to exclude unhatched area so i can build area only for hatched part? I tried some area on area overlaying but i didnt get correct result.

Dwg on picture is part of digital cadastral map. Map consists of borders of properties (red) and borders of buildings (blue). In some cases object is on border of property (like hatched case-building is define with one line of border of building and three lines of borders of properties). I must only calculate area of all buildings on cadastral map (few hundres of them). There are three cases of buildings: first one-building is separated from border of property (blue rectangle), second - building is defined from two sides with lines of borders of buildings (blue line), and from two sides of lines of borders of properties (not shown on picture), and the third one- (hatched case) building is defined from three sides with borders of properties and from one side with border of building. I solved first and second case but i have no idea how to solve the third one. Any ideas?

 

 


Ok. If you have or create an attribute that is only on your building layer, and you set the Accumulation Mode to Merge Incoming on the AreaBuilder, you can test the output for the presence of that attribute and drop the features that don't have it, as they are created entirely out of red lines.

You can then check if the remaining polygons intersect any of the case one buildings, those would be the polygons with 3 properties segments and 1 building segment, that are not the building (large 6 vertex polygon in the above example).

 

 

You will then have a few "false positives" which are properties with only one edge building on them. Can you make the assumption that the building will have a smaller area than the remainder of the property?

Ok. If you have or create an attribute that is only on your building layer, and you set the Accumulation Mode to Merge Incoming on the AreaBuilder, you can test the output for the presence of that attribute and drop the features that don't have it, as they are created entirely out of red lines.

You can then check if the remaining polygons intersect any of the case one buildings, those would be the polygons with 3 properties segments and 1 building segment, that are not the building (large 6 vertex polygon in the above example).

 

 

You will then have a few "false positives" which are properties with only one edge building on them. Can you make the assumption that the building will have a smaller area than the remainder of the property?
Yes, generally speaking i can make that assumption.

 

 


Yes, generally speaking i can make that assumption.

 

 

So then you can calculate the areas, sort them in ascending order and use a sampler to keep the first feature with a group by on the unique attribute from the building layer.

 

 

The counter is an easy way to create the unique attribute if it's not already in your dataset

Reply