Skip to main content
Solved

How to list parcels in a field

  • January 22, 2019
  • 3 replies
  • 30 views

I have one reader with buildings (areas), and one with parcels (also areas, having 2 attributes: parcel_no, parcel_id). I would like to output an Excel file of every building, with the parcel or parcels where it is located, separated with a "/". For example:

Building_no

 

Parcel_no

 

Parcel_id

 

1

 

1051/1052

 

P0356684/P0356685

 

2

 

1053/1054

 

P0264568/P0258934

 

3

 

1102

 

P0256425

 

4

 

1173

 

P0546742

 

Parcel_no and parcel_id have to be in the same order.

What should I use (SpatialRelator or AreaOnAreaOverlayer)? What options should I select?

And then, how can I aggregate the fields in one field (ListRangeExtractor, Aggregator, other...)?

Additionnal question: can I list only the parcels where the building occupies more than 5 square meters (to avoid parcels that are juste a little bit on the edge)?

Best answer by redgeographics

SpatialRelator and ListConcatenator is what you're looking for.

For your additional question I would try saving the building geometry (GeometryExtractor), clipping the buildings with the parcels and then calculating the area, throw away and building parts smaller than 5 sq meters, ListBuilder to gather them all together again and a GeometryReplacer to restore the original geometry, then ListConcatenator again to list all the parcel numbers.

This post is closed to further activity.
It may be an old question, an answered question, an implemented idea, or a notification-only post.
Please check post dates before relying on any information in a question or answer.
For follow-up or related questions, please post a new question or idea.
If there is a genuine update to be made, please contact us and request that the post is reopened.

3 replies

redgeographics
Celebrity
Forum|alt.badge.img+60
  • Celebrity
  • 3702 replies
  • Best Answer
  • January 22, 2019

SpatialRelator and ListConcatenator is what you're looking for.

For your additional question I would try saving the building geometry (GeometryExtractor), clipping the buildings with the parcels and then calculating the area, throw away and building parts smaller than 5 sq meters, ListBuilder to gather them all together again and a GeometryReplacer to restore the original geometry, then ListConcatenator again to list all the parcel numbers.


  • Author
  • 4 replies
  • January 30, 2019

SpatialRelator and ListConcatenator is what you're looking for.

For your additional question I would try saving the building geometry (GeometryExtractor), clipping the buildings with the parcels and then calculating the area, throw away and building parts smaller than 5 sq meters, ListBuilder to gather them all together again and a GeometryReplacer to restore the original geometry, then ListConcatenator again to list all the parcel numbers.

@redgeographics thank you very much for your support. It is working!

However, I am not sure how to deal with buildings that touch boundaries of other parcels. On this example, I want the building 1 and 2 to to list only parcel 2920 (same with buildings 3-4 and parcel 2921). Unfortunately, the result of my workflow is both parcels for the 4 buildings. How do I do that? I guess the answer is in the SpatialRelator Parameters...?

 


redgeographics
Celebrity
Forum|alt.badge.img+60
  • Celebrity
  • 3702 replies
  • January 30, 2019

I think this is it:

Buildings as Requestors, parcels as Suppliers. Test for Within, Equals and Intersects and have the SpatialRelator create a list. Explode that list, test for the de9im values that correspond to the scenarios we want:

  • Building completely inside parcel - 2FF1FF212
  • Building completely inside parcel but touching the boundary - 2FF11F212
  • Building intersects parcel boundary - 212101212
  • Building equal to parcel - 2FFF1FFF2

(no, I don't know those off the top of my head, I used the Data Inspector to figure it out)

Then create a list again and you have your data. Could use a ListConcatenator to put that all in one attribute.

none2none.fmw