>>> from liblas import point >>> p = point.Point() >>> p.x 0.0 >>> p.x = 1.0 >>> p.x 1.0 >>> p.raw_x 1 >>> p.y 0.0 >>> p.y = 2.0 >>> p.y 2.0 >>> p.raw_y 2 >>> p.z 0.0 >>> p.z = 3.0 >>> p.z 3.0 >>> p.raw_z 3 >>> p.return_number 0 >>> p.return_number = 3 >>> p.return_number 3 >>> p.number_of_returns 0 >>> p.number_of_returns = 4 >>> p.number_of_returns 4 >>> p.flightline_edge 0 >>> p.flightline_edge = 1 >>> p.flightline_edge 1 >>> p.scan_flags 163 >>> p.classification 0 >>> p.classification = 3 >>> p.classification 3 >>> p.user_data 0 >>> p.user_data = 163 >>> p.user_data 163 >>> p.scan_angle 0 >>> p.scan_angle = 45 >>> p.scan_angle 45 >>> import datetime >>> import math >>> import time >>> def get_td(): ... now = datetime.datetime.now() ... td = now.utcnow() - now # my timezone is GMT-5, would be GMT-7 for California (buildbot) ... isdst = time.localtime().tm_isdst ... if isdst: ... return int(math.floor(td.seconds/3600.0)) ... else: ... return int(math.floor(td.seconds/3600.0)) - 1 >>> td = datetime.timedelta(hours=get_td()) >>> p.time = datetime.datetime(2008,3,19,23,45,45,13434) >>> delta = p.time - datetime.datetime(2008,3,19,23,45,45,13434) >>> int(math.floor(delta.seconds/3600.0)) == get_td() or int(math.floor(delta.seconds/3600.0)) == get_td() + 1 True >>> p.time.microsecond 13434 >>> p.intensity 0 >>> p.intensity = 120 >>> p.intensity 120 >>> c = p.color >>> c.red 0 >>> c.red = 124 >>> c.red 124 >>> p.color = c >>> p.color.red 124 >>> p.xml '\n1231231203404511630Low Vegetation3falsefalsefalse12400' # # >>> import ctypes # >>> data = (ctypes.c_ubyte * 256)() # >>> data[10] # 0 # # >>> for i in range(256): # ... data[i] = 2+i # # >>> data[10] # 12 # >>> p.data = data # # # Ensure we can round trip the data # >>> [data[i] for i in range(10)] # [2, 3, 4, 5, 6, 7, 8, 9, 10, 11] # >>> [p.data[i] for i in range(10)] # [2, 3, 4, 5, 6, 7, 8, 9, 10, 11]