So I am going to ask this directly, as the details of your answer matter more than anyone would likely admit. We don’t need an answer, but you must think it all the way through…
Do you actually want to renumber rooms this way?
deep breath
I ask that directly as many will say ‘yes’, but then when they look at a real project or the next project they are on the method falls apart.
I can talk about ‘renumbering’ things for an hour straight. In fact there are at least four workshops where I did so… which is to say that I have some experience in this space.
I typically see companies follow a numbering strategy that is relative to other datum elements. That is often ‘sequence’ based (order of objects from the logical start point - think about the station and offset values used in linear structures, or hotel rooms along a corridor) or relative to another datum (group rooms by level, building quadrant, nearest grid intersection, etc.). When a ‘relative to surface’ method has been used the first thing that mattered was usually the origin of the surface.
In these cases you sometimes have point 1 at the bottom left corner (the first example), sometimes at the bottom right (second example). This will be determined by how your surface is built. You also move ‘bottom to top’, but may want to go left to right instead. This sequence will be determined by which parameter is used as the first input for the associative function of the point at parameter.
In all cases, scale makes variation difficult. Does the small closet on the north west corner want to be number fifteen even though it is only accessed off the main corridor which is number zero? Or does the small thing become a series after the larger thing it is accessed from. Does the one wide or tall room throwing off the sequence matter, or can we ignore it as people won’t orient themselves in the space but only off the plan?
In most cases, the use of a relative vector is more meaningful as a result. You can determine the origin point by grid intersection, build a vector to each room location, and then sort by distance along the X or Y axis, group by fraction thereof, and sort the groups by the Y or X axis. You can also transform these vectors even get advanced and sort things relative to another origin based on a property of the original item (group the vectors by the nearest control vector, perform a transform, and then sort - group - sort as before in the subgroups).
This method isn’t that far off what I outlined before, and it enables so much more than you get with UV parameterization.
The only drawback is that it does not enable us to sequence the numbers by order of experience (the hotel room numbers along the corridor which I mentioned before). Those are a whole new method of discussion…