-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathroad_slope_calculator.py
61 lines (46 loc) · 2.53 KB
/
road_slope_calculator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# -*- coding: utf-8 -*-
"""
/***************************************************************************
RoadSlopeCalculator
A QGIS plugin
This algorithm is used to calculate the longitudinal slope of forest paths and roads, based on a 2D line vector layer and a DEM (Digital Elevation Model).
It should not be used on national road systems, such as highways, motorways, national and regional roads, which have engineering works designed to smooth the slope (bridges, excavations, landfills, etc.), unless the user has access to a high precision Digital Surface Model (DSM).
Generated by Plugin Builder: http://g-sherman.github.io/Qgis-Plugin-Builder/
-------------------
begin : 2021-03-09
copyright : (C) 2021 by Antonio Sobral Almeida
email : 66124.almeida@gmail.com
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
"""
__author__ = 'Antonio Sobral Almeida'
__date__ = '2021-03-09'
__copyright__ = '(C) 2021 by Antonio Sobral Almeida'
# This will get replaced with a git SHA1 when you do a git archive
__revision__ = '$Format:%H$'
import os
import sys
import inspect
from qgis.core import QgsProcessingAlgorithm, QgsApplication
from .road_slope_calculator_provider import RoadSlopeCalculatorProvider
cmd_folder = os.path.split(inspect.getfile(inspect.currentframe()))[0]
if cmd_folder not in sys.path:
sys.path.insert(0, cmd_folder)
class RoadSlopeCalculatorPlugin(object):
def __init__(self):
self.provider = None
def initProcessing(self):
"""Init Processing provider for QGIS >= 3.8."""
self.provider = RoadSlopeCalculatorProvider()
QgsApplication.processingRegistry().addProvider(self.provider)
def initGui(self):
self.initProcessing()
def unload(self):
QgsApplication.processingRegistry().removeProvider(self.provider)