diff options
Diffstat (limited to 'layers.py')
| -rw-r--r-- | layers.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/layers.py b/layers.py new file mode 100644 index 0000000..38aeba4 --- /dev/null +++ b/layers.py @@ -0,0 +1,48 @@ +from PIL import Image +from latLng import latLng + +class layer: + """a generic GPS image layer""" + tl=latLng() + br=latLng() + pixel=latLng() + def __init__(self,file,ll1,ll2): + try: + self.image=Image.open(file) + except: + print "gps layer: failed to open", file + try: + self.tl.parse(ll1) + self.br.parse(ll2) + self.pixsize=latLng(abs(self.tl.lat-self.br.lat)/self.image.size[1],abs(self.tl.lng-self.br.lng)/self.image.size[0]) + except: + print "gps layer: failed to parse", file + def findpixel(self,pos): + return latLng(int((pos.lng-self.tl.lng)/self.pixsize.lng),int((pos.lat-self.br.lat)/self.pixsize.lat)) + def checkcoord(self,pos): + p=self.findpixel(pos) + if p!=self.pixel: + self.pixel=p + return self.setcoord(p) + else: + return None + def setcoord(self,pos): + return str(1.0) + +class trigger(): + """a generic trigger - + id can be anything - + i.e. a string or an integer""" + def __init__(self,id,command,param): + self.id=id + self.command=(command,param) + def check(self,id): + if id==self.id: + return command + else: + return None + +class indexlayer(layer): + triggers=[] + def setcoord(self,pos): + return str(1)
\ No newline at end of file |
