+++ /dev/null
-#!/usr/bin/env plcsh
-
-import Image, ImageDraw
-
-def circle (image, percentX, percentY, radiusX, radiusY, colorIn, colorOut):
-
- imageX, imageY = image.size
- centerX = int(imageX*percentX)
- centerY = int(imageY*percentY)
- x = max (0, min (centerX,imageX))
- y = max (0, min (centerY,imageY))
-
- x1 = x - radiusX
- x2 = x + radiusX
- y1 = y - radiusY
- y2 = y + radiusY
-
- draw = ImageDraw.Draw (image)
- draw.chord((x1,y1,x2,y2), 0, 360, fill=colorIn, outline=colorOut )
- del draw
-
-def main ():
-
- path = '/var/www/html/'
- original = path + 'map.png'
- live = path + 'livemap.png'
-
- # map characteristics, in degrees.
- # latitude : positive is north
- # longitude : positive is east
- latitude={'top':65.,
- 'bottom': 35.5}
- longitude={'left':-11.,
- 'right':58.}
-
- # circle radius in pixels
- sx,sy=6,6
- # circle in and out colors
- cIn,cOut='#566b8a','#bbbbbb'
-
- image = Image.open(original)
-
- for site in GetSites():
- if site['longitude'] is not None and site['latitude'] is not None:
- px=float(longitude['left']-site['longitude'])/float(longitude['left']-longitude['right'])
- py=float(latitude['top']-site['latitude'])/float(latitude['top']-latitude['bottom'])
- if (px=0 or py=0 or px=1 or py=1)
- continue
-
- circle(image,px,py,sx,sy,cIn,cOut)
-
- image.save (live)
-
-if __name__ == '__main__':
- main ()