Apply pull request comments
This commit is contained in:
parent
0b046b975e
commit
aa96c5df99
56
README.md
56
README.md
@ -4,24 +4,26 @@ alireza.adli@mail.concordia.ca
|
|||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
[About mtl_gis_oo](#about-gispy)
|
[About mtl_gis_oo](#about-gispy)
|
||||||
[scrub_layer_class.py](#scrublayer)
|
[Building Cleanup Workflow](#workflowpy)
|
||||||
[handle_mtl_ds_workflow.py](#handle_mtl_ds_workflowpy)
|
[ScrubLayer](#scrublayer)
|
||||||
[standalone_vs.py](#standalone_vspy)
|
[Helpers](#helpers)
|
||||||
|
[Configuration](#config)
|
||||||
|
[ScrubMTL](#scrubmtl)
|
||||||
[Setting up an environment to use standalone PyQGIS – How to import qgis.core](#setting-up)
|
[Setting up an environment to use standalone PyQGIS – How to import qgis.core](#setting-up)
|
||||||
|
|
||||||
<a name="about-gispy"/>
|
<a name="about-gispy"/>
|
||||||
|
|
||||||
## About mtl_gis_oo
|
## About mtl_gis_oo
|
||||||
|
|
||||||
This project automates the process of integrating and cleaning updated datasets related to Montreal buildings with an object-oriented approach.
|
This project automates the process of integrating and cleaning datasets related to Montreal buildings.
|
||||||
It is the continuation of non-object-oriented project namely [hydroquebec_archetype_gispy](https://ngci.encs.concordia.ca/gitea/a_adli/hydroquebec_archetype_gispy). The project involves the following datasets:
|
It is the continuation of [hydroquebec_archetype_gispy](https://ngci.encs.concordia.ca/gitea/a_adli/hydroquebec_archetype_gispy). The project involves the following datasets:
|
||||||
|
|
||||||
1. [NRCAN Building Footprints](https://open.canada.ca/data/en/dataset/7a5cda52-c7df-427f-9ced-26f19a8a64d6)
|
1. [NRCAN Building Footprints](https://open.canada.ca/data/en/dataset/7a5cda52-c7df-427f-9ced-26f19a8a64d6)
|
||||||
2. [Shared platform of geospatial data and aerial photographs (GeoIndex)](https://geoapp.bibl.ulaval.ca/)
|
2. [Shared platform of geospatial data and aerial photographs (GeoIndex)](https://geoapp.bibl.ulaval.ca/)
|
||||||
3. [Montreal Property Assesment Units](https://donnees.montreal.ca/dataset/unites-evaluation-fonciere)
|
3. [Montreal Property Assesment Units](https://donnees.montreal.ca/dataset/unites-evaluation-fonciere)
|
||||||
4. [Administrative boundaries of the agglomeration of Montréal (boroughs and related cities)](https://donnees.montreal.ca/dataset/limites-administratives-agglomeration)
|
4. [Administrative boundaries of the agglomeration of Montréal (boroughs and related cities)](https://donnees.montreal.ca/dataset/limites-administratives-agglomeration)
|
||||||
|
|
||||||
The workflow has been developed and implemented in ArcGIS. This workflow (link) involves steps such as fixing geometries, clipping unnecessary parts of the map, splitting sections based on single building footprints, spatially joining datasets, and cleaning the data through processes such as removing duplicates, among others.
|
The original workflow was developed in ArcGIS by Kartikay Sharma (kartikay.sharma@concordia.ca). This workflow (link) involves steps such as fixing and clipping geometries, removing features from unnecessary parts of the map, splitting sections based on single building footprints, spatially joining datasets, and cleaning the data through processes such as removing duplicates, among others.
|
||||||
|
|
||||||
GISPy integrates these processes and automates them so that users can update the dataset by running the workflow module (mtl_buildings_workflow.py) after acquiring and defining the paths to the mentioned datasets.
|
GISPy integrates these processes and automates them so that users can update the dataset by running the workflow module (mtl_buildings_workflow.py) after acquiring and defining the paths to the mentioned datasets.
|
||||||
|
|
||||||
@ -29,31 +31,38 @@ GISPy has been written using QGIS Python standalone libraries (PyQGIS). This set
|
|||||||
|
|
||||||
<a name="#scrublayer"/>
|
<a name="#scrublayer"/>
|
||||||
|
|
||||||
## scrub_layer_class.py
|
## ScrubLayer
|
||||||
|
|
||||||
This module is the essence of the mtl_gis_oo project. It encompasses required functionalities of PyQGIS as methods. Some other methods also have been added to use the functionalities in a specific way. For example, clip_by_multiply carry outs PyQGIS clipping using multiple overlay layers.
|
This module is the essence of the mtl_gis_oo project. It encompasses required functionalities of PyQGIS as methods. Some other methods also have been added to use the functionalities in a specific way. For example, clip_by_multiply carry outs PyQGIS clipping using multiple overlay layers.
|
||||||
|
|
||||||
<a name="#handle_mtl_ds_workflowpy"/>
|
<a name="#workflowpy"/>
|
||||||
## handle_mtl_ds_workflow.py
|
|
||||||
|
|
||||||
This is the process of cleaning and aggregating Montreal buildings datasets. This workflow is backed up by scrub_layer_class.py. After defining the paths, running the module outputs the updated and integrated dataset (map layer).
|
## Building Cleanup Workflow
|
||||||
|
|
||||||
## scrub_mtl_class.py
|
This is the process of cleaning and aggregating Montreal buildings datasets. This workflow is backed up by ScrubLayer. After defining the paths, running the module outputs the updated and integrated dataset (map layer).
|
||||||
|
|
||||||
|
<a name="helpers"/>
|
||||||
|
|
||||||
|
## Helpers
|
||||||
|
|
||||||
|
The module contains several functions that cannot be defines as a method of ScrubLayer class but are useful and sometimes necessary for a method or a part of the workflow (building_cleanup_workflow.py).
|
||||||
|
Creating folders, finding a type of files and merging layers are examples of the module's functionalities.
|
||||||
|
|
||||||
|
<a name="config"/>
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
This module contains the QGIS installation path, and two dictionaries for holding input and output layers paths. The module will be modified completely to address paths in a general way instead of locally.
|
||||||
|
|
||||||
|
<a name="scrubmtl"/>
|
||||||
|
## ScrubMTL
|
||||||
|
|
||||||
This module is not being used or developed right now.
|
This module is not being used or developed right now.
|
||||||
|
|
||||||
<a name="standalone_vs.py"/>
|
|
||||||
|
|
||||||
## standalone_vs.py
|
|
||||||
|
|
||||||
This module provides the preliminary settings for using PyQGIS.
|
|
||||||
|
|
||||||
<a name="setting-up"/>
|
<a name="setting-up"/>
|
||||||
|
|
||||||
## Setting up an environment to use standalone PyQGIS – How to import qgis.core
|
## Setting up an environment to use standalone PyQGIS – How to import qgis.core
|
||||||
|
|
||||||
#pyqgis #qgis #path #pythonpath
|
|
||||||
|
|
||||||
To use PyQGIS without having the QGIS application run in the background, one needs to add the python path to the environment variables. Here is how to do it on Windows:
|
To use PyQGIS without having the QGIS application run in the background, one needs to add the python path to the environment variables. Here is how to do it on Windows:
|
||||||
|
|
||||||
1. Install QGIS
|
1. Install QGIS
|
||||||
@ -62,16 +71,14 @@ To use PyQGIS without having the QGIS application run in the background, one nee
|
|||||||
This is being done in order to access the QGIS Python from the command prompt without mixing with the system’s original Python installation(s).
|
This is being done in order to access the QGIS Python from the command prompt without mixing with the system’s original Python installation(s).
|
||||||
|
|
||||||
a. Go to the QGIS installation directory’s Python folder. e.g. C:\Program Files\QGIS 3.34.1\apps\Python39
|
a. Go to the QGIS installation directory’s Python folder. e.g. C:\Program Files\QGIS 3.34.1\apps\Python39
|
||||||
b. Duplicate the Python executable (python.exe) by copy-pasting it
|
b. Rename the Python executable (python.exe) to a specific-desired name, e.g. pythonqgis.exe
|
||||||
c. Rename the duplicated version. e.g. pythonqgis.exe
|
|
||||||
|
|
||||||
3. Updating the Path variables
|
3. Updating the Path variables
|
||||||
|
|
||||||
a. Go to Environmental Variables (from Windows start)
|
a. Go to Environmental Variables (from Windows start)
|
||||||
b. Click on Path and then click on Edit. Add the following paths:
|
b. Click on Path and then click on Edit. Add the following paths:
|
||||||
|
|
||||||
> i. C:\Program Files\QGIS 3.34.1\apps\Python39\pythonqgis
|
> C:\Program Files\QGIS 3.34.1\apps\Python39
|
||||||
> ii. C:\Program Files\QGIS 3.34.1\apps\Python39
|
|
||||||
|
|
||||||
c. Go back to the Environmental variables this time click on New and in New Variable box enter PYTHONPATH and in the Variable Value add the following paths (separate them with a colon). Some paths might be different. For example, apps\qgis can be apps\qgis-ltr.
|
c. Go back to the Environmental variables this time click on New and in New Variable box enter PYTHONPATH and in the Variable Value add the following paths (separate them with a colon). Some paths might be different. For example, apps\qgis can be apps\qgis-ltr.
|
||||||
|
|
||||||
@ -88,5 +95,4 @@ To use PyQGIS without having the QGIS application run in the background, one nee
|
|||||||
c. If the process has been done correctly, you won’t face any error.
|
c. If the process has been done correctly, you won’t face any error.
|
||||||
d. In the Python environment, import the package by:
|
d. In the Python environment, import the package by:
|
||||||
|
|
||||||
> i. Either import qgis.core
|
> import qgis.core
|
||||||
> ii. Or from qgis.core import \*
|
|
||||||
|
Loading…
Reference in New Issue
Block a user