{"name": "Velorona", "package_name": "velorona", "version": "1.1.4", "experimental": false, "qgis_min": "4.0.0", "qgis_max": "4.99.0", "downloads": 50, "uploaded_by": "Sara-Khosravi", "upload_datetime": "2026-10-07T13:00:50.835908", "changelog": "1.1.4 - Operational output.\nResults open on a plain-language Summary: a status (CLEAR, WATCH, AT RISK, CRITICAL or NO DATA) with a one-line reason, then the key numbers, each next to what it is compared against. Details shows every value with its comparison and meaning, the weather sources, what changed, the evidence and its limits. Evidence keeps the full Observed / Model-derived / Calculated / Inferred record.\nClearance is stated as metres available versus metres required, with the margin. Negative clearance is explained as terrain above the line of sight. The critical point is defined as the point with the lowest Fresnel-zone clearance fraction, which is not necessarily the point with the fewest metres of clearance.\nWeather provenance: every Open-Meteo value is labelled Model-derived (a weather-model value at the site coordinates, not a station measurement). The nearest ECCC station, its distance and observation time, and why it was selected are shown separately.\nRain handling: rain and showers count as rain. Snow is no longer treated as rain, and if the source does not split precipitation by type the value is labelled total precipitation. This changes the rain rate only for hours with snow or showers.\nAdds hourly model weather history per site; each change is stated against an explicit baseline (for example vs 1 hour ago). The history is model data, not station observations.\nAdds an Ask box: rule-based questions answered only from the current result, with the supporting evidence cited. Anything it cannot match is declined rather than guessed.\nAdds Export as Excel (.xlsx) with eight sheets: SUMMARY, LINK ANALYSIS, WEATHER, WEATHER HISTORY, ELEVATION-TERRAIN, EVIDENCE, RAW DATA, DATA DICTIONARY. RAW DATA holds the un-rounded values with unit, source and calculation id.\nThe terrain-clearance and microwave weather-exposure calculations and the aei libraries are unchanged, apart from the rain and snow handling above.\nCode-quality: Flake8 E741 naming cleanup in the presentation layer (ambiguous variable name renamed); no functional or engineering calculation changes. The Excel writer no longer ships an XML reader (it is a test helper), so the package contains no XML parsing.\n1.1.3 - Canada data correction: the bundled Canada Fixed Service snapshot had one site (Regina, SK, ised-fixed-50.41056,-104.61722) whose\nstation role was stored as the literal text \"TX\" with quote characters; it is now TX. Nothing else in the snapshot changed: 24,859 sites and 16,956 links,\nsame ids and order, ISED file of 2026-09-01.\n1.1.2 - Qt6 compatibility fixes for the QGIS plugin repository scan: scoped enum names\n(Qgis.RenderUnit.Pixels, QgsSymbolLayer.Property.*, QgsMapBoxGlStyleConverter.Result.Success) and\nQMetaType.Type field-spec annotations in place of QVariant.Type. No functional changes.\n1.1.1 - Static-analysis fixes for the QGIS plugin repository scan: narrowed two broad\nexception handlers in the satellite source (CelesTrak requests now catch only requests errors;\nelement-set parsing catches only ValueError/ZeroDivisionError, so unexpected errors surface in\nthe satellite status message instead of being skipped), replaced two lambda assignments with\nnamed functions, and renamed an ambiguous loop variable. No other functional changes.\n1.1.0 - Missing-dependency guard. If aei-link-clearance, aei-microwave-link-exposure, aei-geo-features\nor skyfield is not installed in QGIS's Python, the plugin now loads and shows a message-bar and log\nentry naming what to install, instead of failing with an import traceback. Adds requirements.txt\nlisting the required packages (aei-link-clearance is now published on PyPI).\n1.0.0 - First production release. The ISED Fixed Service and SatNOGS ground-station\nsnapshots are bundled with the plugin, so Explore no longer depends on files outside the plugin\ndirectory. Qt6/PyQt6 hardening: the Results Dock and both analysis parameter dialogs used\nPyQt5-only idioms that raised AttributeError on first use under QGIS 4, and a checker\n(tools/check_qt6_enums.py) now guards that whole class of defect. Viewport performance: the live\ntower/cellular queries are debounced, skipped entirely while their layers are hidden,\ndeduplicated per viewport, and served from a bounded session cache with negative caching, so\nreturning to an already-visited extent costs no network. The initial extent is derived from the\nterrestrial home layers instead of the global space layers. Plugin unload is idempotent and\ncleans its own analysis overlays while leaving loaded public data in place.\n0.2.0 - Experimental local development plugin.", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/velorona/version/1.1.4/download/"}