21/12/20: This is a live document. More steps and information will be added as this project progresses.
- altgraph==0.17
- future==0.18.2
- pefile==2019.4.18
- python-dotenv==0.15.0
- pywin32-ctypes==0.2.0
- pyqt5
- Install QGIS in OSGeo4W (64-bit)
QGIS downloads page: https://qgis.org/en/site/forusers/download.html
Link directly to OSGeo4W installer: https://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe - Install Python 3.7 (64-bit)
https://www.python.org/downloads/windows/
NB 64-bit Python to match 64-bit QGIS installation - Install git
https://git-scm.com/download/win - Optional: Install Pycharm - only required for development
https://www.jetbrains.com/pycharm/download/#section=windows
- Verify Python, pip, QGIS and git installations
- Python 3.7
- pip3
- QGIS 3.16 Hannover
- Clone this repo
git clone https://github.com/aoifemcdonagh/qgis-map-maker.git
- Update path to QGIS install in batch file
run.bat
- Install requirements with pip
python -m pip install -r requirements.txt
- click
run.bat
in file explorer
-
Open Pycharm
-
Configure new virtual environment
Choose base interpreter as the 64-bit python interpreter you installed in step 2 ofSoftware Installation
. -
Optionally verify venv interpreter
-
Add QGIS paths to PYTHONPATH environment variable.
- Settings > Project> Project Interpreter
- Click the cog icon to the right of ‘Project Interpreter’ field
- Select ‘Show All’
- Click on Interpreter for this project
- Click icon ‘Show paths for the selected interpreter’
- Add the following paths
path\to\qgis\installation\apps\qgis\python
path\to\qgis\installation\apps\qgis\python\plugins
path\to\qgis\installation\apps\Python37\lib\site-packages
(Note path\to\qgis\installation will differ between Windows and Linux) - Click all ‘ok’ buttons
- Allow Pycharm a few minutes to update
as of 23/12/20: generates a QGIS project, custom layout, and a layer based on an input json file
Note:
- use forward slashes '/' to specify paths in arguments
- the path to the QGIS project must exist. however the project file itself doesn't have to exist
- path to .json file must exist
create path to QGIS project if it doesn't exist alreadyinput name of QGIS project instead of full path(project saved to default directory location)decide what default page size should be:A1- dynamically assign sizes to layout items based on page size
colour-code polygons based on a given data attribute/columnadd data attribute as polygon labelsresolve CRS issuesDesign and implement GUI for all user input- Table:
- automatic blank column in table
- fix frame issue
dynamic font size based on number of rows- implement expressions for
rounding numbersconverting ha to ac- sorting by name value
rename table headingsremove underscoresshow correct area unit
fix logo pathoption in GUI to show area in acresLegend:set position - below table?set legend subgroup heading and legend item fontsset spacing below and to left of subgroup heading and legend itemsrename layer to colour code variable so that it shows up correctly in legend