Search
- Did you mean
- have open
Search results
-
CSBL- widgetTimeTrend (IN/OUT)
widgets in which a zoom event has been defined in the ckeditor code. function execute(){ let dt1 = new ...
giovanni.manzo - 2 Jul 2024 - 12:03
-
Data Analytic: Traffic Flow Reconstruction
segments is computed in 1 minute. The solution has been demonstrated to overcome in precision the ...
roottooladmin1 - 20 Mar 2025 - 23:49
-
SOLUTION: SUMI Manager
Strategy. According to the final version of the SUMI Harmonization Guideline [5], 18 indicators have been ...
roottooladmin1 - 16 Oct 2025 - 19:10
-
as Operator
their hosting on third party web pages. communicate the city status and information to operators and ...
drupaladmin - 28 Nov 2018 - 07:34
-
TC1.5- Dashboards showing a range of different High Level Types
using dashboards hosted on third party web pages. Use connection in HTTPS/HTTP for using Dashboards ...
drupaladmin - 9 Mar 2019 - 17:34
-
DORAM: actual scenario
(), which opens settings page to set different parameters, including the radius for a search around ...
roottooladmin1 - 12 Feb 2021 - 22:06
-
Environmental Data Definitions, and Predictive Models
results in the most critical parts and conditions. The GRAL model has been validated by several research ...
roottooladmin1 - 6 May 2020 - 18:21
-
HOW TO: manage event and list of devices in tables on Snap4City Dashboards
downloaded here [ADD LINK] Once the flow has been created and deployed in the chosen dashboard, following ...
drupaladmin - 30 Jul 2022 - 19:17
-
How To Dev- Snap4City Architecture
as local devices, local database, local dashboard, local html pages, etc. API can be those mentioned ... please see the installation page: https://www.snap4city.org/738. In the context of big data ...
giovanni.manzo - 4 Sep 2024 - 12:17
-
CSBL- Advanced examples, usage of Smart City APIs
a sensor has been turned off it will still remain displayed in the legend of the widget where the shutdown ... that there has been created a specific colormap (through the ColorMap manager in the resource ... these placeholders have been used: <BASE_SERVICEURI_URL>: it is the base URL in the service URI representing the building virtual device (e.g.: http://www.disit.org/km4city/resource/iot/orionUNIFI/DISIT/); <POPUP_COLOR1>, <POPUP_COLOR2>: colors (in hex or rgb code) for the informative popup on shape click (if enabled); <TARGET_WIDGET_MAP>: id of the target widget map which show the building shapes; <TARGET_WIDGET_SINGLE_CONTENT>,<TARGET_WIDGET_TIME_TREND>: id of the target single content and time-trend widgets (if present) to show realtime results for the selected metric from the informative popup; <SELECTED_METRICS_ARRAY_TO_FILTER>: array of strings representing the name of the desired metrics of the virtual devices to be shown in the informative popup (if enabled); <DEVICE_MODEL_NAME>: name of the IoT model used to generate the building devices; <DEVICE_SUBNATURE>: subnature of the building devices, according to the snap4city dictionary; <MAP_BOUNDS_SW_LAT>: Latitude of South-West corner of desired map Bounding Box; <MAP_BOUNDS_SW_LNG>: Longitude of South-West corner of desired map Bounding Box; <MAP_BOUNDS_NE_LAT>: Latitude of North-East corner of desired map Bounding Box; <MAP_BOUNDS_NE_LNG>: Longitude of North-East corner of desired map Bounding Box <!DOCTYPE html> <html lang="en"> <head><script src=" https://www.snap4city.org/dashboardSmartCity/js/jquery-1.10.1.min.js "></script></head> <body><div class="form-container" style="display: flex; flex-direction: column; align-items: flex-start; font-family:arial; font-size: 16px;"> <div id="midDiv"><label for="modelInstance">All / Single Device:</label> <select id="modelInstance"> <option value="model">All</option> <option value="singleDevice">Single Device</option> </select> <div id="deviceIdDiv" style="display: none;"><br><!-- Insert deviceName for all deevices--> <label for="deviceId">Device ID:</label> <select id="deviceId"> <option value="building2_27B">27B</option> <option value="building2_58A">58A</option> <option value="building2_100">100</option> <option value="building2_101">101</option> <option value="building2_102">102</option> </select> </div> </div><br><label id="variable" for="metric">Variable:</label><select name="metric" id="metric"><!-- Insert device metrics--> <option value="capacity">capacity</option> <option value="allocation">allocation</option> <option value="occupancy" selected="selected">occupancy</option> </select> <label>Popup on Shape Click</label><input type="checkbox" id="popupCheckbox" checked><!—Check in order to display informative popups on marker click--> <button type="button" id="addToMap" style="cursor:pointer;background-color: lightblue;border-radius: 6px;">Add To Map</button> </div> <script> $(document).ready(function () { $("#modelInstance").change(function(){ handleModelInstanceChange(); }); $("#popupCheckbox").change(function(){ handlePopupCheckboxChange(); }); $("#addToMap").on("click", function() { handleAddBimShape(); }); function handleModelInstanceChange() { var modelInstanceSelect = document.getElementById("modelInstance"); var deviceIdDiv = document.getElementById("deviceIdDiv"); if (modelInstanceSelect.value === "singleDevice") { deviceIdDiv.style.display = "block"; } else { deviceIdDiv.style.display = "none"; } } function handleAddBimShape() { var modelInstanceSelect = document.getElementById("modelInstance"); var deviceIdSelect = document.getElementById("deviceId"); var metricSelect = document.getElementById("metric"); var popupCheckbox = document.getElementById("popupCheckbox"); var altViewMode=""; if (popupCheckbox.checked) { altViewMode="BimShapePopup"; } else { altViewMode="BimShape"; } params = { modelInstance: modelInstanceSelect.value, deviceId: deviceIdSelect.value, metric: metricSelect.value, altViewMode: altViewMode }; triggerEvent("addBimShape", params); } document.addEventListener("DOMContentLoaded", function() { var metricSelect = document.getElementById("metric"); var options = metricSelect.options; for (var i = 0; i < options.length; i++) { if (options[i].value === "occupancyPercentage") { options[i].selected = true; break; } } }); function triggerEvent(event, params) { let baseServiceUri = <BASE_SERVICEURI_URL>; // e.g.: " http://www.disit.org/km4city/resource/iot/orionUNIFI/DISIT/ " let coordsAndType = {}; let method = event; if (params.modelInstance && params.modelInstance == "singleDevice" && params.deviceId!= null) { coordsAndType.query = "../controllers/superservicemapProxy.php/ api /v1/?serviceUri=" + baseServiceUri + params.deviceId; } else { coordsAndType.query = "../controllers/superservicemapProxy.php/ api /v1/iot-search/?selection=<MAP_BOUNDS_SW_LAT>;<MAP_BOUNDS_SW_LNG>;<MAP_BOUNDS_NE_LAT>;<MAP_BOUNDS_NE_LNG>&categories=" + categories + "&format=json&maxResults=300&model=" + deviceModel; } coordsAndType.desc = params.metric; coordsAndType.color1 = <POPUP_COLOR1>; coordsAndType.color2 = <POPUP_COLOR2>; coordsAndType.targets = <TARGET_WIDGET_SINGLE_CONTENT>,<TARGET_WIDGET_TIME_TREND>; coordsAndType.display = "pins"; coordsAndType.queryType = "Default"; coordsAndType.iconTextMode = "text"; coordsAndType.altViewMode = params.altViewMode; coordsAndType.bubbleSelectedMetric = params.metric; coordsAndType.modelInstance = params.modelInstance; let selectedMetrics = <SELECTED_METRICS_ARRAY_TO_FILTER> // e.g.: ["capacity", "allocation", "occupancy"] coordsAndType.selectedMetrics = selectedMetrics; parent.$('body').trigger({ type: event, target: <TARGET_WIDGET_MAP>, passedData: coordsAndType }); } console.log("Smart Selector CSBL"); var deviceModel = <DEVICE_MODEL_NAME>; var categories = <DEVICE_SUBNATURE>; // AUTO-START setTimeout(function() { handleAddBimShape(); }, 800); }); </script> </body> </html> ...
giovanni.manzo - 2 Jul 2024 - 16:07