X-Git-Url: https://git.rvb.name/pyrungps.git/blobdiff_plain/9b3eba0f59aba21ee3f70755f6381d1e175f8d45..94f62add438cdf546fdae207ede72c05daf66c00:/render_tiles.py?ds=sidebyside diff --git a/render_tiles.py b/render_tiles.py deleted file mode 100644 index 3d95a85..0000000 --- a/render_tiles.py +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/env python -# coding: UTF-8 - -import sqlite3 -import math -from pprint import pprint - -def queue_render(db,filename,forced_max_zoom=None): - - conn = sqlite3.connect(db) - cur = conn.cursor() - - cur.execute("select minlat,minlon,maxlat,maxlon from tracks where filename=?" , (filename.decode('UTF-8'),)) - minlat,minlon,maxlat,maxlon=cur.fetchone() - queue_tiles(db,minlat,minlon,maxlat,maxlon,forced_max_zoom) - -def queue_tiles(db,minlat,minlon,maxlat,maxlon,forced_max_zoom=None): - - conn = sqlite3.connect(db) - - # определяем примерный стартовый зум - - minzoom=8 - if forced_max_zoom: - maxzoom=forced_max_zoom - else: - maxzoom=16 - - ins = conn.cursor() - print minlat,maxlat,minlon,maxlon,minzoom,maxzoom - ins.execute('insert into render_queue(minlat,maxlat,minlon,maxlon,minzoom,maxzoom) values(?,?,?,?,?,?)',(minlat,maxlat,minlon,maxlon,minzoom,maxzoom)) - - conn.commit() - -def process_queue(db,map,force=False): - - from os import system - - conn = sqlite3.connect(db) - cur = conn.cursor() - cur.execute('select id,minlat,maxlat,minlon,maxlon,minzoom,maxzoom from render_queue') - list=cur.fetchall() - - for rec in list: - - id,minlat,maxlat,minlon,maxlon,minzoom,maxzoom=rec - - command = 'map='+map+ \ - ' z='+str(minzoom)+'-'+str(maxzoom)+ \ - ' lat='+str(minlat)+','+str(maxlat)+ \ - ' lon='+str(minlon)+','+str(maxlon) - - if force: - command = 'tirex-batch -n 0 '+command - else: - command = 'tirex-batch -n 0 '+command+' -f not-exists' - - print command - - if system(command)==0: - dcur=conn.cursor() - dcur.execute('delete from render_queue where id=?',(id,)) - conn.commit() - -def main(): - - from optparse import OptionParser - - parser = OptionParser() - parser.add_option("-d", "--data", dest="directory", - help="Data directory", metavar="DIR") - parser.add_option("-m", "--map", dest="map", - help="Map name", metavar="MAP") - parser.add_option("-z", "--zoom", dest="zoom", - help="Maximal zoom (forced), used with coordinates pairs (minlat minlon maxlat maxlon) or filename in arguments", metavar="MAP") - parser.add_option("-f", "--force", dest="force", - help="Force tile regeneration (on/off), default off") - (options, args) = parser.parse_args() - - print options,args - - db=options.directory+'/gpx.db' - map=options.map - zoom=options.zoom - force=(options.force=='on') - - if zoom: - if len(args)==1: - filename,=args - print "Rendering file: "+filename+"\n" - queue_render(db,filename) - else: - minlat,minlon,maxlat,maxlon=args - queue_tiles(db,float(minlat),float(minlon),float(maxlat),float(maxlon),int(zoom)) - - if map: - process_queue(db,map,force) - -if __name__ == "__main__": - - main() - \ No newline at end of file