Skip to main content
Solved

Select the polygon inside other polygon with MAX area


Dear

 

 

I have two polygon shapfile one capture in 2010 from sat image and the other one capture after 2014 from aerial photo the idea is some time more than one polygon fill or intersect with 2014 polygon so my target is to select the polygon from 2010 intersect with polygon 2014 with max area only (that mean select one polygon ) polygon with the max area , see the picture and you will know what I am talking about ... the system will calculate the area and select the polygon with max area (for example the below pic show the polygon number 3 because it has the max area , ....

 

 

 

 

Thanks

 

 

Eng.Najd Hanahnah

Best answer by takashi

If you need to select a polygon whose overlapping area is largest, the Clipper might be helpful.

 

View original
Did this help you find an answer to your question?
<strong>This post is closed to further activity.</strong><br /> It may be a question with a best answer, an implemented idea, or just a post needing no comment.<br /> If you have a follow-up or related question, please <a href="https://community.safe.com/topic/new">post a new question or idea</a>.<br /> If there is a genuine update to be made, please contact us and request that the post is reopened.

10 replies

  • Author
  • November 9, 2015
The below workbench show what I did , I calculated the area and I selected the intersect polygons but now what I wan is to select the polygon with max area inside the second polygon :

 

 

 

 

 


takashi
Evangelist
  • November 9, 2015
najedjamal wrote:
The below workbench show what I did , I calculated the area and I selected the intersect polygons but now what I wan is to select the polygon with max area inside the second polygon :

 

 

 

 

 

HI,

 

 

I would use the SpatialRelator to determine spatial relationship (collect 2010 polygons contained by each 2014 polygon), then use the ListSorter and ListIndexcer to select the largest polygon.

 

e.g.

 

Takashi

takashi
Evangelist
  • November 9, 2015
najedjamal wrote:
The below workbench show what I did , I calculated the area and I selected the intersect polygons but now what I wan is to select the polygon with max area inside the second polygon :

 

 

 

 

 

HI,

 

 

I would use the SpatialRelator to determine spatial relationship (collect 2010 polygons contained by each 2014 polygon), then use the ListSorter and ListIndexcer to select the largest polygon.

 

e.g.

 

Takashi

takashi
Evangelist
  • November 9, 2015
It's a simpler solution.


  • Author
  • November 9, 2015
Dear Takashi

 

 

 

Thanks for efforts and sharing the above info , I apply the second answer is not working with me as I want especially if there is many polygons 2010 inside or intersect with 2014 , I want the MAX polygon area (Fill area within 2014 boundary ) to be select only and escape the other polygon ...

 

 

 

the blow pic show the result from the second sol , the system must select (3) because MAX area fill inside the boundary or 2014 , but in the blow pic it shows that system select ""4""

 

 


takashi
Evangelist
  • Best Answer
  • November 9, 2015
If you need to select a polygon whose overlapping area is largest, the Clipper might be helpful.

 


  • Author
  • November 9, 2015
Dear Takashi

 

WOW , amazing it's work fine with me 100% ....

 

 

Last question , how I can compare attribute value between two polygon regarding to Building ID if they have same object ID , the idea now the building ID stored inside building 2010 and 2014 I want to compare the building ID attribute value between them if they have same object ID

 

 

Thanks , really appreciate your efforts :)

 


takashi
Evangelist
  • November 9, 2015
In the Clipper parameters dialog, set "Prefix Clipper" to the "Accumulation Mode" parameter, and specify a string (e.g. "2014") to the "Prefix" parameter.

 

Then the "building ID" and "object ID" of Clipper polygon will be merged to related Clippee polygons, as attributes called "2014building ID" and "2014object ID". Note that you will have to change the "Key Attributes" of the DuplicateRemover to "2014_count", since the prefix will be added to every Clipper's attribute name.

 

Finally you can compare "2014building ID" vs. "building ID", "2014object ID" vs. "object ID" for each resulting polygon.

 


  • Author
  • November 9, 2015

Dear Takashi

 

 

 

Thanks for your feedback , actually I will give you clear picture what I am looking for , as know by using the previous methodology I got the result MAX area polygon selected it's okay , now the second stage is to compare automatically between the MAX area result (Lets name it R) and the building 2014 if both of them have same ID (object ID/ KEY) I want to confirm as QC work if the building 2014 have same BIN as the MAX result area (R)...

 

 

If both have same BIN it will pass otherwise it will give me the list of conflict or building 2014 not have same BIN taken from (MAX Area /R)

 

 

see the picture :

 

 

 


takashi
Evangelist
  • November 9, 2015
If you add prefix "2014" to the Clipper with the way I suggested above, the resulting polygon (2010 building) will have "2014Object ID" and "2014BIN" which have been merged from related 2014 building. The resulting polygon (R) originally has "Object ID" (2010) and "BIN" (2010), so I think you can check whether "Object ID" is equal to "2014Object ID" and "BIN" is equal to "2014BIN" with the Tester transformer.

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