I have a database that has information such as Latitude, longitude, plus other information such as sightseeing locations, restaurants and shopping centers, if it's rural or suburb,... It also has grids and centroids for each grid on the map. I need to cluster the area based on similarities, so when someone is driving, they can visit the locations. I have also added information such as zip code and name of the city and county. What clustering algorithm or models is suggested, so that apart from similarities, it can keep closeness of grids into consideration? Thanks in advance
It seems to me there won't be 1 exact best fit algorithm for your case, at least how you framed your question currently. You could load your data into a software kit specifically meant for analysing graph data like Neo4j or Gephi keeping the lat., lon., grid and centroid info and then evaluate how the data clusters when applying different clustering / layouting algorithms (e.g. Force Atlas 2) for each of your different criterias individually to get a better feel for the goal you have and how your features each contribute to that goal.
A good starting point for clustering is generally to try k-Means as a first approach.
If you really need to apply a multi-criteria clustering algorithm, this paper could serve as a good read.