从 d3.js 中的 GeoJson 多多边形获取每个多边形的质心
Getting the centroid of each polygon from a GeoJson multipolygon in d3.js
我正在使用d3.js用于非连续制图,其中国家根据某些数据进行缩放。我正在从 GeoJson 文件生成的 svg 中每个国家/路径的质心进行缩放,但对于被描述为多多边形的国家/地区(如美国或加拿大)来说,这看起来并不好。
我想找到形成多多边形的每个多边形的质心,这样我就可以在不平移它们的情况下重新缩放。例如,当使用美国的质心时,阿拉斯加向右移动(在墨卡托投影中),而其余部分向上移动。理想情况下,阿拉斯加将从自己的质心缩放,因此它将保持在同一位置。
是否可以遍历多面要素中的每个面并获取其质心?
谢谢!
最后,
我决定通过迭代几何坐标来分割多边形中的多多边形,如@LarsKotthoff所述。使用这些面,我创建了一个新的要素数组,其中没有多面类型。路径从此数组添加到 svg,导致多个多边形具有相同的 id 和名称,即具有相同国家/地区缩写的加拿大的多个多边形。
因此,你可以继续使用 d3 的 path.centroid() 来获取每个多边形的质心。
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何获取谷歌地图多边形的当前fillColor
- 如何在OpenLayers中获取动态绘制的多边形的坐标
- 从地图框 API 获取地理 JSON 数据以确定多边形中的点
- 如何在googlemapapiv3中获取新编辑的多边形坐标
- 获取地图图块 在多边形的底部
- 从 d3.js 中的 GeoJson 多多边形获取每个多边形的质心
- 获取基于必应地图 Javascript 中所有多边形的最佳地图视图
- 如何在mongodb的边界框中获取任何项目(点,线字符串,多边形)
- 如何在多边形上放置标记时获取多边形属性
- 编辑多边形后如何获取多边形的新坐标
- 如何使用 OpenLayer MAP v2 从所选多边形获取所有标记的列表
- 获取可编辑多边形点的单击事件(Google Maps API v3)
- BingMap在视图中获取多边形
- 谷歌地图v3-Can't获取要在地图上显示的多边形和/或矩形
- 如何在HTML中获取元素的形状/多边形/边界路径/框架
- 获取多边形中每个点的时间和长度- Google Maps API v3
- 获取多边形的所有点的数组-谷歌地图绘图工具API-3
- Arcgis javascript api-获取多边形几何