当我尝试运行此python代码时:
def convertProjection(self,x,y,from_crs,to_crs):
crsSrc = QgsCoordinateReferenceSystem(from_crs)
crsDest = QgsCoordinateReferenceSystem(to_crs)
xform = QgsCoordinateTransform(crsSrc, crsDest)
pt = xform.transform(QgsPoint(x,y))
return pt.x, pt.y
# Remove the "EPSG:" part
from_crs = 3857
to_crs = 4326
x = -11705274.6374
y = 4826473.6922
lon, lat = self.convertProjection(x,y,from_crs,to_crs)
发生此错误:
/usr/bin/python3.5 /home/jithin/PycharmProjects/PythonTests/XYTOLatLong_Conversion.py
Traceback (most recent call last):
File "/home/jithin/PycharmProjects/PythonTests/XYTOLatLong_Conversion.py", line 36, in <module>
lon, lat = self.convertProjection(x,y,from_crs,to_crs)
NameError: name 'self' is not defined
感谢您的帮助。。。。谢谢。。。你知道吗
看起来像是你从类中复制的代码。你知道吗
在Python中,按照惯例(pep8),“self”是指对象的当前实例。如果您的代码在类之外,则不会定义self,因为没有实例。你知道吗
你应该改变
至
然后调用不带“self”的函数。你知道吗
convertProjection
是在类外部定义的正则函数,因此不应将其用作绑定方法。你知道吗更改:
收件人:
和变化:
至
相关问题 更多 >
编程相关推荐