1 Site to many Lookouts. Acceptance criteria would be to populate the closest Lookout to a particular site (in the sites table). The relationship is dynamic. Meaning if a new lookout was added to the lookout table with a closer LatLong recalculate to update that Site with the new closer lookout.
Given that’s the case, you should be able to add a column to the lookouts table that calculate each lookout’s distance to its site. Then, in the sites table it should be somewhat straightforward to identify the closest lookout in your virtual column. Something like the following might work:
However, based on your diagram, it looks like you don’t indeed have a one-to-many relationship between sites and lookouts. Your illustration suggests it’s actually many-to-many (or, even, just outright all-to-all). If that’s the case, then you don’t have your tables referenced as I inferred and need to identify a different approach–probably create a dedicated table with a row for every site-lookout combination with those columns referencing their respective tables and with the distance for each combination calculated there.
ICYMI: You could presumably use actions (and, if necessary, automations) to add and delete site-lookout combinations as your lookouts are added and deleted.