On Apr 24, 8:56 am, "Neil.Young" <neil.yo...@freenet.de> wrote: > return > Math.round(offset-radius*Math.log((1+Math.sin(y*Math.PI/180))/(1-Math.sin(y*Math.PI/180)))/2); > ... > z=Math.sqrt(((z*z)/(x*x+y*y))); > z=Math.log(z)/Math.log(factor); > ... > Integer arithmetic? A couple of month ago I ported adjust.js to Python. > Adjust.js is using the same kind of LtoXY things. Compared to > "classical" solutions for converting a lat/lon to an image coordinate > adjust.js was _dimensions_ slower... Didn't try this packer stuff in > comparison to others, but - where is the super fast integer arithmetic here? > > Wally schrieb:
The LLToXY stuff is done once outside the main loop. The "log" stuff is also done once outside the main loop. The "other" encoders determine zoom levels with brute force comparison loops. Packer uses built-in math functions without a loop. The essence of the Douglas-Peucker point reduction algorithm is determining the height of triangles. Packer uses pixels which are fixed point numbers. The "other" encoders use Lat/Lon coordinates which are floating point numbers. Packer does it in-line without function calls. The "other" encoders use several levels of nested function calls. Packer splits each segment twice in a single pass. The "other" encoders split each segment once per pass. Packer avoids recursive function calls by expanding the stack in-line. Packer also splits polygons into sensible polylines rather than blindly applying D- P to the entire poly. Try both on complex polys. The "other" encoders frequently crap out with a "script is running slowly" message. Packer can often handle the same polys. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Google Maps API" group. To post to this group, send email to Google-Maps-API@googlegroups.com To unsubscribe from this group, send email to google-maps-api+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/Google-Maps-API?hl=en -~----------~----~----~----~------~----~------~--~---