SpaceGroupUCL / qgisSpaceSyntaxToolkit

Space Syntax Toolkit for QGIS
GNU General Public License v3.0
115 stars 40 forks source link

latest version of Space Syntax and QGIS #209

Open jmtconsult opened 6 months ago

jmtconsult commented 6 months ago

Please, what is the compatible version of space syntax and qgis???

joaoponceleao commented 5 months ago

From experience, space syntax seems to work best with LTR releases. This makes sense, the plugin has become quite big and not always easy to remain on top of feature releases.

That being said, it should work with any QGIS 3 release as long as Python is pinned at 3.11. Some of Space Syntax's dependencies probably need to be updated for 3.12.

QQGIS has moved to Python 3.12 now, but you can download a custom install with Python 3.11 on windows, or use conda on linux and mac.

jorgegil commented 5 months ago

@joaoponceleao Thanks for explaining the SST compatibility (as you say, it should work with all QGIS 3 versions so far). But this python update looks like something that we need to check at some point.

joaoponceleao commented 5 months ago

From what I remember there's an error with imp. Basically, the imp module has been deprecated in python 3.12, in favour of importlib. It should be a simple fix, but it looks like it's a dependency issue (i don't see SST importing imp), but haven't checked which dependency is doing this.

jorgegil commented 5 months ago

I should add that we occasionally run tests with the sample data provided here on the latest QGIS. We normally only test on mac, and that's as far as testing goes of the SST. We can capture major issues, and at the moment it runs, but we do not specific system or data incompatibilities.

For any SST user, when running into problems or error, it's always good to test the workflow with the clean version of the sample data, to see if it is some problem with input data, the tool, or the computer system. Quite often, when providing support, we realise that the errors are with the input data.

joaoponceleao commented 4 months ago

I see. You must be using the official QGIS installer for Mac. A lot of us no longer use it since it is not native on Apple Silicon, is quite buggy, and it does not (last time I checked) support the new lidar processing tools (pdal not included in package). I personally install QGIS from conda (https://github.com/conda-forge/qgis-feedstock). For those who prefer a gui installer, there is the current wip on the future QGIS official package (https://github.com/opengisch/qgis-conda-builder).

People who use these might run into the following issue with Python 3.12 and SS: ModuleNotFoundError: No module named 'imp'

I think I tracked it down to the following lines:

from future import standard_library
standard_library.install_aliases()

These are present in scripts.plugin_upload.py, network_segmenter.network_segmenter_tool.py, and rcl_cleaner.road_network_cleaner_tool.py (this last one triggers the error first). Commenting out those lines should fix the issue (a try import statement would be needed to keep Py2 compatibility). I haven't gone as far as testing this though - just giving some pointers.

joaoponceleao commented 4 months ago

Thanks for the pointer to the sample data. I always wondered what to use to test the tool.