Hmm. Off the top of my head, the way I would do it is: Put in a PointVOP on the points you're using to instance your buildings. In that VOP you'll want to get the length of the P vector, which is essentially the distance from a given point (Px,Py,Pz) to the world origin (0,0,0), in a float value. Then you'll want to fit that value between 0 and 1. You can create a temporary attribute with a bind export to see those distance floats on your points in your geometry spreadsheet. Find the highest value (just looking at your viewport it should be something like 140ish) and enter that as the source max on the fit node, leave min at 0 unless you want the inner buildings to be tiny. Plug the fit output into a ramp parameter node to get very fine control of building sizes. Finally, multiply this with the existing pscale attribute. Keep in mind this is scaling each building's total size, not just its height.