source: subversion/applications/rendering/kah/kah.py @ 28317

Last change on this file since 28317 was 11901, checked in by ojw, 11 years ago

fix argv - [1] is 1st arg?

File size: 2.6 KB
Line 
1from tilenames import *;
2from urllib import *
3from tilesetToFile import *
4import os
5import sys
6import zlib
7
8Kosmos = 'Kosmos\Console\Kosmos.Console.exe'
9
10
11def getMapData(N,W,S,E,Filename):
12    Servers = ("http://osmxapi.hypercube.telascience.org",
13               "http://xapi.openstreetmap.org",
14               "http://www.informationfreeway.org",
15               "http://osm.bearstech.com/osmxapi")
16
17    for Server in Servers:
18        URL = "%s/api/0.5/map?bbox=%f,%f,%f,%f" % (
19            Server,
20            W,S,E,N)
21        print URL
22        (Filename, headers) = urlretrieve(URL, Filename)
23        print headers
24        if(os.path.getsize(Filename) != 0):
25          return(1)
26    return(0)
27
28def tileGen(N,W,S,E,Filename,Tiledir):
29    # Create Kosmos project
30    ProjectFile = "render2.kpr"
31    createProject("Kosmos_AirNav_Rules",Filename,ProjectFile)
32
33    # Render it
34    Cmd = "%s tilegen %s %f %f %f %f %d %d -ts %s" % (
35        Kosmos,
36        ProjectFile,
37        S,W,N,E,
38        12,
39        17,
40        Tiledir)
41    os.system(Cmd)
42    return(1)
43
44def createProject(Rules,DataFile,ProjectFile):
45    f = open(ProjectFile, "w")
46    f.write("<KosmosProject Version=\"2.2\">\n")
47    f.write("<RulesSource><WikiPage>http://wiki.openstreetmap.org/index.php/%s</WikiPage></RulesSource>\n" % Rules)
48    f.write("<DataFiles><Osm><FilePath>%s</FilePath></Osm></DataFiles>\n" % DataFile)
49    f.write("</KosmosProject>\n")
50    f.close()
51
52def uploadTiles(Dir,x,y,z,layer, user, password):
53    packedFile = "packed.dat"
54    packTileset(Dir,x,y,z,packedFile)
55    uploadPackedFile(x,y,z,packedFile,layer, user, password)
56
57def uploadPackedFile(x,y,z,packedFile,layer, user, password):
58    print user
59    data = urlencode({
60      "x":x,
61      "y":y,
62      "z":z,
63      "layer":layer,
64      "user":user,
65      "password":password,
66      "compressed":1,
67      "data":zlib.compress(readfile(packedFile))
68      })
69    f = urlopen("http://dev.openstreetmap.org/~ojw/kah/upload.php", data)
70    response = f.read()
71    print "Response: %s" % response
72    f.close()
73
74
75
76if(__name__ == "__main__"):
77  user = sys.argv[1]
78  password = sys.argv[2]
79  (z,x,y) = (12, 2042, 1362)
80  (S,W,N,E) = tileEdges(x,y,z)
81
82  Filename = "data.osm"
83  Tiledir = "tiles"
84  Layer = "layer1"
85
86  if(0): # test
87    packTileset(Tiledir,x,y,z,"packed.dat")
88
89  if(1): # test
90    uploadPackedFile(x,y,z,"packed.dat",Layer, user, password)
91
92  if(0):
93    if(getMapData(N,W,S,E, Filename)):
94      if(tileGen(N,W,S,E, Filename, Tiledir)):
95        if(uploadTiles(Tiledir,x,y,z, Layer, user, password)):
96          pass
Note: See TracBrowser for help on using the repository browser.