He buscado por todas partes y no he encontrado una respuesta a este problema usando Turfjs y Typescript. Soy un principiante, así que perdónenme si la respuesta es obvia. Estoy tratando de usar turf.intersect para ayudarme a volver a dibujar un polígono para que ya no haya una superposición. Probablemente tenga varios errores aquí, pero el mensaje de error que recibo está en la intersecciónArray[i], diciendo:
Argumento de tipo 'Posición[] | Position[][]' no se puede asignar a un parámetro de tipo 'Position[]'. El tipo 'Posición[][]' no se puede asignar al tipo 'Posición[]'. El tipo 'Posición[]' no se puede asignar al tipo 'Posición'. El tipo 'Posición' no se puede asignar al tipo 'número'.ts(2345)
¿Alguien puede señalarme en la dirección correcta? Parece que turf.intersect crea un polígono O un multipolígono, pero no sé cómo trabajar con la intersección después de definirla.
function adjustedBoundaries(newAreaBoundaries:turf.Polygon, oldAreaBoundaries:turf.Polygon){ const intersection = turf.intersect(newAreaBoundaries, oldAreaBoundaries); const intersectionArray = intersection?.geometry.coordinates; if(intersectionArray){ let oldAreaSpliceIndex = 0; for(let i = 0; i < intersectionArray.length; i++){ if(oldAreaBoundaries.coordinates.includes(intersectionArray[i])){ intersectionArray.splice(i,1); oldAreaSpliceIndex = oldAreaBoundaries.coordinates.indexOf(intersectionArray[i]); oldAreaBoundaries.coordinates.splice(oldAreaSpliceIndex,1); }} for(let i = 0; i < intersectionArray.length; i++){ oldAreaBoundaries.coordinates.splice(oldAreaSpliceIndex,0,intersectionArray[i]) } return oldAreaBoundaries; }}