Luk*_*ncl 5 maps d3.js topojson
我已经使用D3制作了一张110m世界地图和墨卡托投影的地图。我将地图旋转了-10度,以使其按我的意愿对齐,然后设置笔触和填充。完成此操作后,我注意到穿过楚科奇半岛(通常在阿拉斯加的左侧发现)的一条线。

查看GitHub上的渲染以及使用此投影制作的另一张地图,似乎此行实际上在数据中。

有什么方法可以摆脱它(编辑TopoJSON,重新生成形状或其他方法)吗?
现在,您需要手工修复数据,例如,直接编辑TopoJSON,或将Shapefile转换为GeoJSON,然后进行类似的编辑,或使用Shapefile编辑器。
将来,topojson命令行工具应该能够通过将跨子午线(经度为±180°)的多边形缝合在一起,从而消除当前在可用几何图形中经常出现的子午线切割,从而为您解决此问题。
topojson删除antimeridian切口已经是这种情况。但是,目前它只能在一个环内去除an子切口,并且在此,俄罗斯多边形已被分割成两个(或更多个)环,穿过了an子。topojson还不够聪明,无法将在子午线切割的多个环缝回一个环。(但是,您可能可以使用topojson.mesh来执行此操作。)
至于为什么首先要显示an线切割的原因:许多地理工具并不完全支持球形坐标,因此通常会找到沿an线切割多边形的数据,以防止在投影时出现视觉伪像。(您可以在我的For example演讲中了解有关反子午线切面的信息。)D3并topojson使用真实的球面坐标,在点之间进行大弧插值,以便您可以表示围绕极点的多边形或不切分而越过反子午线的多边形。但是,由于大多数现有数据是在反时线进行预切割的,因此topojson必须删除这些切割以恢复真实的球形几何形状。
| 归档时间: |
|
| 查看次数: |
962 次 |
| 最近记录: |