Ranking Rooms by XY Value for Renumbering

Hi all,

I’m trying to renumber rooms based on the XY value per room type for a BOMA Calculation.

I have a list A (number rankings from room centroids X value).

Occasionally there are duplicate ranks (the rooms stack in the X direction).

I have List B (number rankings from the same rooms centroid Y value) that I want to use to change these duplicate values.

This would be List C, which would use both values X and Y to rank the entries.

Written example:

Below there are two groups of duplicates in List A. The set of 5’s needs to be re-ordered independently of the set of 3’s.

List A (Room Centroid X Ranking): 2, 1, 5, 3, 3, 5, 5, 8, 9
List B (Room Centroid Y Ranking): 3, 4, 8, 1, 2, 6, 5, 7, 9

Dupe Set 1
List A (X Dupe Set 1): 3,3
List B (Matching Y Ranks): 1, 2
List C (X then Y): 3, 4

Dupe Set 2
List A (X Duplicate Set 2): 5, 5, 5
List B (Matching Y Ranks): 8, 6, 5
List C (X then Y): 7, 6, 5

List C (Room Centroid X then Y Ranking): 2, 1, 7, 3, 4, 6, 5, 8, 9

I scrapped a python from another post that creates a list of booleans for unique vs. dupe but I don’t know if its the right direction.

So far the script is working great except for these duplicates which I don’t know how to currently solve for.

Renumber Rooms by BOMA - XY Order.dyn (38.3 KB)

@mattendler See if this points you in the right direction.
Instead of deriving List A & List B, try plugging in X & Y values directly into the code block.


Room Numbers.dyn (9.9 KB)