-1

I have a very large feature layer consisting of polygons of different sizes. I need to select or subset a certain amount of features (say I need 4 polygons of size x, 6 polygons of size y, and 10 polygons of size z).

The problem is that I can't use the subset feature because I need these selection to be all bundled together, sharing at least one vertex, so that it is a somewhat representative sample of what the larger dataset looks like.

Any suggestions?

3
  • Can you add a screenshot showing your data and a sample of what you want to select? Do you have some attribute of the polygon size?
    – BERA
    Jan 13, 2022 at 13:12
  • The best/easiest way to do this is encode groupings in the feature class, then set a Query Definition. Second-best is using an IN on subquery of IDs in a lookup table. And third is a Query Definition with a simple IN list of IDs. The table should be indexed on the query term.
    – Vince
    Jan 13, 2022 at 13:47
  • When you say "sharing at least one vertex", do you mean the 10 polygons of size z all touch at a single point or do you mean the 10 polygons all touch each other thus minimum number of shared vertices has to be 5? I think you need to edit your question and include some screen shots as the topological nature of your data will drive the solution.
    – Hornbydd
    Jan 15, 2022 at 16:52

1 Answer 1

0

This is extremely challenging thing to do.

This is what I suggest:

Add field P2013 and populate it like that, using 3 classes of areas:

enter image description here

Important is proportion of polygons count in each class, it should be 4:6:10, i.e. exactly as shown on artificial dataset in the picture above. If this is not the case you need to weed some polygons on the edges. So compute total of P2013 (P) and do modulo division:

P % 1064

The answer is to be converted to number in each class subject for removal. For example if it is 35, you need to remove 5 from first class and 3 from second, or, perhaps 35 from 1st class. Number of 1064 came from:

4*1+6*10+10*100

I applied method described here to split 200 polygons into 10 groups. Results:

enter image description here

As one can see I've managed to locate only 2 groups, that are exact match to the criteria:

enter image description here

Method does not guarantee that you find ideal candidates (depending on a spatial mixture of your classes), but at least it will give you few, that are very close to it, similar to what table shows.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.