I have a position, and some entities that use position as it's identifier (geography, biome, and so on). If I want to get acess to them, I would need to retrieve each one by it's position, which would cause repeated code. On the other hand, I could create a class that is a container, like a "location". But, in this case, to retrieve geography (for example), I would need to break demeter's law.
Repository.getLocation().getGeography().getHighestPeak();
Is there any other approach to this, or a common pattern that I'm missing? Keep in mind that this type of objects (that relate to position in the way I described) are very likely to grow large in number after a few months.