A script I started a while ago to save time developing zoning envelopes for our projects in New York.
It uses the City Planning open database of GIS maps along with land use and geographic metadata at the tax lot level in CSV format.
The input is simply an attractor point that is dragged around to select a tax lot. The relevant zoning information are pulled from the CSV file to determine the FAR, setbacks, sky exposure planes, rear yard equivalent etc. A maximum zoning envelope is created using this information and other user input information such as floor to floor height.