我是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
任何帮助都将不胜感激
进一步搜索后,EPSG:27700似乎使用WGS84椭球体。”“EPSG”不是有效的椭球密码
添加以下行:
似乎使其正常工作
相关问题 更多 >
编程相关推荐