Problem:
Let $C = \{c_1, c_2, c_3, ..., c_n\}$ be a set of cities. And $G = \{(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)\}$ a set of their respective geographical coordinates.
What I want to do is finding a set $G' = \{a_1, a_2, ..., a_n\}$ (or a function $F$ such that $G' = \{a_i = F(x_i, y_i) | i = 1, 2, ..., n \}$) that (at least loosely) verifies the following property:
For a given city $c_i$: the $k$ nearest neighbors of $c_1$ considering $G$ are the same considering $G'$.
In others words, I want to find 1-dimensional values that reflect 2-dimensional distance.
What I did so far: I used the t-SNE dimensionality reduction tool from the Python library SKLearn. And the result wasn't satisfying. So I thought maybe for small data points (around 50 city) I'd better go for something more straight-forward