Does anyone know of an algorithm that can perform the following tasks:
Unsupervised clustering without specifying the number of clusters apriori. For example if all the buildings in wide geographical are plotted as as points on a 2d plane such an algorithm should be able to identify the number of settlements such as cities, towns and villages, regardless of the size of the settlements.
Thinning the cluster of points to a representative points. In the wide geographical area example this thinning operation would select a number of "representative" dwellings (of minimum size 1, for the smallest settlements) for each settlement.