Converting coordinates to string-based hashes is quite weird. Why not just find which grid square they are in and used the flat index of it?
Perhaps they can take advantage of the better locality of Z index compared to flat index, and/or they want to store higher precision and do lookups with varying precisions (grid sizes)?