有人听说过世界地图的“一维”投影-即将地球上的所有点映射到一个点
我当时正在考虑做这样的事情-试图让那些在全球范围内“接近”的城市保持在“闭合”状态。
在进行此操作之前,我想知道该领域的最新技术水平吗?
#1 楼
将距离(具有给定距离)的点集合映射到欧几里得空间(例如三空间,平面甚至直线)中且距离失真最小的一般技术称为多维缩放(MDS)。有几种算法。解决方案可在R中免费获得,并且通常随商业统计软件包一起提供。此处使用Stata 11的默认MDS设置映射了美国最大的20个城市。刻度线表示100公里的间隔。
评论
很棒-是的,这正是我打算做的-尽管我希望使用称为“随机邻居嵌入”的MDS算法,但实际上是相同的。不过,我知道您已经这样做了。我认为最主要的是,对我来说,这看起来很合逻辑/很好!我的意思是有趣,这是自己的方式。谢谢!
– utunga
2011年10月11日19:53
多维缩放是2D素材!
– huckfinn
2014年2月3日在22:01
@huckfinn可以在任意多个维度上完成;图2仅是常见的应用。尤其参见Buja等。他们没有对维度k进行限制,并且其第一个示例(图1左)显然在一个维度上起作用。或者只是查看我的一维MDS解决方案!
– hu
2014年2月3日在22:06
是的,的确如此,但是在2D IMO以下是没有意义的,MDS将降级为正常距离测量并重新投影到数字光束。排序变成排序我不知道吗?
– huckfinn
2014年2月3日在22:18
您是否真的声称我在此答案中显示的地图“没有意义”?您将需要进行大量解释,因为任何人都可以清楚地看到(1)它确实传达了有用的地理信息,并且(2)它并没有减少为“正常距离测量”。
– hu
2014年2月3日在22:48
#2 楼
非常感谢@whuber的最初回答。认为我应该上传做相同结果的结果...对于我所使用的MDS特定形式,值得一提的是所谓的t-SNE(又名t分布随机Neihbor嵌入) ')以获取以下图像。
以下是按顺序排列的所有城市的图片-左轴是该城市的实际一维位置,并且这些城市按从上到下的顺序排列底部,从左到右,沿该轴。.color =国家
这是另一张图片,其中我画了城市线,但在世界地图上绘制了它。问题简化为非常接近旅行销售人员的问题-但区别在于它不仅是城市的排序,而且是城市到一维线的映射...
如果有人想要这里使用的完整输出数据或方法,请给我发消息。
----
编辑:
响应@whuber的表扬。.
是的,当你时你是对的强调局部距离(即,直接邻居的局部距离应尽可能接近世界地图上的实际距离),MDS问题简化为旅行商问题。但是,如果您强调在更宽/更适中的范围内优化(或匹配)距离,则会得到不同的结果。例如,当您为“困惑度”使用更高的值时,这就是t-sne算法给出的结果:
评论
感谢分享。这确实更类似于旅行推销员:不是MDS。 MDS解决方案将产生更多的失真,但在世界与地图之间的规则,可预测的关系会更多。因此,您的答复构成了对原始问题的另一种解决方案。
– hu
11年11月23日在19:07
更新了我的答案以提供另一种变化,请对您的观点感兴趣。
– utunga
2011年11月23日在22:30
第二,确实是一个好奇而有趣的解决方案。看来您的“ t-sne”算法试图精确地访问每个点。在2D情况下,这类似于在每个点周围创建高度精确的局部投影,然后允许该投影在各点之间断裂,严重扭曲其距离和方向,同时保持接近完美的局部保真度。我想这可能有一些专门用途,但实际上,通常会允许一点投影误差,因为它允许足够的松弛度,从而大大改善了整体解决方案。
– hu
2011-12-22 18:46
#3 楼
您可以做的是用一维空间填充曲线(例如Peano曲线或希尔伯特曲线)覆盖二维空间。然后,将点映射到曲线上的最近点。展开曲线,您应该在一定程度上获得与该直线上最近的空间中的最近城市的一条直线。这并不完美(我认为不可能有任何东西),但是我已经看到了它用作旅行推销员算法的基础-想法是,如果您沿着路线进行推销员旅行,将是最佳解决方案的良好近似。
评论
确实可以,但是要小心:靠近该直线的城市将靠近空间,但是靠近空间的城市通常不会在该直线上彼此靠近(曲线连续ℝ->ℝ²,请不要有一个连续的逆)。
–leftaround关于
2011-10-11 17:51
这个答案将受益于Peano / Hilbert曲线的图形示例(和/或定义的链接)
–马特·威尔基
2011年10月11日18:52
或者您可以自己去维基百科...全部都在这里,我真的没有在这里重复太多维基百科的意思...
– Spacedman
2011年10月11日19:06
好吧,我想您可以重复一遍!一两个链接和一个图像怎么样?
–blah238
2011年10月12日,0:24
出于说明目的,我们可以查看Randall Munroe的XKCD互联网地图,该地图正是使用了这种技术(尽管相反,即将线映射到平面)
–waldyrious
2013年12月9日18:20
#4 楼
奇怪的问题通常是最有趣的问题!如果您正在寻找在制图中使用尺寸的最新技术,则可以从Bertin的图形符号学开始。根据Bertin的说法,一张纸(或ipad表面)具有3个尺寸:两个平面尺寸,加上值/纹理。图形符号学提供了将信息维度映射到这些表示维度的规则。当两个平面尺寸是空间尺寸时,图形就是地图,第三个尺寸用于表示信息。
如果要制作一维地图,则意味着选择限制不使用纸张尺寸之一来表示您想要的信息(城市之间的距离)。是否真的需要施加这样的约束而不制作法线贴图?
如果确实需要,如其他答案中所述,则无法完成!城市之间的邻近关系无法一维表示。为此,您可以:
使用“以用户为中心的方法”:如果地图受众位于某处或有特定的重点关注的地方,则可以将该地点视为
不仅要根据城市的相对距离,还要根据其他相似性标准(人口,洲,每位居民的汽车数量等)对城市进行排序。 )。然后,一些统计处理(例如主成分分析)可以给出城市可以沿着其进行排序的单一维度线。
评论
到目前为止,这里所有的答案都很有趣,而且很有启发性。在这个第一个项目符号中,选择一个原点,所有其他项目都是“距原点的距离”,这似乎是最实际的。
–马特·威尔基
2011-10-11 18:58
众所周知,投影到二维都“无法完成”!顺便说一句,一维投影有大量的应用程序,例如规划行程的带状图。
– hu
2011年10月11日在20:29
#5 楼
trying to keep cities that are 'close' on the globe 'close' on the line
想象一下三个城市彼此之间的距离相同,例如在等边三角形的顶点处。您如何在线上表示呢?某些信息将会丢失。
要么完全放弃一个维度,例如将所有城市投影在平行或子午线上(后者很有趣,因为我们不习惯比较不同国家之间城市的南北相对位置),或者选择特定的一维度量,例如“距纽约的距离”。
Spacedman提出的Peano曲线非常有趣,可以绘制原始地图,但附近的城市可能会在该曲线上走得很远。
评论
...让您的城市近在咫尺,您的地球更近...
–托马斯
2011年10月11日,12:28
+1好评论。但是,这不是一个“一刀切”的命题:您不必投影到一条线或将其缩小到与基点的距离。非线性解决方案是可用的,就像它们用于(通常的)2D投影一样。目的是最小化投影距离和实际距离之间差异的某种度量。在这方面,Peano曲线将特别差,但是它的变体(在构造的早期阶段可以通过所有期望的点)可以起作用。
– hu
2011年10月11日20:27
#6 楼
我从未使用过它,但我认为GeoHash可能适用于此。Geohash提供了诸如任意精度的属性,并且有可能逐渐从行尾删除字符。代码
以减小其大小(并逐渐失去精度)。
由于精度逐渐降低,附近的地方
通常(但不总是)呈现相似的前缀。相反,
共享前缀越长,两个位置越近。
评论
这些哈希通常通过将球体表面的细分细分编码为单词来起作用,因此固有地是二维的。尚不清楚如何从中提取一维坐标(以任何有意义的方式)。
– hu
2011-10-11 18:55
@whuber因此,如果我有一个城市列表,并通过将纬度/经度传递给geohash.org为它们生成哈希,然后根据哈希对城市进行排序,那么城市的排序就不能代表一维映射(不管它有多精确)?
– Kirk Kuykendall
2011年10月11日19:07
它完全取决于哈希值。仅仅订购不是一维的,而是订购。另外,您需要一个有意义的数字坐标。如果这也来自散列,那么您确实具有一维投影,但它可能具有可怕的属性。预测的全部目的是忽略对于可视化或分析无关紧要的变形,并将其最小化。任何散列在大多数情况下都不可能用作投影。
– hu
2011年10月11日19:18
评论
好主意,但我想说这行是“二维”特征。线是一维的,因为它只需要一个坐标就可以沿其定位任何点。点是0维的,多边形是2维的。
Apple Peel投影:t1.thpservices.com/fotos/thum4/013/881/sfd-362035.jpg,尽管我还没有遇到任何现成的算法... ;-)
@Matt那是一个可爱的人。近似地,此投影将点(lat,lon)=(f,l)映射到(Int((90-f)/ e),l),其中e是果皮中“螺旋”的数量。 (我有点困惑,但这是要点。)问题在于,随着e变大,不连续点变得密集,这意味着它与所需行为恰好相反:几乎所有成对的点地球上相距较近的位置会相互映射。