{"name": "movecost", "package_name": "movecost", "version": "3.1.4", "experimental": false, "qgis_min": "3.0.0", "qgis_max": "4.99.0", "downloads": 447, "uploaded_by": "enzo", "upload_datetime": "2026-05-05T03:35:43.488871", "changelog": "3.1.4 - Pass plugins.qgis.org Bandit + flake8 review (W503/W504 + B112/B110):\n- Collapsed the Qt5/Qt6 dock feature flags expression into a single\nline via getattr(QDockWidget, 'DockWidgetFeature', QDockWidget),\nremoving the multi-line OR that triggered W503 when split before\nand W504 when split after the operator.\n- Narrowed 4 broad 'except Exception:' handlers in plot-discovery\ncode to 'except (OSError, PermissionError):' to satisfy Bandit\nB112 (try-except-continue) and B110 (try-except-pass) rules.\nNo behavior change: the operations that can fail are filesystem\ncalls (os.listdir, glob, getmtime), which raise OSError variants.\n3.1.3 - Plugin repository W504 compliance:\n- In movecost_dialog.py (Qt5/Qt6 dock feature flags), moved the '|'\noperator to the beginning of the continuation lines instead of the\nend (modern PEP 8 recommendation; resolves W504 warnings from the\nplugins.qgis.org review).\n3.1.2 - Document Topo_Dist parameter in algorithm help files:\n- Added Topo_Dist parameter description to all 14 .rsx.help files\n(shown in the QGIS Processing parameter dialog when hovering).\n- Bumped Version 2.1 -> 2.2 marker in movecost.rsx.help ALG_DESC.\n3.1.1 - Plugin repository compliance:\n- Removed deprecated supportsQt6 metadata flag (Qt6 compatibility is\nnow determined solely by qgisMaximumVersion=4.99).\n- Cleaned up Python source files to satisfy plugins.qgis.org's\nBandit/flake8 review: removed ~30 unused imports, replaced bare\n'except:' with explicit 'except Exception:', fixed long lines,\nreplaced star imports in movecost_dialog with explicit imports,\nremoved orphan 'standard_library.install_aliases()' call.\n- No behavior changes; this is a tooling/cleanup release.\n3.1.0 - Support movecost R package 2.2 (topo.dist parameter):\n- New \"Topo_Dist\" parameter (default FALSE) added to all 14 algorithm scripts\n(movecost, movealloc, movebound, movecomp, movecorr, movenetw, moverank,\nplus their _by_polygon variants). When TRUE, accumulated cost is\ncalculated using topographic surface distance instead of planar\ndistance (surface = planar * sqrt(1 + slope^2)). Recommended for\ntime-based hiking functions; use with caution on metabolic energy\nfunctions which are derived from planar measurements.\n- Bumped minimum required movecost R package version from 2.1 to 2.2\n(auto-installer in each rsx will now prompt the update).\n3.0.1 - Fix Qt6 compatibility: replaced PyQt5 import in resources_rc.py with qgis.PyQt\n3.0 - Major UI redesign and improvements:\n- Converted dialog to dockable panel (QDockWidget) that docks to right side of QGIS\n- New tabbed interface: Algorithms, Results, Export, Settings\n- R Plot Viewer: displays plots directly in the plugin panel\n- Cost Summary: shows statistics from analysis results\n- Export options: CSV tables, HTML reports\n- Modern CSS styling with color-coded algorithm buttons\n- movecomp: now supports unlimited cost function comparison (comma-separated input)\n- All LCP outputs now include cost, time_converted, length_m, length_km fields\n- All polygon outputs now include area_m2, area_km2, area_ha fields\n- Fixed barrier support: proper sf to Spatial conversion for all algorithms\n- Layer organization: automatic grouping and styling of output layers\n2.1 - Qt6/QGIS 4 compatibility, removed deprecated rgdal dependency, multilingual help files\n2.0 - Initial release with sf/terra support", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/movecost/version/3.1.4/download/"}