我在 Python 中使用liblas来读取、操作和编写特殊的点格式*.las
。我有一个字符串
s = "309437.95 6959999.84 118.98 16 1 1 0 0 1 0 112.992 5.9881"
其中第一个是 the X
,第二个是 the Y
,第三个是 theZ
等。
使用 Liblas,我创建了一个空liblas.point.Point
对象
>>> pt = liblas.point.Point()
>>> pt
<liblas.point.Point object at 0x0000000005194470>
之后我需要填充这个对象,因为它是空的。
>>> pt.x, pt.y,pt.z
(0.0, 0.0, 0.0)
可能使用
>>> pt.get_x
<bound method Point.get_x of <liblas.point.Point object at 0x0000000005194470>>
我想说谢谢所有的帮助和建议,我真的需要解决这一步。
来自 Martijn Pieters 的建议
s = "%s %s %s" % (s, value, nh)
>>> s
'309437.95 6959999.84 118.98 16 1 1 0 0 1 0 112.992 5.9881'
# create a liblas.point.Point
pt = liblas.point.Point()
pt.x = float(s.split()[0])
pt.y = float(s.split()[1])
pt.z = = float(s.split()[11]) # the new Z value
pt.intensity = = int(s.split()[3])
pt.return_number= int(s.split()[4])
pt.number_of_returns = int(s.split()[5])
pt.scan_direction = int(s.split()[6])
pt.flightline_edge = int(s.split()[7])
pt.classification = int(s.split()[8])
pt.scan_angle = int(s.split()[9])