With the hope of providing insight into how to solve your problem, I will refer to the case of a grid $N\times N$. Let $\rho_{ij}$ denote the distance between two points $i$ and $j$, $i, j\in G$. The distances between any pair of nodes shall be stored as a parameter of your linear programming task, and can be given any values ---e.g., euclidean distance, Manhattan distance ...
There are various ways to model your case but I will go straight ahead to the one that (I think!) performs better because it requires less binary variables than other methods. Let $x_{ij}$ denote the decision variable which takes the value 1 if and only if points $i$ and $j$ are selected and 0 otherwise ---it is also possible to set up a linear programming task with a binary decision variable $x_i$ taking the value 1 if and only if location $i$ is selected but that leads to a quadratic number of binary variables. Obviously, $x_{ij}=x_{ji}, \forall i, j$, and this is the first constraint.
Secondly, to ensure that no more than $k$ points are selected, note that if $\sum_j x_{ij} > 0$ then point $i$ has been selected (same reasoning could have been followed by columns). Thus, let $r_i$ denote a binary variable whose value is computed with the following constraint: $Mr_i >= \sum_j x_{ij}, \forall i$. Clearly, if point $i$ is selected, then at least one variable $x_{ij}=1$ for some $j$. Because $r_i$ can only take values from the set $\{0, 1\}$, it is required to multiply it by an arbitrarily large constant $M$.
Only in appearance the constraint $\sum_i r_i = k$ ensures that exactly k points are selected. Note, however, that $r_i=1$ means that point $i$ is connected to at least 1 point, so that the constraint just guarantees that at least $k$ points have been selected. Alternatively, the constraint $\sum_{i,j} x_{ij} = k (k-1)$ seemingly solves the issue by constraining the solver to select $k$ pairs of nodes so that the total number of pairs is exactly equal to $2{k\choose 2}$. This is wrong again as it is not guaranteed that these pairs are taken with the minimum number of points. However, putting both constraints $k$ points are necessarily selected.
We come now to the core of your question, how to model the minimum distance between each pair of selected points. As $x_{ij}$ denotes whether points $i$ and $j$ have been selected, then let $d_<$ denote the minimum distance among all pairs of selected points: $d_< \leq x_{ij}\rho_{ij}$. This almost works as $d_<$ will be certainly upper-bounded by the minimum distance between each pair of selected nodes. Unfortunately, it forces $d_<$ to take the value $0$ because $x_{ij}\rho_{ij}=0$ for those cases where neither $i$ nor $j$ have been selected. To properly compute the minimum distance between each pair of selected nodes it is necessary thus to ignore those cases where either point has not been selected. For this, it just suffices adding $M (1-x_{ij})$ resulting in the constraint $d_< \leq x_{ij}\rho_{ij} + M (1-x_{ij})$ with $M$ being an arbitrarily large constant.
Finally, the objective function shall just simply maximize the minimum distance $d_<$: $\max z = d_<$
Hope this helps,