1. 聚类的方法很多,kmeans (或kmeans++)什么的,如果你只是单纯用坐标来聚类的话,实现很简单,有现成库可以直接用。(但是经纬度的话 可能要特殊处理下)
2. 取决于这个量到底有多大。假设有N个点,如果点对的量接近N*N,那么没有办法,你只能用邻接矩阵,不过你可以用一个bit来表示每个点,这样就只需要N*N/8个字节。如果量比较少的话,可以用邻接表来实现(查询速度快)。另外,如果这些关系只跟距离有关的话,Quadtree这个数据结构就可以实现,你只要按照这个数据结构组织存储点就行了(其实直接用MongoDB的Geospatial Index就行)。