【问题标题】:turfjs unexpected shapes with polygon difference()turfjs 具有多边形差异的意外形状()
【发布时间】:2020-01-13 11:02:54
【问题描述】:

在我的多边形地图实现difference() 之后,我发现,当我放大地图时,一些不应该出现的意外形状出现或消失。有MultyPolygonPolygon 类型的多边形,我比较它们,甚至检查多边形坐标的长度,但这并没有帮助。

let previousFeature = {}
let x    
for(x = 0;x < second_features.length; x++){
 if (x === 0) {
  previousFeature = second_features[x]
 } else {
 if (previousFeature.geometry.coordinates.length === 
  second_features[x].geometry.coordinates.length)
 {
  second_features[x - 1] = difference(previousFeature.geometry, second_features[x].geometry)
 }
  second_features[x - 1].properties.time_distance = previousFeature.properties.time_distance
  second_features[x - 1].properties.gid = previousFeature.properties.gid
  previousFeature = second_features[x]
}

在放大和缩小时出现了穿过多边形的意外形状。

【问题讨论】:

  • 您有更多关于此的示例/代码吗?这15行代码很难找到错误
  • 请详细说明出乎意料的是什么,以及您真正想要达到的目标(如预期的结果)。另外-您使用的是什么确切的库?一个链接会很有帮助...
  • 另一个后续:基本上图块是放大或缩小时的变化。
  • 嘿,也许你会添加结果geoJson?

标签: javascript reactjs maps polygon turfjs


【解决方案1】:

我确实找到了geographic location on OSM,但我没能猜出你在这张地图上叠加了哪种白线和蓝色多边形。如果您谈论“意外形状”,我​​想您指的是穿过白线的深蓝色三角形?

一些(一般)猜测为什么多边形看起来可能与预期不同:

  1. 您是否正在观察渲染过程的伪影?一些渲染程序会自动通过删除x-th 支持点来简化多边形,x 越大,缩放系数越高:换句话说:对于最大缩放,没有删除任何点,当你缩小一点时,更多并且多边形的更多点被删除。可能的情况是您只能在最大缩放级别看到多边形的真实形状。

  2. 也许您没有关闭多边形?这也可能导致在渲染某些库时出现奇怪的效果。

进一步阅读

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 2019-06-19
    • 2017-04-21
    • 2018-05-14
    • 2011-05-18
    • 1970-01-01
    相关资源
    最近更新 更多