Version: [6118] Zones d'influence visuelle (ZIV) 1.2.3

1.2.3 - Corrected the contact email: it was outlook.com instead of
outlook.fr, so the plugin repository's confirmation email never
arrived and the plugin could not be approved.
Cleaned the vendored help text of the two visibility algorithms. It
carried two <img> tags pointing at kofi2.webp and ukraine.png, neither
of which ships in the package, so both rendered as empty boxes. The
Ko-fi image was the only content of its link, which therefore did not
show at all; it is now a plain text link, so the upstream author's
donation link is visible for the first time. Also closed a <b> tag
that was left open and fixed an invalid </font size>.
Scoped all 51 unscoped QGIS and Qt enum accesses, the deprecated
Qt5-style form.
Qgis.Info becomes Qgis.MessageLevel.Info, QgsFileWidget.GetDirectory
becomes QgsFileWidget.StorageMode.GetDirectory, and so on across 14
distinct enums in six modules. QGIS 4 still resolves the unscoped form
through its compatibility layer, so nothing was broken - but the
plugin declares qgisMaximumVersion 4.99, and that layer will not last
forever. The same class of problem already caused a real crash in
1.1.0, where QDialogButtonBox.Ok simply does not exist under Qt6.
Every scope name was resolved against the installed QGIS rather than
guessed, and each rewrite was accepted only after checking that the
scoped constant has exactly the same value as the unscoped one. The
reference viewshed run still produces byte-identical rasters.
1.2.2 - Cleared the last 27 findings of the repository scan, the
try/except/pass and try/except/continue handlers (Bandit B110 and
B112). Bandit now reports nothing at all on this package.
25 of them became `with contextlib.suppress(Exception):`, the Python
idiom for a deliberately ignored failure. It is exactly equivalent to
try/except/pass and is not flagged.
The two remaining ones used `continue`, which suppress cannot express,
so they now report the failure instead of eating it: a failed
reprojection in Points.py is appended to the `errors` list the
function already logs, and OGR buffer failures in the photo-viewpoint
helper are counted and reported once at the end.
Verified against a reference viewshed run: the output rasters are
byte-identical to those of 1.2.1, so no numeric result changed.
1.2.1 - Cleared the two blocking findings of the plugin repository
security scan.
Removed the dependency installer, which shelled out to cmd.exe and pip
through two .bat scripts: that tripped FILE_SUSPICIOUS (executable
files in the package) and Bandit B603 / B607 (process execution).
requests and numpy ship with QGIS, so the installer never actually
ran; a missing package is now simply reported in the log.
install_pip_packages.bat, py3-env.bat and requirements.txt are gone.
Cleared the 54 code-quality findings of the repository scan, all of
them in the vendored Visibility Analysis code: 21 bare except handlers
now name Exception (E722), a comparison to None uses `is not None`
(E711), three variables named `l` were renamed (E741), and tab
indentation was converted to spaces (E101, W191). Verified against a
reference viewshed run: the output rasters are byte-identical before
and after, so no numeric result changed.
Fixed Flake8 F821 in algorithms/modules/visibility.py: min_index was
read before being assigned, a NameError waiting for the first pixel of
a run with an error of 1 or more. Inherited from the upstream
Visibility Analysis code.
1.2.0 - Release prepared for the official QGIS plugin repository.
Plugin renamed for display: "Zones d'influence visuelle (ZIV)" (the
package folder, the provider ids genziv and pcfr_vis and the
QgsSettings namespace are unchanged, so existing Processing models and
preferences keep working).
The viewshed height parameter is now labelled "hauteur de
l'observateur" (observer height) and defaults to 1.7 m, eye level,
instead of a panel height. The internal parameter id is unchanged, so
existing Processing models keep working.
The built-in cartographic export was removed, to keep the plugin
focused on producing the viewshed itself. Gone with it: the optional
PNG output parameter, the A4 layout template and its bundled logo, the
logo and project name settings, and roughly 25 kB of layout code. The
ZIV raster is still loaded and styled in the project, so any map can
be composed with the usual QGIS layout tools.
Fixed a crash on QGIS 4: the preferences dialog used the Qt5-style
unscoped enums QDialogButtonBox.Ok / .Cancel / .ResetRole, which do
not exist under Qt6, so the dialog raised AttributeError on every
open. Two more in the error popup of the main algorithm
(QMessageBox.Critical / .Ok). All six are now scoped. This affected
1.1.0 as well.
Fixed the VERSION constant, which still read 1.1.0 while metadata.txt
said 1.2.0 - the welcome message announced the wrong version.
Description and about text rewritten in English. Author, contact
email, repository, tracker and homepage filled in.
GNU GPL v3 LICENSE and a README added at the root of the package.
Upstream credits moved out of the internal algorithms/README.txt and
into the public plugin description and the headers of the derived
modules: "Visibility Analysis" by Zoran Cuckovic (GPL v3) for the
visibility engine, "PointCloudFR" by Samy KHELIL (GPL v2 or later) for
the IGN LiDAR HD tile download.
Removed install_dependencies.bat: an orphan script inherited from
PointCloudFR, never called by the plugin, that hardcoded a third-party
user path and a single QGIS version.
1.1.0 - Reprise du moteur ZIV depuis la derniere version du plugin
d'origine.
Points de vue photo (photomontages) repartis equitablement entre ilots
disjoints et par anneaux de distance, places strictement sur route ou
aux abords des batiments (jamais en plein champ).
Legende des cartes PNG curee : rayon + points de vue + zone d'etude,
plus les couches COMMUNE et courbes de niveau 10 m si presentes ;
raster ZIV et fonds de carte exclus.
1.0.0 - Version initiale de ZIV_prime.
Plugin autonome dedie a la generation de Zones d'Influence Visuelle
(ZIV) a partir du LiDAR HD de l'IGN.
Fonctions : telechargement des dalles LiDAR HD (MNT/MNS/MNH/LIDAR)
intersectant l'emprise, fusion optionnelle, calcul de visibilite
(viewshed) via un modele de traitement embarque, masquage automatique
des forets (BD Foret IGN) et des batiments (BDTOPO), export
cartographique PNG A4, et suggestion en opt-in de points de vue photo
(photomontages) repartis par anneaux de distance sur les secteurs les
plus visibles et accessibles.

yes

VDEGREG

2026-08-27T13:37:15.503809+00:00

3.34.0

4.99.0

no

Version management

Plugin details