Changeset 848
- Timestamp:
- 08/19/08 00:07:21 (4 months ago)
- Files:
-
- 1 modified
-
trunk/python/liblas/header.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/python/liblas/header.py
r813 r848 46 46 import vlr 47 47 48 def leap_year(year): 49 if (year % 400) == 0: 50 return True 51 elif (year % 100) == 0: 52 return True 53 elif (year % 4) == 0: 54 return True 55 return False 56 48 57 class Header(object): 49 58 def __init__(self, owned=True, handle=None): … … 139 148 day = core.las.LASHeader_GetCreationDOY(self.handle) 140 149 year = core.las.LASHeader_GetCreationYear(self.handle) 141 142 150 if year == 0 and day == 0: 143 151 return None 144 145 return datetime.datetime(year,1,1)+datetime.timedelta(day) 152 if not leap_year(year): 153 return datetime.datetime(year,1,1)+datetime.timedelta(day) 154 else: 155 return datetime.datetime(year,1,1)+datetime.timedelta(day-1) 146 156 def set_date(self, value=datetime.datetime.now()): 147 157 """Set the header's date from a datetime.datetime instance. … … 159 169 """ 160 170 delta = value - datetime.datetime(value.year,1,1) 161 core.las.LASHeader_SetCreationDOY(self.handle, delta.days) 171 if not leap_year(value.year): 172 core.las.LASHeader_SetCreationDOY(self.handle, delta.days) 173 else: 174 core.las.LASHeader_SetCreationDOY(self.handle, delta.days + 1) 162 175 core.las.LASHeader_SetCreationYear(self.handle, value.year) 163 176 date = property(get_date, set_date)
