I'd suggest to use monster types/appearances as indicators of where the PCs are. Terrain can be useful, especially if you make it appropriate to the monsters, but the players will tend to focus more when you're describing stuff that's threatening or fighting them.
In my largest (fantasy) sandbox, I had a safe area in the middle, then surrounded it with loosely defined areas. I made the areas clearer by having different monsters and different dangers in them, as well as different types of interesting diversions (dungeons etc.). I had NPCs explain how different areas were more dangerous, and the PCs were quick to learn where they were safe, and where they were screwed.
Translating that to your game, I'd suggest coming up with a common link connecting all the zombies in one area (say, a hospital) by giving them similar appearances. Also, have the types of useful stuff found be connected to the area (medicine in hospitals, food in supermarkets, petrol at petrol stations, etc.) to help lead them towards whatever they're looking for. Fill in one or two interesting locations (including enemies) per area, then leave it at that. Too much planning is a waste of time, unless you can guarantee that the PCs will go through the encounter(s), unlikely in a sandbox game. Once your areas are done and put on a map, you should be nearly finished.
Lastly, make a series of descriptions of each area (cover all 5 senses) so that if the PCs enter a warehouse, they "smell the sickly stench of rotting flowers [...] the taste of decay is in the air as they feel the slimy fronds". Make the descriptions tell the players a little about their area. Reread them, and see if you can picture the place in your mind.