Daniel Poelzleithner wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi, > > I'm using django and basemap to render tiles i can use to make an > overlay on google maps. I'm using this to generate a topology of an open > mesh network (freifunk) here in leipzig :) > On my local developing machine this works very nice and due heavy > caching of database lookups it doesn't seem slow. My problem is, that > the production machine isn't that fast and has to little memory :( > > Now I'm thinking of a better algorithm to generate the tiles. Currently > they are generated on demand and then saved to disc for later usage. But > the topology is fetched every 10 minutes, so the disc files timeout > relative fast. > > my current algorithm looks like this: > > fetch all node positions and cache them through pickle. > These are rendered as small blue dots on the map (Yes, here I can > optimize to only call plot when the node is in boundries of the tile. > > then all connections for the last topo are fetched and cached. > Now there is a problem, I have to plot all connections into the plot, > because it's not easy to say which lines are actually in the tile. I > haven't looked deep into matplotlib to know how optimized it already > ignores plots which are out of bound. > > Now I'm asking my self: is it possible to make a basemap instance with > some lat/lng borders, plot all stuff in it, and then move the borders to > get a new tile which is next to the last one ? Would such a algorithm be > faster then the current one ? > > If not, there is also the posibility to create one large image at > largest zoomlevel for the most used region and then cut and scale the > image until all tiles are generated. > > You can find the sourcecode at: > http://ff-firmware.quamquam.org/trac/browser/ffsomething/trunk/apps/uptime/topoimg.py > mktopo() is acutally doing the work :) > > kindly regards > Daniel >
Daniel: If you know what the lat/lon boundaries of all the tiles are beforehand, you can create Basemap instances for all those tiles once, then save them to pickles and have the app just load those pickles on demand. That way you will avoid the overhead of creating the Basemap instances, which can be significant, especially when higher resolution boundaries are used (since all of those boundaries have to be transformed from geographic to projection coordinates when the instance is created). -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : [EMAIL PROTECTED] 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users