1
我有一组400k个地理点(经纬度),我试图对它进行聚类并将其绘制在地图上。目前我正在使用Folium包的MarkerCluster来可视化点的聚类。但是这似乎很慢,代码无限期地运行。在Python中对地理点进行聚类
想知道是否有任何其他Python包可以有效地用于此目的?
当前代码:
import folium
from folium import plugins
from IPython.display import Image, clear_output, display, HTML
data = df[['StartLat','StartLong']].as_matrix()
avgLat = df['StartLat'].mean()
avgLong = df['StartLong'].mean()
mapa = folium.Map([avgLat, avgLong], zoom_start=6)
marker_cluster = folium.MarkerCluster().add_to(mapa)
latArr = np.array(df.StartLat)
lonArr = np.array(df.StartLong)
for i in range(len(latArr)):
folium.Marker([latArr[i], lonArr[i]], icon = folium.Icon(color='green',icon='ok-sign')).add_to(marker_cluster)
mapa.save('Clustering.html')
空间自相关是一回事。你需要测量(比如温度);然后这些测量值往往与附近的位置相关。如果你有一个常规的测量网格,这尤其适用......但是如果他只有坐标,那么诸如OPTICS或DBSCAN等集群就可以正常工作。点密度的概念确实适用。 –
是的。只有当这些点代表地面上的某些值/测量值时,才应该使用空间聚类技术。否则,如果只有代表位置的纬度/长度值,正常的聚类技术可以正常工作。 – DotPi