Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 热图的地理数据聚类_Algorithm_Google Maps_Geocoding_Cluster Analysis_Heatmap - Fatal编程技术网

Algorithm 热图的地理数据聚类

Algorithm 热图的地理数据聚类,algorithm,google-maps,geocoding,cluster-analysis,heatmap,Algorithm,Google Maps,Geocoding,Cluster Analysis,Heatmap,我有一个推特列表,上面有他们的地理位置。 它们将被显示在谷歌地图上透明的热图图像中。 诀窍是找到相邻的位置组并显示 根据簇大小,将其作为具有特定热量/颜色的单个热图圆圈/图形 是否有一些库可以将地图中的位置分组为簇? 或者我最好决定我的聚类参数并构建一个自定义算法?是一种经常用于此类问题的技术 其基本思想是: 给定一组初始k意味着m1,…,mk 算法通过两个步骤交替进行: 分配步骤:将每个观测值分配给具有最接近平均值的聚类 更新步骤:计算新的平均值作为群集中观测值的质心 是php的一些示例代码。

我有一个推特列表,上面有他们的地理位置。 它们将被显示在谷歌地图上透明的热图图像中。 诀窍是找到相邻的位置组并显示 根据簇大小,将其作为具有特定热量/颜色的单个热图圆圈/图形

是否有一些库可以将地图中的位置分组为簇? 或者我最好决定我的聚类参数并构建一个自定义算法?

是一种经常用于此类问题的技术

其基本思想是:

给定一组初始k意味着m1,…,mk 算法通过两个步骤交替进行:

  • 分配步骤:将每个观测值分配给具有最接近平均值的聚类

  • 更新步骤:计算新的平均值作为群集中观测值的质心

  • 是php的一些示例代码。

    是一个用于渲染热图的HTML5库,并在Google Maps API上提供了一个示例。它非常健壮,但只适用于支持画布的浏览器:

    Firefox 3.6+、Chrome目前支持heatmap.js库 10、Safari 5、Opera 11和IE 9+


    您可以在phpclasses.org上尝试我的php类hilbert曲线。这是一条怪兽曲线,将2d复杂度降低为1d复杂度。我用一个四键来定位一个坐标,它有21个像谷歌地图一样的缩放级别

    我不知道是否有“可以将地图中的位置分组为集群的库”,也许是,也许不是。无论如何,我不建议您构建定制的集群算法,因为已经有很多库为此实现了

    @recursive向您发送了一个链接,其中包含用于k-means(一种聚类算法)的php代码。还有一个包含其他技术的巨大Java库(),包括k-means、层次聚类、k-means++(选择质心)等

    最后,我想告诉您,聚类是一种无监督的算法,这意味着它将有效地为您提供一组包含数据的聚类,但乍一看您不知道该算法如何对数据进行聚类。我的意思是,它可以根据您想要的位置进行聚类,但也可以根据您不需要的另一个特性进行聚类,所以这一切都是关于如何使用算法的参数和调整您的解决方案


    我对这个问题的最终解决方案很感兴趣:)也许你可以在结束这个项目时在评论中分享它

    这不是真正的集群问题。头部贴图不能通过创建簇来工作。相反,它们将数据与高斯核进行卷积。如果您不熟悉图像处理,可以将其视为使用法线或高斯“戳记”并在每个点上戳记。由于邮票的重叠部分将叠加在一起,因此高密度区域的值将更高。

    热图的一个简单替代方法是将lat/long四舍五入到一些小数,然后按此分组

    请参阅关于lat/long十进制精度

    • 1-11公里
    • 2位小数-1.1公里
    • 3位小数-110m
    等等


    对于具有大量数据的低缩放级别热图,四舍五入到1或2位小数并按此对结果进行分组就可以了。

    您能接受答案吗?这里有一些人能理解你的要求。