title: Clustering 500,000 geospatial points in python
body: <p>I'm currently faced with the problem of finding a way to cluster around 500,000 latitude/longitude pairs in python. So far I've tried computing a distance matrix with numpy (to pass into the scikit-learn DBSCAN) but with such a large input it quickly spits out a Memory Error.</p>
  
  <p>The points are stored in tuples containing the latitude, longitude, and the data value at that point. </p>
  
  <p>In short, what is the most efficient way to spatially cluster a large number of latitude/longitude pairs in python? For this application, I'm willing to sacrifice some accuracy in the name of speed.</p>
  
  <p>Edit:
  The number of clusters for the algorithm to find is unknown ahead of time.</p>