1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
| const testArr = [ [45757.22541737171, 226532.12132301644, 52.45700027465815], [45757.22541737171, 226532.12132301644, 162.45700027465816], [45757.22541737171, 226532.12132301644, 72.45700027465816], [45757.22541737171, 226532.12132301644, 82.45700027465816], [45757.22541737171, 226532.12132301644, 92.45700027465816], [45757.22541737171, 226532.12132301644, 102.45700027465816], [45757.22541737171, 226532.12132301644, 112.45700027465816], [45757.22541737171, 226532.12132301644, 122.45700027465816], [45757.22541737171, 226532.12132301644, 132.45700027465816], [45757.22541737171, 226532.12132301644, 142.45700027465816], [45756.43914293511, 226562.64343069226, 52.457000274658206], [45756.43914293511, 226562.64343069226, 62.457000274658206], [45756.43914293511, 226562.64343069226, 72.45700027465821], [45756.43914293511, 226562.64343069226, 82.45700027465821], [45756.43914293511, 226562.64343069226, 92.45700027465821], [45756.43914293511, 226562.64343069226, 102.45700027465821], [45756.43914293511, 226562.64343069226, 112.45700027465821], [45791.873784629126, 226560.04881890872, 52.457000274658206], [45791.873784629126, 226560.04881890872, 172.4570002746582], [45791.873784629126, 226560.04881890872, 162.4570002746582], [45791.873784629126, 226560.04881890872, 142.4570002746582], [45791.873784629126, 226560.04881890872, 92.45700027465821], [45791.873784629126, 226560.04881890872, 102.45700027465821], [45791.873784629126, 226560.04881890872, 112.45700027465821], [45791.873784629126, 226560.04881890872, 122.45700027465821], [45791.873784629126, 226560.04881890872, 132.4570002746582], [45796.25954354428, 226532.31399971253, 52.45700027465815], [45796.25954354428, 226532.31399971253, 182.45700027465816], [45796.25954354428, 226532.31399971253, 162.45700027465816], [45796.25954354428, 226532.31399971253, 82.45700027465816], [45796.25954354428, 226532.31399971253, 92.45700027465816], [45796.25954354428, 226532.31399971253, 102.45700027465816], [45796.25954354428, 226532.31399971253, 112.45700027465816], [45796.25954354428, 226532.31399971253, 122.45700027465816], [45796.25954354428, 226532.31399971253, 132.45700027465816], [45796.25954354428, 226532.31399971253, 142.45700027465816], [45796.25954354428, 226532.31399971253, 152.45700027465816], [45796.25954354428, 226532.31399971253, 162.45700027465816], [45796.25954354428, 226532.31399971253, 182.45700027465816], [45796.25954354428, 226532.31399971253, 182.45700027465816], [45791.873784629126, 226560.04881890872, 142.4570002746582], [45791.873784629126, 226560.04881890872, 152.4570002746582], [45791.873784629126, 226560.04881890872, 162.4570002746582], [45791.873784629126, 226560.04881890872, 172.4570002746582], [45757.22541737171, 226532.12132301644, 162.45700027465816], [45757.22541737171, 226532.12132301644, 162.45700027465816] ];
function getZcoordMax (sourceArr) { const res = sourceArr.reduce((acc, curr) => { let key = curr.slice(0, 2).join(','), arr, z = curr[2]; acc[key] = acc[key] || {}; acc[key].max = acc[key].max || [0, 0, 0]; arr = acc[key].arr; if (arr) { arr.push(z); if (acc[key].max[2] <= z) acc[key].max = curr; } else { acc[key].arr = [z]; } return acc }, {}); return Object.keys(res).map(x => res[x].max); }
|