1

我在这个主题上搜索了很多,但没有找到答案。

我有自己的统计数据包,我在其中保存用户的 geoip 数据(以及一堆其他数据)。我正在使用 maxmind geoip 库来获取此信息。

因此,在我的后端,我将这些数据可视化为基本上有两列的文本,一列是国家名称,另一列是来自该国的访问次数。

我想用这些数据生成一张地图。类似于世界地图,其中突出显示了我访问过的国家/地区。热图会很好,但不是必需的。

我真的不在乎它是用 php(GD 图像库)还是 jquery 生成的,因为我已经将这两种技术用于统计后端。但我真的很想在没有谷歌分析或他们的图形 API 的情况下做到这一点。

4

2 回答 2

1

我会试着假设。我会尝试这样做的方式......

  1. 获取 FullHD(或高分辨率世界地图)
  2. 我会在 WGS84 标准中保留的坐标(浮点值,否则很容易转换)
  3. 我会尝试将真实坐标接近图像比例,但在此之前......

这项工作的主要部分是数学。我实际上不是数学家,但我知道应该在这里应用它以及为什么。

这里的主要目标是在平面上投影坐标,bec。WGS84使用扁球体作为参考面(带radius = 6378137 m; flattering = 1/298.257223563),因此它不是理想的圆周,应该考虑在内。+ 图像应该以GEO某种方式绑定(您应该知道此图像的角角坐标@least。如果是这样,这是最简单的情况)。

这种情况的计算量不是很大,一切都导致了基本的平面几何。

这是可以帮助您处理地理空间数据的库http://www.gdal.org/

我对您的建议是,如果您对此一无所知,请咨询该领域的一些专家(可能是某些大学/学院中的 SatCom 规范或 MobCom 规范)(或者如果您对and足够熟悉,请尝试谷歌mathGEO)并要求GPS坐标投影的数学模型,flat surface你一定会得到答案。

如果您不需要非常高的准确性,请自己尝试一下,也许您会很幸运。

如果您对数学有足够的了解,您可以在 MatLab(在这种情况下更适用)或 Mathcad 中尝试自己,并尝试自己在栅格上定位几个点。

如果您能在不久的将来找到答案,我会很高兴您将其发布在这里或与我分享您针对特定案例的解决方案。

于 2012-07-26T20:01:03.613 回答
0

我最终需要在这里回答我自己的问题。对于其他偶然发现此问题的人:

我一直在使用带有 topojson 扩展名的 d3js 库。 https://github.com/mbostock/topojson

于 2013-01-15T20:33:37.360 回答