使用QgsDistanceArea.ConvertLengthMeasureMeans时出现意外的转换结果

2024-09-30 12:30:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python和QGIS新手,我正在尝试编写一个Python插件,用于QGIS v3.6.0

我正在尝试使用QgsDistanceArea()转换测量值。convertLengthMeasurement

我已经尝试使用这个链接中的代码(滚动到末尾附近的提示#2)https://www.e-education.psu.edu/geog489/node/2360

qda = QgsDistanceArea()
qda.setEllipsoid('EPSG') #not sure if this is required (the project CRS is EPSG:27700)

#set input measurement
m = 1000 #not sure if the unit type needs to be set

#convert the measurement
converted = qda.convertLengthMeasurement(m, QgsUnitTypes.DistanceKilometers)

print("measure: ", m)
print("converted: ", converted)

我预计产出为:

m: 1000
converted: 1

但实际产出是:

m: 1000
converted: 111319.49079327358

在QGIS v2中,convertLengthMeasurement似乎需要一个参数来描述输入单位类型。然而,在QGIS v3(我正在使用的版本)中,只需要输出单元类型

我知道我可以简单地除以1000,将米转换成公里,但我想使用convertLengthMeasurement

任何帮助都将不胜感激


Tags: the类型ifisnotepsgmeasurementprint

热门问题