Ahora, estoy tratando de calcular la pendiente del terreno (°) usando pyqgis utilizando el siguiente proceso.
-
En las líneas específicas que quiero conocer el perfil del terreno, generé los puntos usando 'qgis:pointsalonglines'.
line_lyr_1 = processing.run('native:pointsalonglines',{'INPUT':line_lyr_0,'DISTANCE':10, 'START_OFFSET':0, 'END_OFFSET':0, 'OUTPUT':'memory:'})['OUTPUT']
-
Utilizando los puntos generados y la capa ráster DEM, pude obtener los datos de elevación de cada punto mediante los siguientes códigos.
elevation = namedtuple('elevation', ['Place_Name','Line_ID','Distance', 'Elevation']) elevation_datas = []
for feat in line_lyr_1.getFeatures(): point = [] tanada_ID = [] line_ID = [] distance = [] elevation_point = []
point = feat.geometry().asPoint() Place_ID = feat.attributes()[0] Line_ID = feat.attributes()[1] Distance = feat.attributes()[2] Elevation = list(rst_lyr_1.dataProvider().identify(point, QgsRaster.IdentifyFormatValue).results().values())[0] elevation_datas.append(elevation(Place_ID, Line_ID, Distance, Elevation))
-
Después de la exportación de los datos de elevación, hice un terreno parcelas utilizando los datos exportados con la ecuación de cálculo de grado de inclinación
atan(Elevation/Distance)*180/pi()
en Excel.
- Sin embargo, utilizando el plugin de la herramienta de perfil en QGIS, obtuve los siguientes resultados.
¿Por qué mi resultado es diferente entre dos parcelas? ¿Es el método de cálculo diferente en el plugin de la herramienta de perfil?
Creo que el resultado del plugin de la herramienta de perfil es correcto.