Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| vendors:cisco:uc:webconnect:js [2024/11/18 09:41] – [Format what we want the above to be in] gerardorourke | vendors:cisco:uc:webconnect:js [2025/08/23 11:29] (current) – [Positions] gerardorourke | ||
|---|---|---|---|
| Line 82: | Line 82: | ||
| 2; | 2; | ||
| } | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Positions ===== | ||
| + | |||
| + | JDS -> Data Parse | ||
| + | <code JavaScript> | ||
| + | //var jsonString = ' | ||
| + | |||
| + | var jsonString = jdsResponseBody; | ||
| + | var inputJson = JSON.parse(jsonString); | ||
| + | |||
| + | var outputJson = []; | ||
| + | for (var i = 0; i < inputJson.data.length; | ||
| + | outputJson.push(inputJson.data[i].data); | ||
| + | } | ||
| + | var jsonJdsDataObjectsString = JSON.stringify(outputJson); | ||
| + | 1; | ||
| + | </ | ||
| + | |||
| + | === min distance === | ||
| + | <code JavaScript> | ||
| + | //var jsonString =' | ||
| + | var jsonString = jsonJdsDataObjectsString; | ||
| + | |||
| + | //var lat_ref = 53.2700681; | ||
| + | //var lon_ref = -6.1172521; | ||
| + | //var min_dist = 200; | ||
| + | |||
| + | var lat_ref = locationLatitude; | ||
| + | var lon_ref = locationLongitude; | ||
| + | var min_dist = min_dist; | ||
| + | |||
| + | var inputJson = JSON.parse(jsonString); | ||
| + | var distMeter = Math.sqrt(Math.pow(lat_ref, | ||
| + | function computeDistance(lat, | ||
| + | var latDiffMeter = 111320 * (lat - lat_ref); | ||
| + | var lonDiffMeter = 67700 * (lon - lon_ref); | ||
| + | var distMeter = Math.sqrt(Math.pow(latDiffMeter, | ||
| + | //return {latDiffMeter, | ||
| + | return { | ||
| + | latDiffMeter: | ||
| + | }; | ||
| + | } | ||
| + | |||
| + | // Process each entry | ||
| + | var output = []; | ||
| + | for (var i = 0; i < inputJson.length; | ||
| + | var entry = inputJson[i]; | ||
| + | var latitude = entry.position.latitude; | ||
| + | var longitude = entry.position.longitude; | ||
| + | var dist = computeDistance(latitude, | ||
| + | |||
| + | if (dist.distMeter <= min_dist) { | ||
| + | output.push({ | ||
| + | eircode: entry.eircode, | ||
| + | item: entry.item, | ||
| + | latitude: latitude, | ||
| + | longitude: longitude, | ||
| + | // | ||
| + | // | ||
| + | DistMeter: dist.distMeter | ||
| + | }); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | jsonMinDistanceString = JSON.stringify(output); | ||
| + | |||
| + | if (output === []) { | ||
| + | 1; | ||
| + | } else { | ||
| + | 2; | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <code JavaScript> | ||
| + | //var jsonString = ' | ||
| + | var jsonString = jsonMinDistanceString; | ||
| + | var inputJson = JSON.parse(jsonString); | ||
| + | |||
| + | // Count occurrences | ||
| + | var counts = {}; | ||
| + | for (var i = 0; i < inputJson.length; | ||
| + | var itemName = inputJson[i].item; | ||
| + | // Normalize first letter uppercase, rest lowercase (like " | ||
| + | var formattedName = itemName.charAt(0).toUpperCase() + itemName.slice(1).toLowerCase(); | ||
| + | |||
| + | if (counts[formattedName]) { | ||
| + | counts[formattedName]++; | ||
| + | } else { | ||
| + | counts[formattedName] = 1; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Convert counts object into array of {Item, Count} | ||
| + | var output = []; | ||
| + | for (var key in counts) { | ||
| + | if (counts.hasOwnProperty(key)) { | ||
| + | output.push({ | ||
| + | Item: key, | ||
| + | Count: counts[key] | ||
| + | }); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | jsonDuplicateString = JSON.stringify(output); | ||
| + | 1; | ||
| + | </ | ||
| + | |||
| + | <code JavaScript> | ||
| + | //var jsonString = = ' | ||
| + | var jsonString = jsonDuplicateString; | ||
| + | var inputJson = JSON.parse(jsonString); | ||
| + | |||
| + | duplicateListString = ""; | ||
| + | |||
| + | for (var i = 0; i < inputJson.length; | ||
| + | var item = inputJson[i]; | ||
| + | duplicateListString += " | ||
| + | } | ||
| + | |||
| + | 1; | ||
| </ | </ | ||