function setData(data: any[]) { const sites = {}; data.forEach((bucket: any) => { if (bucket.siteId == null || bucket.longitude == null || bucket.latitude == null) { console.error('facility without siteId', bucket); return } let siteInfo = { 'type': 'Feature', 'geometry': { 'type': 'Point', 'coordinates': [bucket.longitude, bucket.latitude] }, 'properties': { 'facilityName': bucket.originName, 'usState': 'Seattle WA', 'origin_id': bucket.siteId, 'internalCalls': 0, 'maxCallStarts': bucket.maxCallStarts, 'maxCallVolume': bucket.maxCallVolume, 'maxConcurrentCalls': bucket.maxConcurrentCalls, 'maxBandwidth': bucket.maxBandwidth, 'linkedTo': [], 'pieData': { 'internal': { 'val': bucket.internalCount }, 'inbound': { 'val': bucket.incomingCount }, 'outbound': { 'val': bucket.outgoingCount }, } } } bucket.externalLines.forEach(link => { if (link.siteId > 0) { siteInfo.properties.linkedTo.push( { 'targetId': link.siteId, 'inbound': link.incomingCount, 'outbound': link.outgoingCount, 'maxCallStarts': link.maxCallStarts, 'maxCallVolume': link.maxCallVolume, 'maxConcurrentCalls': link.maxConcurrentCalls, 'maxBandwidth': link.maxBandwidth }); } }); sites[bucket.siteId] = siteInfo; }); const geoJson = Object.assign({}, { type: 'FeatureCollection', features: Object.values(sites) }); return geoJson; } export const callTrafficData = [ { "originName" : "Atlanta", "incomingCount" : 3230, "outgoingCount" : 7342, "internalCount" : 7805, "totalOriginatingCalls" : 15147, "latitude" : 33.913578, "longitude" : -84.45832, "siteId" : 719, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-18T00:00:00.000Z" ], "value" : 522 }, "maxCallVolume" : { "keys" : [ "2021-02-19T17:00:00.000Z" ], "value" : 79239 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-18T00:20:00.000Z" ], "value" : 380 }, "maxBandwidth" : { "keys" : [ "2021-02-18T00:20:00.000Z" ], "value" : 24320 }, "externalLines" : [ { "destName" : "Atlanta", "incomingCount" : 7805, "outgoingCount" : 0, "latitude" : 33.913578, "longitude" : -84.45832, "siteId" : 719, "totalCallDuration" : 0, "maxCallStarts" : null, "maxCallVolume" : null, "maxConcurrentCalls" : null, "maxBandwidth" : null }, { "destName" : "IDC", "incomingCount" : 6959, "outgoingCount" : 1130, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-18T00:20:00.000Z" ], "value" : 320 }, "maxCallVolume" : { "keys" : [ "2021-02-17T00:10:00.000Z" ], "value" : 15404 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-18T00:20:00.000Z" ], "value" : 380 }, "maxBandwidth" : { "keys" : [ "2021-02-18T00:20:00.000Z" ], "value" : 24320 } }, { "destName" : "Plano", "incomingCount" : 353, "outgoingCount" : 2099, "latitude" : 33.016487, "longitude" : -96.83385, "siteId" : 718, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T00:30:00.000Z" ], "value" : 29 }, "maxCallVolume" : { "keys" : [ "2021-02-19T00:35:00.000Z" ], "value" : 2190 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T00:30:00.000Z" ], "value" : 29 }, "maxBandwidth" : { "keys" : [ "2021-02-19T00:30:00.000Z" ], "value" : 1856 } }, { "destName" : "HQ2", "incomingCount" : 26, "outgoingCount" : 1, "latitude" : 33.660137, "longitude" : -117.861855, "siteId" : 791, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-16T18:40:00.000Z", "2021-02-16T19:25:00.000Z", "2021-02-16T19:50:00.000Z", "2021-02-16T20:25:00.000Z", "2021-02-16T21:20:00.000Z", "2021-02-16T22:00:00.000Z", "2021-02-17T16:05:00.000Z", "2021-02-17T16:55:00.000Z", "2021-02-17T18:35:00.000Z", "2021-02-17T19:35:00.000Z", "2021-02-17T20:20:00.000Z", "2021-02-17T21:25:00.000Z", "2021-02-17T23:15:00.000Z" ], "value" : 2 }, "maxCallVolume" : { "keys" : [ "2021-02-17T19:35:00.000Z" ], "value" : 594 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-16T18:40:00.000Z", "2021-02-16T18:45:00.000Z", "2021-02-16T19:25:00.000Z", "2021-02-16T19:50:00.000Z", "2021-02-16T20:25:00.000Z", "2021-02-16T21:20:00.000Z", "2021-02-16T21:25:00.000Z", "2021-02-16T22:00:00.000Z", "2021-02-17T16:05:00.000Z", "2021-02-17T16:10:00.000Z", "2021-02-17T16:55:00.000Z", "2021-02-17T18:35:00.000Z", "2021-02-17T19:35:00.000Z", "2021-02-17T19:40:00.000Z", "2021-02-17T20:20:00.000Z", "2021-02-17T21:25:00.000Z", "2021-02-17T21:30:00.000Z", "2021-02-17T23:15:00.000Z" ], "value" : 2 }, "maxBandwidth" : { "keys" : [ "2021-02-16T18:40:00.000Z", "2021-02-16T18:45:00.000Z", "2021-02-16T19:25:00.000Z", "2021-02-16T19:50:00.000Z", "2021-02-16T20:25:00.000Z", "2021-02-16T21:20:00.000Z", "2021-02-16T21:25:00.000Z", "2021-02-16T22:00:00.000Z", "2021-02-17T16:05:00.000Z", "2021-02-17T16:10:00.000Z", "2021-02-17T16:55:00.000Z", "2021-02-17T18:35:00.000Z", "2021-02-17T19:35:00.000Z", "2021-02-17T19:40:00.000Z", "2021-02-17T20:20:00.000Z", "2021-02-17T21:25:00.000Z", "2021-02-17T21:30:00.000Z", "2021-02-17T23:15:00.000Z" ], "value" : 128 } }, { "destName" : "HQ1", "incomingCount" : 4, "outgoingCount" : 0, "latitude" : 33.675114, "longitude" : -117.84332, "siteId" : 717, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-16T16:25:00.000Z", "2021-02-16T21:25:00.000Z" ], "value" : 2 }, "maxCallVolume" : { "keys" : [ "2021-02-16T16:25:00.000Z" ], "value" : 536 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-16T16:25:00.000Z", "2021-02-16T21:25:00.000Z", "2021-02-16T21:30:00.000Z" ], "value" : 2 }, "maxBandwidth" : { "keys" : [ "2021-02-16T16:25:00.000Z", "2021-02-16T21:25:00.000Z", "2021-02-16T21:30:00.000Z" ], "value" : 128 } } ] }, { "originName" : "IDC", "incomingCount" : 17452, "outgoingCount" : 1614, "internalCount" : 5111, "totalOriginatingCalls" : 6725, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T15:00:00.000Z" ], "value" : 115 }, "maxCallVolume" : { "keys" : [ "2021-02-19T16:00:00.000Z" ], "value" : 46363 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T16:20:00.000Z", "2021-02-19T16:25:00.000Z" ], "value" : 28 }, "maxBandwidth" : { "keys" : [ "2021-02-19T16:20:00.000Z", "2021-02-19T16:25:00.000Z" ], "value" : 1792 }, "externalLines" : [ { "destName" : "IDC", "incomingCount" : 5111, "outgoingCount" : 0, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : null, "maxCallVolume" : null, "maxConcurrentCalls" : null, "maxBandwidth" : null }, { "destName" : "Atlanta", "incomingCount" : 1130, "outgoingCount" : 6959, "latitude" : 33.913578, "longitude" : -84.45832, "siteId" : 719, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-18T14:25:00.000Z" ], "value" : 12 }, "maxCallVolume" : { "keys" : [ "2021-02-13T18:10:00.000Z" ], "value" : 4727 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-13T18:10:00.000Z" ], "value" : 20 }, "maxBandwidth" : { "keys" : [ "2021-02-13T18:10:00.000Z" ], "value" : 1280 } }, { "destName" : "Plano", "incomingCount" : 380, "outgoingCount" : 4054, "latitude" : 33.016487, "longitude" : -96.83385, "siteId" : 718, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T19:15:00.000Z" ], "value" : 8 }, "maxCallVolume" : { "keys" : [ "2021-02-19T17:25:00.000Z" ], "value" : 2389 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T17:30:00.000Z" ], "value" : 14 }, "maxBandwidth" : { "keys" : [ "2021-02-19T17:30:00.000Z" ], "value" : 896 } }, { "destName" : "HCCA", "incomingCount" : 75, "outgoingCount" : 6185, "latitude" : 43.64487, "longitude" : -79.38307, "siteId" : 866, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-17T22:40:00.000Z", "2021-02-18T15:05:00.000Z", "2021-02-18T17:35:00.000Z" ], "value" : 4 }, "maxCallVolume" : { "keys" : [ "2021-02-18T15:10:00.000Z" ], "value" : 1304 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-17T22:40:00.000Z", "2021-02-18T15:10:00.000Z", "2021-02-18T15:15:00.000Z" ], "value" : 6 }, "maxBandwidth" : { "keys" : [ "2021-02-17T22:40:00.000Z", "2021-02-18T15:10:00.000Z", "2021-02-18T15:15:00.000Z" ], "value" : 384 } }, { "destName" : "HQ2", "incomingCount" : 29, "outgoingCount" : 250, "latitude" : 33.660137, "longitude" : -117.861855, "siteId" : 791, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T16:35:00.000Z" ], "value" : 3 }, "maxCallVolume" : { "keys" : [ "2021-02-18T17:50:00.000Z" ], "value" : 550 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T16:35:00.000Z", "2021-02-19T18:00:00.000Z" ], "value" : 3 }, "maxBandwidth" : { "keys" : [ "2021-02-19T16:35:00.000Z", "2021-02-19T18:00:00.000Z" ], "value" : 192 } } ] }, { "originName" : "Plano", "incomingCount" : 733, "outgoingCount" : 6153, "internalCount" : 558, "totalOriginatingCalls" : 6711, "latitude" : 33.016487, "longitude" : -96.83385, "siteId" : 718, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-18T00:00:00.000Z" ], "value" : 374 }, "maxCallVolume" : { "keys" : [ "2021-02-19T17:00:00.000Z" ], "value" : 170444 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 222 }, "maxBandwidth" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 14208 }, "externalLines" : [ { "destName" : "IDC", "incomingCount" : 4054, "outgoingCount" : 380, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 168 }, "maxCallVolume" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 17474 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 214 }, "maxBandwidth" : { "keys" : [ "2021-02-18T00:25:00.000Z" ], "value" : 13696 } }, { "destName" : "Atlanta", "incomingCount" : 2099, "outgoingCount" : 353, "latitude" : 33.913578, "longitude" : -84.45832, "siteId" : 719, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T02:40:00.000Z" ], "value" : 48 }, "maxCallVolume" : { "keys" : [ "2021-02-13T17:50:00.000Z" ], "value" : 9070 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T02:40:00.000Z" ], "value" : 48 }, "maxBandwidth" : { "keys" : [ "2021-02-19T02:40:00.000Z" ], "value" : 3072 } }, { "destName" : "Plano", "incomingCount" : 558, "outgoingCount" : 0, "latitude" : 33.016487, "longitude" : -96.83385, "siteId" : 718, "totalCallDuration" : 0, "maxCallStarts" : null, "maxCallVolume" : null, "maxConcurrentCalls" : null, "maxBandwidth" : null } ] }, { "originName" : "HCCA", "incomingCount" : 75, "outgoingCount" : 6185, "internalCount" : 56, "totalOriginatingCalls" : 6241, "latitude" : 43.64487, "longitude" : -79.38307, "siteId" : 866, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-16T20:00:00.000Z" ], "value" : 282 }, "maxCallVolume" : { "keys" : [ "2021-02-18T17:00:00.000Z" ], "value" : 66439 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-16T04:10:00.000Z" ], "value" : 47 }, "maxBandwidth" : { "keys" : [ "2021-02-16T04:10:00.000Z" ], "value" : 3008 }, "externalLines" : [ { "destName" : "IDC", "incomingCount" : 6185, "outgoingCount" : 75, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-16T04:10:00.000Z" ], "value" : 47 }, "maxCallVolume" : { "keys" : [ "2021-02-18T14:40:00.000Z" ], "value" : 7610 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-16T04:10:00.000Z" ], "value" : 47 }, "maxBandwidth" : { "keys" : [ "2021-02-16T04:10:00.000Z" ], "value" : 3008 } }, { "destName" : "HCCA", "incomingCount" : 56, "outgoingCount" : 0, "latitude" : 43.64487, "longitude" : -79.38307, "siteId" : 866, "totalCallDuration" : 0, "maxCallStarts" : null, "maxCallVolume" : null, "maxConcurrentCalls" : null, "maxBandwidth" : null } ] }, { "originName" : "HQ2", "incomingCount" : 55, "outgoingCount" : 251, "internalCount" : 49, "totalOriginatingCalls" : 300, "latitude" : 33.660137, "longitude" : -117.861855, "siteId" : 791, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-16T21:00:00.000Z", "2021-02-17T21:00:00.000Z" ], "value" : 20 }, "maxCallVolume" : { "keys" : [ "2021-02-15T19:00:00.000Z" ], "value" : 10129 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-17T15:55:00.000Z" ], "value" : 8 }, "maxBandwidth" : { "keys" : [ "2021-02-17T15:55:00.000Z" ], "value" : 512 }, "externalLines" : [ { "destName" : "IDC", "incomingCount" : 250, "outgoingCount" : 29, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-17T15:55:00.000Z" ], "value" : 8 }, "maxCallVolume" : { "keys" : [ "2021-02-18T16:30:00.000Z" ], "value" : 1200 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-17T15:55:00.000Z" ], "value" : 8 }, "maxBandwidth" : { "keys" : [ "2021-02-17T15:55:00.000Z" ], "value" : 512 } }, { "destName" : "HQ2", "incomingCount" : 49, "outgoingCount" : 0, "latitude" : 33.660137, "longitude" : -117.861855, "siteId" : 791, "totalCallDuration" : 0, "maxCallStarts" : null, "maxCallVolume" : null, "maxConcurrentCalls" : null, "maxBandwidth" : null }, { "destName" : "Atlanta", "incomingCount" : 1, "outgoingCount" : 26, "latitude" : 33.913578, "longitude" : -84.45832, "siteId" : 719, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-19T18:40:00.000Z" ], "value" : 1 }, "maxCallVolume" : { "keys" : [ "2021-02-19T18:40:00.000Z" ], "value" : 23 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-19T18:40:00.000Z" ], "value" : 1 }, "maxBandwidth" : { "keys" : [ "2021-02-19T18:40:00.000Z" ], "value" : 64 } } ] }, { "originName" : "HQ1", "incomingCount" : 4, "outgoingCount" : 4, "internalCount" : 0, "totalOriginatingCalls" : 4, "latitude" : 33.675114, "longitude" : -117.84332, "siteId" : 717, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-15T21:00:00.000Z" ], "value" : 2 }, "maxCallVolume" : { "keys" : [ "2021-02-15T21:00:00.000Z" ], "value" : 132 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 2 }, "maxBandwidth" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 128 }, "externalLines" : [ { "destName" : "IDC", "incomingCount" : 4, "outgoingCount" : 0, "latitude" : 33.71544, "longitude" : -117.79446, "siteId" : 792, "totalCallDuration" : 0, "maxCallStarts" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 2 }, "maxCallVolume" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 132 }, "maxConcurrentCalls" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 2 }, "maxBandwidth" : { "keys" : [ "2021-02-15T21:25:00.000Z" ], "value" : 128 } } ] } ] export const geoJsonData = setData(callTrafficData);