1 from globalmaptiles import GlobalMercator
2 from xml.dom.minidom import parse
6 def __init__(self,kmlnode):
8 self.name = kmlnode.getElementsByTagName('name')[0].firstChild.data.encode("utf-8")
9 lons = kmlnode.getElementsByTagName('LookAt')[0].getElementsByTagName('longitude')[0].firstChild.data.encode("utf-8")
10 lats = kmlnode.getElementsByTagName('LookAt')[0].getElementsByTagName('latitude')[0].firstChild.data.encode("utf-8")
21 def getTile(self,zoomlevel):
22 mercator = GlobalMercator()
23 mx, my = mercator.LatLonToMeters( self.lat, self.lon )
24 tminx, tminy = mercator.MetersToTile( mx, my, zoomlevel )
25 gx, gy = mercator.GoogleTile(tminx, tminy, zoomlevel)#+1?
26 return gx,gy,zoomlevel
29 return "KmlPlace ('"+self.name+"','"+str(self.lat)+"','"+str(self.lon)+"')"
33 def __init__(self,kmlnode):
34 self.kmlnode = kmlnode
35 self.name = kmlnode.getElementsByTagName('name')[0].firstChild.data.encode("utf-8")
39 for i in self.kmlnode.getElementsByTagName('Folder'):
46 def getPlacemarks(self):
48 for i in self.kmlnode.getElementsByTagName('Placemark'):
50 try: # test if we can handle this coords
51 point.getTile(15)# 15 is just a zoomlevel in the middle :)
54 print "Import Error: ",point.name,e
62 def getFolderFromFile(self,filepath):
63 return KmlFolder(self.parseFile(filepath))
65 def parseFile(self,filepath):
66 print "parsing ",filepath
67 return parse(filepath)
69 def getFiles(self,path):
71 for file in listdir(path):
72 if file.endswith(self.extension):
73 list.append((file.split('.')[0],path+file))