The simple answer is to just round the points to a lattice. That is, just assign each point to the nearest lattice point. Since a regular lattice already has the connectivitty you seem to be looking for, you would then be done.
The problems that could arise are either noise that is too large, or missing data. Since you don't say what is to be done with this lattice, I have no idea what you might want to do with those missing points that fail to be filled in. You might use interpolation techniques, even my own inpaint_nans tool, found on the File Exchange. But you don't say that any values are associated with each point or not. So interpolation has no meaning unless there is a values assigned to each data point too, and all you have said is the phrase 2-D.
In the case of seriously large noise, where it becomes ambiguous where a point would be rounded to, I think you are in trouble. You might try some fuzzy logic, in the sense that you consider the probability that any point belongs in any node of the lattice, while not allowing two points to inhabit the same node of that lattice. Then find the assignment that maximizes the overall resulting likelihood function. A reasonable search tool for this problem might be GA. It will take some work to do, but it should be doable.