将世界划分为大约一千个地点

时间:2013-03-30 22:40:23

标签: algorithm geometry geography

背景:我想创建一个气象服务,由于大多数可用的API限制了每日呼叫的数量,我想将行星分成大约一千个区域。

显然,互联网用户的分布不均匀,因此在人口密集的地区采样应该更加精细。

我应该如何实施?

  • 我在哪里可以找到有关地理互联网用户密度的数据?
  • 该算法可能类似于k-means。但是,在具有海洋的球体上实施它可能有点棘手。有什么见解吗?
  • 最后,也许有一种方法可以避免做到这一切?

2 个答案:

答案 0 :(得分:1)

与k-mean非常相似的是centroidal Voronoi diagram(它是k-means的连续版本)。但是,这会产生球体的均匀分布,而不会根据需要考虑用户密度。

所以类似的解决方案是相同的技术,但与a Power Diagram一起使用:Power Diagram是一个Voronoi图,它考虑了密度(通过为每个Voronoi种子分配权重)。这样的图可以使用嵌入3D空间(而不是2D)来计算,该空间由前两个(x,y)坐标加上第三个坐标,这是[任何大的正常数减去给定的权重的平方根]点]。

使用它,您可以获得域会计用户密度的详细信息。

答案 1 :(得分:0)

一般情况下,您并不关心互联网用户密度。您关心使用您服务的用户密度 - 而您并不关心这些用户在哪里,您关心他们所询问的位置。因此,一旦您的网站停留超过一天,您可以使用人们在前一天询问的位置来确定第二天的区域。

树上的动态编程很容易。我要为算法做的是建立一个连续更细分的树的树。更多的单元格意味着更小的错误,因为人们可以获得更接近它们的点的预测,并且您可以计算出错误,或者至少可以计算出更多单元格和更少单元格之间的相对误差。从自下而上开始计算每个子树贡献的最小可能总误差,允许它最多分为1,2,3,... N.方法。您可以通过查看已为每个后代计算的最小可能错误,为节点的每个k = 1..N计算出最佳可能的除法和最小可能误差,并找出如何最好地分享可用的他们之间的分歧。

我会试着通过思考一个不同的想法来避免这样做。根据您对待生活的方式,至少有两个缺点:

1)您似乎没有向聚会添加任何内容。看起来你正在介入实际进行天气预报的组织和他们的客户之间。组织与客户失去直接联系,例如可能失去广告收入。客户得到的天气预报较差。

2)大多数网站都有法律服务条款,客户可以忽略这些条款而不必担心。我的猜测是你会破坏这些服务条款,如果你的服务受到欢迎而被注意到会被强制执行。