Implements constrained zooming of an image constructed from a data-driven ImageData object placed onto an HTML5 Canvas. Borrows heavily from https://gist.github.com/mbostock/3074470.
Tom McTavish tommct
After spending many hours trying to get FreeTDS and unixodbc to run on a Mac OS X 10.8 system with the python module, pyodbc, I eventually came to this recipe, which is remarkably simple thanks to homebrew. I also found unixodbc was unnecessary and I couldn't get it to play well with FreeTDS, so this install does not include unixodbc. See also http://www.acloudtree.com/how-to-install-freetds-and-unixodbc-on-osx-using-homebrew-for-use-with-ruby-php-and-perl/ and http://www.cerebralmastication.com/2013/01/installing-debugging-odbc-on-mac-os-x/.
Prerequisites: Be sure you have XCode and the Commandline Tools for XCode installed from Apple. Also install homebrew followed with
brew update and
brew install freetds
Test your install:
This is my own mods to http://www.lowindata.com/2013/installing-scientific-python-on-mac-os-x/, which describes a scientific python environment install on Mac OS X. See also https://github.com/fonnesbeck/ScipySuperpack.
Install XCode and Commandline tools for XCode from Apple.
Also install http://mxcl.github.io/homebrew/ and run
brew update and
brew doctor to make sure homebrew is installed correctly.
Then, you can run the following commands (I recommend one at a time so that you can deal with any errors or important warnings):
brew install python brew install gfortran pip install --upgrade pip
This D3 example demonstrates using the zoom event and limits the bounds of the zooming to a specified domain. It is largely based on http://bl.ocks.org/jasondavies/3689931, but with bounds. Most of this bounding is done in the refresh function. You need to zoom in before you can pan or zoom out.