{"name": "geo_webview", "package_name": "geo_webview", "version": "4.12.4", "experimental": false, "qgis_min": "4.0.0", "qgis_max": "4.99.0", "downloads": 24, "uploaded_by": null, "upload_datetime": "2026-11-11T06:05:04.119983", "changelog": "- 4.12.4: plugins.qgis.org \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b9\u30ad\u30e3\u30f3\u5bfe\u5fdc(except\u301ccontinue 6\u7b87\u6240\u306e # nosec \u30eb\u30fc\u30ebID\u304c B110 \u306b\u306a\u3063\u3066\u3044\u305f\u8aa4\u308a\u3092 B112 \u3078\u4fee\u6b63\u30024.12.3 \u304c\u30b5\u30a4\u30c8\u30b9\u30ad\u30e3\u30f3\u3067\u30d6\u30ed\u30c3\u30af\u3055\u308c\u305f\u539f\u56e0)\u3002QGIS core \u304b\u3089\u64a4\u53bb\u6e08\u307f\u306e\u975e\u63a8\u5968\u30d5\u30e9\u30b0 supportsQt6 \u3092 metadata.txt \u304b\u3089\u524a\u9664\n- 4.12.3: kasugaiExport \u306e \"too many values to unpack\" \u3092\u4fee\u6b63(4.12.2 \u306e _tree_layers() 4\u8981\u7d20\u30bf\u30d7\u30eb\u5316\u306b\u4f34\u3046 3\u8981\u7d20\u30a2\u30f3\u30d1\u30c3\u30af\u6b8b\u5b586\u7b87\u6240: kasugai_export \u306e base:XYZ \u691c\u51fa\u30fbtheme: \u884c\u751f\u6210\u3001live_sync/server_manager \u306e\u30bf\u30a4\u30c8\u30eb\u5199\u50cf\u30fbwriteback \u89e3\u6c7a)\n- 4.12.2: QGIS \u30ec\u30a4\u30e4\u30c4\u30ea\u30fc\u306e\u51e1\u4f8b\u30ce\u30fc\u30c9\u9806\u30fb\u30e6\u30fc\u30b6\u30fc\u30e9\u30d9\u30eb\u30fb\u51e1\u4f8b\u8868\u793a\u540d\u3092 legendnode: \u30e1\u30bf\u884c\u3068\u3057\u3066\u51fa\u529b\u3057\u3001\u30b0\u30eb\u30fc\u30d7\u306e checked/unchecked/partial(\u4e2d\u9593)\u72b6\u614b\u3092 group: \u884c\u306e checked= \u3067\u51fa\u529b(#63)\n- 4.12.1: QgsVectorTileLayer \u3092 mvt:/pmtiles: \u884c\u3068\u3057\u3066\u51fa\u529b(XYZ \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8/TileJSON/PMTiles URL\u3002\u30ed\u30fc\u30ab\u30eb .mbtiles \u7b49 URL \u53c2\u7167\u4e0d\u53ef\u306f\u7406\u7531\u4ed8\u304d skipped)(#50)\n- 4.12.0: Live Driver MCP \u30ea\u30ec\u30fc(GET /live/mcp-discover\u30fbPOST /live/mcp)\u3002CDN \u30db\u30b9\u30c8\u7248 KASUGAI Canvas \u306e AI \u30c1\u30e3\u30c3\u30c8\u304b\u3089 Live Driver \u306e MCP \u30c4\u30fc\u30eb(qgis_pyeval/qgis_bridge_call \u7b49)\u3078\u5230\u9054\u53ef\u80fd\u306b(\u30c8\u30fc\u30af\u30f3\u306f\u30b5\u30fc\u30d0\u5074\u4ed8\u4e0e\u30fbTCP \u30d4\u30a2 loopback \u9650\u5b9a)\n- 4.11.0: \u30e9\u30a4\u30d6\u53cc\u65b9\u5411\u9023\u643a\u306e\u62e1\u5f35 \u2014 POST /live/writeback(Canvas \u8868\u793a/\u30c6\u30fc\u30de/\u30d5\u30a3\u30eb\u30bf\u306e QGIS \u66f8\u304d\u623b\u3057)\u30fbPOST /live/features(GeoJSON \u5730\u7269\u306e\u30b9\u30af\u30e9\u30c3\u30c1\u30ec\u30a4\u30e4\u6295\u5165)\u30fbQGIS\u2192Canvas \u9078\u629e\u540c\u671f\u30fb\u30aa\u30f3\u30c7\u30de\u30f3\u30c9\u914d\u4fe1 API(GET /live/layers\u30fb/live/features\u30fb/live/selection\u30fb/live/render)\u30fbbridge liveWriteback/liveAddFeatures \u8ffd\u52a0\n- 4.10.0: QGIS4\u306e3D\u30b0\u30ed\u30fc\u30d6\u30d3\u30e5\u30fc\u5bfe\u5fdc(\u5730\u5fc3\u7cfb\u30b7\u30fc\u30f3CRS=EPSG:4978\u306e ECEF\u2192\u6e2c\u5730\u5909\u63db\u3067 globe \u30d3\u30e5\u30fc\u306e\u30ab\u30e1\u30e9\u3092\u6b63\u3057\u304f\u51fa\u529b\u3057 scene3d: \u306b globe=on \u3092\u4ed8\u4e0e) + 3D\u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3(<animation3d>\u30ad\u30fc\u30d5\u30ec\u30fc\u30e0)\u3092\u30ab\u30e1\u30e9\u8ecc\u9053\u306e fly_geojson: \u884c+DATA/anim3d_*.geojson \u3068\u3057\u3066\u51fa\u529b\u30023D\u30d3\u30e5\u30fc\u306e\u30ab\u30e1\u30e9\u59ff\u52e2\u5909\u63db\u3092 QgsCameraPose \u6e96\u62e0\u3078\u4fee\u6b63(\u9ad8\u3055=dist*cos(pitch)\u30fb\u6c34\u5e73\u8ddd\u96e2=dist*sin(pitch)\u30fb\u8996\u7dda\u65b9\u4f4d=360-yaw\u30fbp=pitch-90\u3002\u5f93\u6765\u306f\u9ad8\u3055/\u8ddd\u96e2\u304c\u5165\u308c\u66ff\u308f\u308a\u8996\u7dda\u65b9\u4f4d\u3082\u53cd\u8ee2\u3057\u3066\u3044\u305f)\n- 4.8.0: \u30a2\u30c8\u30e9\u30b9\u6709\u52b9\u306a\u5370\u5237\u30ec\u30a4\u30a2\u30a6\u30c8\u3092 fly_geojson: \u884c+DATA/atlas_*.geojson(\u5404\u30da\u30fc\u30b8\u7bc4\u56f2\u3092\u5de1\u56de\u3059\u308b\u30d7\u30ec\u30bc\u30f3\u7528FLY\u30eb\u30fc\u30c8\u30fb\u5ea7\u6a19Z=\u30da\u30fc\u30b8\u3092\u53ce\u3081\u308b\u30ab\u30e1\u30e9\u9ad8)\u3068\u3057\u3066\u51fa\u529b(emit_atlas=True\u65e2\u5b9a\u3001bridge kasugaiExport \u306b emit_atlas \u8ffd\u52a0)\n- 4.2.1: .kasc+DATA/ \u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3067\u672a\u8aad\u8fbc\u30ec\u30a4\u30e4(layer()=None)\u3092\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u30d5\u30a1\u30a4\u30eb\u306e <maplayer> \u5b9a\u7fa9\u304b\u3089\u518d\u751f\u6210\u30fb\u518d\u767b\u9332\u3057\u3001\u7834\u640d\u30ec\u30a4\u30e4(isValid()=False)\u3082 setDataSource \u3067\u518d\u30aa\u30fc\u30d7\u30f3\u3057\u3066\u51fa\u529b\u5bfe\u8c61\u306b\u542b\u3081\u308b\u3002\u89e3\u6c7a\u4e0d\u80fd\u306f skipped \u3078\u8a18\u9332\n- 4.2.0: GSI Maps \u30a8\u30f3\u30b8\u30f3\u5bfe\u5fdc(engine=gsimaps\u30fbgsimaps.html \u8d77\u52d5\u30da\u30fc\u30b8\u30fbEngine: \u30b3\u30f3\u30dc)\u3002\u5185\u8535HTTP\u30b5\u30fc\u30d0\u30fc\u306eCORS\u3092\u8a31\u53ef\u30ea\u30b9\u30c8\u65b9\u5f0f\u3078\u5f37\u5316(\u4efb\u610f\u30b5\u30a4\u30c8\u304b\u3089\u306e\u30ed\u30fc\u30ab\u30eb\u30c7\u30fc\u30bf\u8aad\u307f\u53d6\u308a\u3092\u906e\u65ad)\n- 4.0.4: \u30b5\u30a4\u30c8\u30b9\u30ad\u30e3\u30f3\u6307\u6458\u5bfe\u5fdc(.qml \u30d1\u30fc\u30b9\u3092 vendored defusedxml \u3078\u5207\u66ff\u30fb\u914d\u5e03ZIP\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3092 https \u56fa\u5b9a\u30fbtry/except/pass \u306e # nosec \u660e\u793a\u3001.bandit/.flake8 \u66f4\u65b0)\n- 4.0.3: \u914d\u5e03\u524d\u30c1\u30a7\u30c3\u30af\u306e flake8 findings 0 \u5316(\u672a\u4f7f\u7528 import \u9664\u53bb\u30fb\u7d99\u7d9a\u884c\u30a4\u30f3\u30c7\u30f3\u30c8\u4fee\u6b63\u30fb\u904e\u5270\u7a7a\u884c\u306e\u6574\u7406)\n- 4.0.2: \u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u8d77\u52d5HTML(index/<engine>.html)\u3068 /present \u5171\u6709\u30da\u30fc\u30b8\u3092\u30ed\u30b1\u30fc\u30eb\u5bfe\u5fdc(\u65e5\u672c\u8a9e/\u82f1\u8a9e\u56fa\u5b9a\u2192translate_text\u3067UI\u8a00\u8a9e\u8ffd\u5f93\u30019\u8a00\u8a9e\u30ab\u30bf\u30ed\u30b0\u3078 geo_webview.page \u30b3\u30f3\u30c6\u30ad\u30b9\u30c841\u30ad\u30fc\u8ffd\u52a0)\u3002\u4e0d\u4f7f\u7528\u30ad\u30fc39\u4ef6\u3092\u30ab\u30bf\u30ed\u30b0\u304b\u3089\u9664\u53bb\n- 4.0.1: KASUGAI\u51fa\u529bUI\u306e\u672a\u767b\u9332\u6587\u5b57\u5217(\u300c\u25b6 Canvas\u300d\u300c\u25b6 WebView\u300d\u30fb\u4fdd\u5b58\u5148\u9078\u629e\u30fbZIP\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30fb\u8d77\u52d5\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u7b4926\u30ad\u30fc)\u3092 i18n 9\u8a00\u8a9e\u30ab\u30bf\u30ed\u30b0\u3078\u8ffd\u8a18\n- 3.36.8: \u9023\u643a\u69cb\u6210\u56f3\u306e\u300c\u3010\u25b6 Canvas\u3011\u300d\u306b Canvas \u306e\u30ed\u30fc\u30ab\u30eb\u30dd\u30fc\u30c8\u3092\u660e\u793a(HTTP\u30b5\u30fc\u30d0\u30fc :8510\u30fbAI \u30d6\u30ea\u30c3\u30b8\u30cf\u30d6 :8511)\n- 3.36.7: .kasc+DATA/ \u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3067 .qml \u53c2\u7167\u306e\u30b7\u30f3\u30dc\u30eb\u753b\u50cf\u3092 DATA/ \u3078\u8907\u88fd\u3057\u53c2\u7167\u3092\u66f8\u304d\u63db\u3048(_export_qml_assets)\u3002QGIS\u5185\u8535SVG/\u30ed\u30fc\u30ab\u30eb\u753b\u50cf\u304c Canvas \u5074\u3067\u89e3\u6c7a\u3067\u304d\u305a\u5186\u30de\u30fc\u30ab\u30fc/\u5358\u8272\u3078\u30d5\u30a9\u30fc\u30eb\u30d0\u30c3\u30af\u3057\u3066\u3044\u305f\u554f\u984c\u3092\u89e3\u6d88\n- 3.36.6: \u30d1\u30cd\u30eb\u30bf\u30a4\u30c8\u30eb\u3092\u300cWebView\u300d\u3078\u77ed\u7e2e(\u65e7\u300cgeo_webview \u2014 Web Distribution\u300d)\u3002i18n 9\u8a00\u8a9e\u30ab\u30bf\u30ed\u30b0\u3092\u540c\u671f\n- 3.36.5: \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u9032\u6357\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u00d7\u3067\u5b9f\u969b\u306b\u9014\u4e2d\u30ad\u30e3\u30f3\u30bb\u30eb\u53ef\u80fd\u306b(DL/\u30a6\u30a3\u30b6\u30fc\u30c9\u5f85\u6a5f/\u5c55\u958b\u306e\u5404\u6bb5\u3067\u4e2d\u65ad\u3001\u30ad\u30e3\u30f3\u30bb\u30eb\u6642\u306f\u60c5\u5831\u901a\u77e5)\n- 3.36.4: \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u65b9\u5f0f\u9078\u629e\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u975e\u30e2\u30fc\u30c0\u30eb\u5316(\u80cc\u9762\u96a0\u308c\u3067\u5168\u5165\u529b\u30ed\u30c3\u30af\u2192\u300c\u9589\u3058\u3089\u308c\u306a\u3044\u300d\u554f\u984c\u306e\u6839\u672c\u4fee\u6b63)\u3002\u9032\u6357\u30c0\u30a4\u30a2\u30ed\u30b0\u306e\u00d7\u3067\u30bf\u30b9\u30af\u30ad\u30e3\u30f3\u30bb\u30eb\u53ef\n- 3.36.3: \u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u9032\u6357\u3092\u6bb5\u968e\u5225\u5b9f\u8868\u793a\u3078(\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u306eMB/\u30d0\u30fc\u78ba\u5b9a\u8868\u793a\u30fb\u30a6\u30a3\u30b6\u30fc\u30c9\u5f85\u6a5f\u30fb\u5c55\u958b)\u3002\u30ec\u30b8\u30b9\u30c8\u30ea\u5e7d\u970a\u767b\u9332\u306e\u8aa4\u691c\u51fa\u3092exe\u5b58\u5728\u30c1\u30a7\u30c3\u30af\u3067\u9632\u6b62\n- 3.36.2: \u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u7d4c\u8def\u306e\u9032\u6357\u6587\u8a00\u306b\u300c\u30a6\u30a3\u30b6\u30fc\u30c9/\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u78ba\u8a8d\u304c\u5225\u30a6\u30a3\u30f3\u30c9\u30a6\u30fb\u80cc\u9762\u306b\u51fa\u308b\u300d\u65e8\u306e\u6848\u5185\u3092\u8ffd\u52a0(\u80cc\u9762\u30d7\u30ed\u30f3\u30d7\u30c8\u653e\u7f6e\u3067\u300c\u56fa\u307e\u308b\u300d\u554f\u984c\u306e\u5bfe\u7b56)\n- 3.36.1: Canvas\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5b9f\u884c\u4e2d\u306b\u4e0d\u5b9a\u30d7\u30ed\u30b0\u30ec\u30b9\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u8868\u793a\u3057\u3001\u5931\u6557\u6642\u306f\u30ed\u30b0\u8a18\u9332+\u5ef6\u9577\u8868\u793a\u3078(DL\u4e2d\u304c\u7121\u901a\u77e5\u3067\u300c\u4f55\u3082\u8d77\u304d\u306a\u3044\u300d\u72b6\u614b\u3092\u89e3\u6d88)\n- 3.36.0: Canvas \u672a\u691c\u51fa\u6642\u306e\u300c\u25b6 Canvas\u300d\u3092 Install \u30dc\u30bf\u30f3\u5316\u3057\u3001\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7(.kasc\u95a2\u9023\u4ed8\u3051)/\u30dd\u30fc\u30bf\u30d6\u30ebZIP\u3092\u9078\u629e\u3057\u3066\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u2192\u8d77\u52d5\u3078\u5408\u6d41\n- 3.35.0: Web\u914d\u4fe1\u30d1\u30cd\u30eb\u306e\u8d77\u52d5\u884c\u30922\u884c\u5316\u3057\u3001\u300c\u25b6 WebView\u300d\u884c\u306bCDN(\u30db\u30b9\u30c8\u7248\u30c1\u30e3\u30f3\u30cd\u30eb)\u9078\u629e\u30b3\u30f3\u30dc\u3092\u8ffd\u52a0(stable/unstable/\u30ab\u30b9\u30bf\u30e0URL)\n- 3.34.3: /present \u306b\u30d7\u30ec\u30bc\u30f3\u30bf\u30fc\u306e\u30de\u30a6\u30b9\u30ab\u30fc\u30bd\u30eb\u8a87\u5f35\u8868\u793a(\u9ec4\u8272\u77e2\u5370\u3001\u30ad\u30e3\u30f3\u30d0\u30b9\u9000\u51fa\u3067\u975e\u8868\u793a)\n- 3.34.2: \u300c\u30d1\u30fc\u30de\u30ea\u30f3\u30af\u300d\u30bf\u30d6\u3068\u300c\u79fb\u52d5\u300d\u30bf\u30d6\u3092\u300c\u30d1\u30fc\u30de\u30ea\u30f3\u30af\u300d\u30bf\u30d6\u306b\u7d71\u5408(\u751f\u6210\u2192URL\u30b3\u30d4\u30fc\u2192\u8cbc\u308a\u4ed8\u3051\u2192\u79fb\u52d5\u304c1\u30bf\u30d6\u3067\u5b8c\u7d50)\n- 3.34.1: \u5171\u6709URL\u3092LAN IP\u8868\u793a\u3078\u5909\u66f4\u3002/present\u8d77\u52d5\u30fb\u30b5\u30fc\u30d0\u30fc\u30b9\u30c6\u30fc\u30bf\u30b9\u30fb\u8d77\u52d5\u30e1\u30c3\u30bb\u30fc\u30b8\u304c http://<LAN-IP>:<port> \u3092\u512a\u5148\u8868\u793a\u3057\u3001\u5171\u6709URL\u3092\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u3078\u30b3\u30d4\u30fc(bridge \u306f network_url \u3092\u8fd4\u5374)\u3002\u5916\u90e8PC\u304b\u3089\u306e\u63a5\u7d9a\u3092\u524d\u63d0\u3068\u3057\u305f\u8868\u793a\u306b\u7d71\u4e00\n- 3.34.0: /present \u3092OpenLayers\u5316\u3057\u8996\u8074\u8005\u3054\u3068\u306e\u72ec\u7acb\u30ba\u30fc\u30e0/\u30d1\u30f3/\u56de\u8ee2(\u30ad\u30e3\u30f3\u30d0\u30b9\u56de\u8ee2\u306f\u30d3\u30e5\u30fc\u56de\u8ee2\u3067\u518d\u73fe\u3001\u64cd\u4f5c\u7d42\u4e86\u6642\u306b\u30b5\u30fc\u30d0\u7bc4\u56f2\u63cf\u753b)\u3002/screenshot \u306b extent/screen/bbox/rot \u30d1\u30e9\u30e1\u30fc\u30bf\u3068 X-Map-Extent/X-Map-Corners \u30d8\u30c3\u30c0\u3092\u8ffd\u52a0\n- 3.33.6: \u300c\u751f\u6210\u300d\u30bf\u30d6\u3092\u300c\u30c6\u30fc\u30de\u300d\u3078\u6539\u540d\u3057\u3001\u300c\u30d1\u30fc\u30de\u30ea\u30f3\u30af\u751f\u6210\u300d\u30dc\u30bf\u30f3\u3092\u300c\u30d1\u30fc\u30de\u30ea\u30f3\u30af\u300d\u30bf\u30d6\u3078\u79fb\u52d5(\u751f\u6210\u2192URL\u8868\u793a\u2192\u30b3\u30d4\u30fc\u304c1\u30bf\u30d6\u3067\u5b8c\u7d50)\n- 3.33.4: DATA/ \u3078\u306e\u30cd\u30a4\u30c6\u30a3\u30d6\u53c2\u7167\u30b3\u30d4\u30fc\u3092\u56fa\u5b9a\u540d\u3078\u5909\u66f4(\u540c\u4e00\u5185\u5bb9\u306f\u518d\u5229\u7528\u30fb\u7570\u5185\u5bb9\u306f\u4e0a\u66f8\u304d)\u3002\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u6bce\u306b slug_N.* \u304c\u8907\u88fd\u84c4\u7a4d\u3057\u3066\u3044\u305f\u554f\u984c\u3092\u89e3\u6d88\n- 3.33.3: \u300c\u25b6 Canvas\u300d\u306f\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u305b\u305a\u65e2\u5b58\u306e .kasc \u306e\u307f\u767b\u9332\u30fb\u8d77\u52d5\u3002\u672a\u51fa\u529b\u6642\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u3067 Export \u3092\u6848\u5185(bridge kasugaiExport \u306b use_existing \u8ffd\u52a0)\n- 3.33.2: \u30d1\u30cd\u30eb\u306e Web Distribution \u30b0\u30eb\u30fc\u30d7\u3092\u300c\u4fdd\u5b58\u884c(Export\uff0b\u4fdd\u5b58\u5148\u30d5\u30a9\u30eb\u30c0\u540d\uff0b\u21ba\u30ea\u30bb\u30c3\u30c8\uff0b\ud83d\udcc1)\u300d\u3068\u300c\u8d77\u52d5\u884c(Engine\u9078\u629e\uff0b\u25b6 WebView\uff0b\u25b6 Canvas)\u300d\u306e2\u884c\u306b\u6574\u7406(\u300cSave to:\u300d\u30e9\u30d9\u30eb\u5ec3\u6b62)\n- 3.33.1: \u300c\u25b6 WebView\u300d\u30dc\u30bf\u30f3\u304c\u52d5\u4f5c\u3057\u306a\u3044\u4e0d\u5177\u5408\u3092\u4fee\u6b63(panel.py \u306b pushButton_kasugai_launch_hosted \u306e\u5c5e\u6027\u30a8\u30a4\u30ea\u30a2\u30b9\u304c\u7121\u304f clicked \u672a\u63a5\u7d9a\u3060\u3063\u305f\u554f\u984c)\n- 3.32.3: \u300c\u25b6 Canvas\u300d\u30dc\u30bf\u30f3\u3092 KASUGAI Canvas \u672a\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6642\u306f\u30b0\u30ec\u30fc\u30a2\u30a6\u30c8(\u8a2d\u5b9a\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u5148\u767b\u9332 or \u30a4\u30f3\u30b9\u30c8\u30fc\u30e9\u767b\u9332\u691c\u51fa\u3067\u6709\u52b9\u5316\u3001\u30d1\u30cd\u30eb\u518d\u8868\u793a/\u8a2d\u5b9a\u30c0\u30a4\u30a2\u30ed\u30b0\u5f8c\u306b\u518d\u5224\u5b9a)\n- 3.29.0: \u30d1\u30cd\u30eb\u3092\u300cWeb\u914d\u4fe1(\u30b5\u30fc\u30d0\u30ec\u30b9)\u300d\u6700\u4e0a\u6bb5\u306e\u69cb\u6210\u3078\u5237\u65b0(\u30a8\u30f3\u30b8\u30f3\u9078\u629e\u30b3\u30f3\u30dc+\u300c\u25b6 Open\u300d\u3067\u51fa\u529b\u2192\u767b\u9332\u2192\u30d6\u30e9\u30a6\u30b6\u8d77\u52d5\u3001\u30b5\u30fc\u30d0\u30fcON/OFF\u3092\u30b5\u30fc\u30d0\u30fc\u30b0\u30eb\u30fc\u30d7\u3078\u96c6\u7d04)\u3002README/SPEC\u3092\u30b5\u30fc\u30d0\u30ec\u30b9Web\u914d\u4fe1\u30fb\u30de\u30eb\u30c1\u30a8\u30f3\u30b8\u30f3\u4e3b\u8ef8\u3067\u518d\u69cb\u7bc9\u3002OGC\u30b5\u30fc\u30d0\u30fc(WMS/WMTS/XYZ/WFS\u30fb/maplibre-style)\u3092\u5168\u64a4\u53bb\u3057\u30b5\u30fc\u30d0\u30ec\u30b9\u914d\u4fe1\u3078\u5b8c\u5168\u79fb\u884c(/kasugai\u30fb/export-data/\u30fb/present\u30fb/screenshot\u30fb\u30d1\u30fc\u30de\u30ea\u30f3\u30af\u306f\u7d99\u7d9a\u3001bridge `wfsLayers` \u5ec3\u6b62)\u3002OGC(WMS/WMTS/WFS)\u30b5\u30fc\u30d3\u30b9\u306f\u5ec3\u6b62\n- 3.24.0: \u30d7\u30e9\u30b0\u30a4\u30f3\u5185\u751f\u6210\u30d3\u30e5\u30fc\u30a2(OpenLayers /qgis-map\u30fbMapLibre /maplibre\u30fbOL+Cesium /map3d)\u3092\u5ec3\u6b62\u3002\u30d1\u30cd\u30eb\u306bKASUGAI Canvas 4\u30a8\u30f3\u30b8\u30f3(Cesium/OpenLayers/MapLibre/Leaflet)\u8d77\u52d5\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0\u3057\u3001`/kasugai`\u30fbbridge `kasugaiExport`/`openExternal` \u3067 engine \u6307\u5b9a\u53ef\u80fd\u306b\n- 3.17.4: \u30b5\u30a4\u30c8\u30b9\u30ad\u30e3\u30f3\u6307\u6458\u5bfe\u5fdc(subprocess/random/saxutils\u306e # nosec\u30fbhtml.escape\u5316)\n- 3.17.3: try/except/pass|continue \u306e # nosec \u660e\u793a(B110/B112)\n- 3.17.2: Qt6\u4e92\u63db\u6027\u30c1\u30a7\u30c3\u30af\u5bfe\u5fdc(\u975e\u30b9\u30b3\u30fc\u30d7\u5217\u6319\u578bQgis.*\u7b49212\u7b87\u6240\u3092\u30b9\u30b3\u30fc\u30d7\u5316)\n- 3.17.1: plugins.qgis.org \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b9\u30ad\u30e3\u30f3\u5bfe\u5fdc(netsh\u547c\u51fa\u306eshell=True\u9664\u53bb\u3001\u975e\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7528\u9014\u30cf\u30c3\u30b7\u30e5\u306eusedforsecurity=False\u5316\u3001HTTP\u547c\u51fa\u306e\u30b9\u30ad\u30fc\u30e0\u691c\u8a3c\u3001LOW\u6307\u6458\u306f\u540c\u68b1.bandit\u3067\u6291\u5236)\n- OpenLayers and MapLibre HTML generation with independent file saving\n- Added settings dialog to configure custom output directories for OpenLayers and MapLibre", "external_deps": null, "download_url": "https://plugins.qgis.org/plugins/geo_webview/version/4.12.4/download/"}