【发布时间】:2013-11-29 10:14:45
【问题描述】:
我将 d3.js 用于非连续制图,其中国家/地区根据某些数据进行缩放。我正在从 GeoJson 文件生成的 svg 中每个国家/地区/路径的质心进行缩放,但这对于被描述为多面体的国家(如美国或加拿大)来说看起来并不好。
我想找到形成多面体的每个多边形的质心,这样我就可以在不平移它们的情况下重新缩放。例如,当使用美国的质心时,阿拉斯加向右移动(在墨卡托投影中),而其余的则向上移动。理想情况下,阿拉斯加将从它自己的质心缩放,所以它会保持在相同的位置。
是否可以遍历多边形特征中的每个多边形并获得其质心?
谢谢!
【问题讨论】:
-
您需要遍历多面体的
.coordinates成员。 -
我没有尝试缩小,但我在这里的状态中心显示了条形:vida.io/documents/s5qo5Gwrct5HNxAD2
-
@PhuocDo 您正在每个州/多边形获得一个质心,而我正在寻找每个州的每个质心。就像获取阿拉斯加每个岛屿的质心一样。
-
@LarsKotthoff 所以有必要手动计算每个质心并存储为每个多边形的属性吗?你会怎么计算呢?谢谢
-
正如我所说,多面体由一个多边形列表组成,您可以通过
.coordinates访问这些多边形。对于其中的每一个,您应该能够以与通常相同的方式计算质心。
标签: javascript svg d3.js geojson