首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Liblas模块填充liblas.point.Point对象?

如何使用Liblas模块填充liblas.point.Point对象?
EN

Stack Overflow用户
提问于 2012-10-11 00:51:00
回答 1查看 522关注 0票数 1

我正在使用Python语言中的liblas来读取、操作和编写一个特殊的点格式*.las。我有一个字符串作为

代码语言:javascript
复制
s = "309437.95 6959999.84 118.98 16 1 1 0 0 1 0 112.992 5.9881"

其中第一个元素是X,第二个是Y,第三个元素是Z,依此类推。

使用Liblas,我创建了一个空的liblas.point.Point对象

代码语言:javascript
复制
>>> pt = liblas.point.Point()
>>> pt
<liblas.point.Point object at 0x0000000005194470>

之后,我需要填充这个对象,因为它是空的。

代码语言:javascript
复制
>>> pt.x, pt.y,pt.z
(0.0, 0.0, 0.0)

可能是在使用

代码语言:javascript
复制
>>> pt.get_x
<bound method Point.get_x of <liblas.point.Point object at 0x0000000005194470>>

我想说谢谢所有的帮助和建议,我真的需要解决这一步。

来自Martijn的建议

代码语言:javascript
复制
    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])
EN

回答 1

Stack Overflow用户

发布于 2012-10-11 00:58:18

Point对象上有raw_xraw_yraw_z属性;只需设置这些属性:

代码语言:javascript
复制
pt.raw_x = 309437.95
pt.raw_y = 6959999.84
pt.raw_z = 118.98

还有xyz属性;从源代码中不能立即看出这两种类型之间的区别:

代码语言:javascript
复制
pt.x = 309437.95
pt.y = 6959999.84
pt.z = 118.98

但是这个库可以直接从.las文件为您生成这些对象,不是吗?您之前遇到问题的File类肯定已经返回了这些对象。

既然您更新了一些代码,下面是一个可读性更好的版本:

代码语言:javascript
复制
pt = liblas.point.Point()
s = map(float, s.split())
pt.x, pt.y, pt.z = s[0], s[1], s[11]
pt.intensity, pt.return_number = s[3], s[4]
pt.number_of_returns, pt.scan_direction = s[5], s[6]
pt.flightline_edge, pt.classification = s[7], s[8]
pt.scan_angle = s[9]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12824457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档