-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtree.py
More file actions
30 lines (21 loc) · 1.03 KB
/
tree.py
File metadata and controls
30 lines (21 loc) · 1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'''
Abstraction for Sacramento's tree data
Tree.geometry will be used in future development to map trees
'''
class Tree:
def __init__(self, props, geometry):
self.address = str.join(' ', ((props['ADDRESS_NUMBER'] or ''), (props['STREET'] or ''), 'SACRAMENTO, CA'))
self.common_name = props['SPECIES'] or ''
self.scientific_name = props['BOTANICAL'] or ''
self.geometry = geometry
self.is_native = None
# format scientific name for easier comparison to flora database
def get_scientific_name(self):
return self.scientific_name.lower().replace('.', '').rstrip(' spp')
def set_native(self, native):
self.is_native = native
# pretty print tree objects for debugging
def __repr__(self):
return "<Tree common_name:%s, scientific_name:%s, address:%s>" % (self.common_name, self.scientific_name, self.address)
def __str__(self):
return "<Tree common_name:%s, scientific_name:%s, address:%s>" % (self.common_name, self.scientific_name, self.address)