CINXE.COM

The Skyscraper Center

<!doctype html> <html> <head> <title> The Skyscraper Center </title> <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link href="/css/app.css?id=761309c79defbc5ea6113ee413264d5d" rel="stylesheet"> <link href="/css/header.css" rel="stylesheet"> <link href="/css/footer.css" rel="stylesheet"> <link href="/css/leaflet.css" rel="stylesheet"> <link href="/ammap/ammap.css" rel="stylesheet"> <link href="/css/jquery.dataTables.css" rel="stylesheet"> <link href="//cdn.jsdelivr.net/qtip2/2.2.1/jquery.qtip.min.css" rel="stylesheet"> <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.13.1/css/all.css"/> <link href="/css/redesign.css" rel="stylesheet"> <link href="/css/daterangepicker.css" rel="stylesheet"> <script src="//code.jquery.com/jquery-1.12.4.js"></script> <script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script> <!-- If jQuery object returns an error (e.g. blocked in China) fallback to this CDN --> <script> window.jQuery || document.write('<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"><\/script>');</script> <script src="//cdn.jsdelivr.net/algoliasearch/3/algoliasearch.min.js"></script> <script src="//cdn.jsdelivr.net/algoliasearch.helper/2.0.0/algoliasearch.helper.min.js"></script> <script src="/js/hogan.min.js"></script> <meta name="ahrefs-site-verification" content="f4a7c1f487f026a914b62841800a2ba00d7895ada65dc7fbe022594f59d86217"> <meta name="csrf-token" content="mA5CUVexzJS5UNTPfdDyrS0dERQVITTqrUUy5ajw"> <link href="/css/fontawesome.css" rel="stylesheet"> <!-- Nonprofit Megaphone --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KFPD4XQ');</script> <!-- End Google Tag Manager --> <!-- Feathr --> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MQDW5G5');</script> <!-- End Google Tag Manager --> <!-- Higher Logic Tracking --> <script> //------------------------------------------------------- var z_account = "11EDD4B0-5CF3-4EA7-86C9-12A1F420BD71"; var z_collector = "CTBUH.informz.net"; var z_cookieDomain = ".skyscrapercenter.com"; //------------------------------------------------------- (function (e, o, n, r, t, a, s) { e[t] || (e.GlobalSnowplowNamespace = e.GlobalSnowplowNamespace || [], e.GlobalSnowplowNamespace.push(t), e[t] = function () { (e[t].q = e[t].q || []).push(arguments) }, e[t].q = e[t].q || [], a = o.createElement(n), s = o.getElementsByTagName(n)[0], a.async = 1, a.src = r, s.parentNode.insertBefore(a, s)) }(window, document, "script", "https://cdn.informz.net/web_trk/sp.js", "informz_trk")), informz_trk("newTracker", "infz", z_collector + "/web_trk/collector/", { appId: z_account, cookieDomain: z_cookieDomain }), informz_trk("setUserIdFromLocation", "_zs"), informz_trk("enableActivityTracking", 30, 15); informz_trk("trackPageView", null); </script> <!-- End Higher Logic Tracking --> </head> <body class="antialiased font-body"> <!-- Nonprofit Megaphone --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KFPD4XQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- Feathr --> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MQDW5G5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="app"> <div id='header'> <div class="flex flex-wrap"> <div id="top-nav-menu" class="w-full text-white lg:pt-4 px-4"> <nav class="container flex items-center flex-wrap justify-end"> <div class="flex mobile-show-hide-nav top-nav-block"> <a class="block ml-2 lg:ml-6 my-3 lg:inline-block lg:mt-0 mr-4 cursor-pointer" onclick="showModal();">Sign Up</a> <a class="block ml-2 lg:ml-6 my-3 lg:inline-block lg:mt-0 mr-4" href="https://www.ctbuh.org/membership">Join</a> <a class="block ml-2 lg:ml-6 my-3 lg:inline-block lg:mt-0 mr-4" href='https://store.ctbuh.org' target="_blank">Shop</a> <a class="block ml-2 lg:ml-6 my-3 lg:inline-block lg:mt-0 mr-4 " href="/oauth/login">Login</a> <ul class="list-reset lg:flex md:items-center lg:h-8 sub-menu"> <li class="mb-12 lg:mb-0"> </li> </ul> <img id="search-top-img" src="/img/icons/search.png"> <img id="close-search-input" src="/img/icons/close-menu.png"> <div id='search-top-container'> <div id='header-search'> <form class='form-inline custom-search-form' action='/search' method='get' style="margin: 0"> <input type='text' class='input-xlarge typeahead search-inputs rounded p-1 text-black' name='q' autocomplete='off' spellcheck='false' placeholder="Search Buildings, Companies & Locations" /> </form> <script type='text/javascript'> $(document).ready(function () { var ctbuh_url = "https://www.ctbuh.org"; var algolia = algoliasearch('VQAAT9TYC4', 'eec96cb29df3072743c09f1cbb793281'); var algoliaCTBUH = algolia.initIndex('www_sitewide_search'); var algoliaCompanies = algolia.initIndex('SC_Companies'); var algoliaPeople = algolia.initIndex('v2_people'); var algoliaBuildings = algolia.initIndex('SC_Buildings'); var algoliaComplexes = algolia.initIndex('SC_Complexes'); var algoliaCities = algolia.initIndex('v2_cities'); var algoliaCountries = algolia.initIndex('v2_countries'); var templateCTBUH = Hogan.compile('<div class="main-site"><a href="{{ url }}"><span class="text-black block">{{ title }} <small>({{ type }})</small></span></a></div>'); var templateCompany = Hogan.compile('<div class="company"><a href="/company/{{ id }}"><span class="text-black block">{{{ _highlightResult.name.value }}}</span></a></div>'); var templatePerson = Hogan.compile('<div class="person"><a href="{{ profile_link }}"><span class="text-black block">{{{ name }}}</span></a></div>'); var templateBuilding = Hogan.compile('<div class="building"><a href="{{ url }}"><span class="text-black block">{{{ nameToUse }}}{{{ cityToUse }}}</span></a></div>'); var templateComplex = Hogan.compile('<div class="complex"><a href="{{ url }}"><span class="text-black block">{{{ nameToUse }}}{{{ cityToUse }}}</span></a></div>'); var templateCity = Hogan.compile('<div class="city"><a href="/city/{{ url_name }}"><span class="text-black block">{{ name }}</span></a></div>'); var templateCountry = Hogan.compile('<div class="country"><a href="/country/{{ url_name }}"><span class="text-black block">{{ name }}</span></a></div>'); var typeaheadCtrl = $('.search-inputs').typeahead({ minLength: 3, hint: false, highlight: false }, [ { source: algoliaCTBUH.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'title', templates: { header: "<div class='category'>CTBUH</div>", suggestion: function (hit) { return templateCTBUH.render(hit); }, } }, { source: algoliaPeople.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict', filters: 'public_search = 1' }), displayKey: 'name', templates: { header: "<div class='category'>People</div>", suggestion: function (hit) { hit.url = hit.profile_link; return templatePerson.render(hit); }, } }, { source: algoliaBuildings.ttAdapter({ hitsPerPage: 4, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Buildings</div>", suggestion: function (hit) { var cityToUse = ''; var nameToUse = hit._highlightResult.name.value; if (hit.city != '') { cityToUse = ' <small>(' + hit.city + ')</small>'; } hit.cityToUse = cityToUse; hit.nameToUse = nameToUse; return templateBuilding.render(hit); } } }, { source: algoliaComplexes.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Building Complexes</div>", suggestion: function (hit) { var cityToUse = ''; var nameToUse = hit._highlightResult.name.value; if (hit.city != '') { cityToUse = ' <small>(' + hit.city + ')</small>'; } hit.cityToUse = cityToUse; hit.nameToUse = nameToUse; return templateComplex.render(hit); } } }, { source: algoliaCompanies.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Companies</div>", suggestion: function (hit) { hit.url = '/company/' + hit.id; return templateCompany.render(hit); }, } }, // add CITY + COUNTRY { source: algoliaCities.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Cities</div>", suggestion: function (hit) { if (hit.slug) { hit.url_name = hit.slug; } else { hit.url_name = hit.name.replace(/ /g, '-').toLowerCase(); } return templateCity.render(hit); }, } }, { source: algoliaCountries.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Countries</div>", suggestion: function (hit) { hit.url_name = hit.name.replace(/ /g, '-').toLowerCase(); return templateCountry.render(hit); }, } } // this is the end ]); typeaheadCtrl.on('typeahead:selected', function (evt, data) { if (false && typeof data.url === "undefined") { alert(JSON.stringify(data)); } else { window.location = 'https://' + window.location.host + data.url; } }); // Append view all link var AllResults = document.getElementsByClassName('all-results'); if (AllResults.length == 0) { $('.tt-dropdown-menu').append('<h5 class="category all-results"><a id="view-all-link" href="/search"><span class="text-black">View all results</span></a></h5>'); } $('#view-all-link').on('click', function (e) { e.preventDefault(); window.location = '/search#q=' + $('.search-inputs').val(); }); // Append Algolia credit var AlgoliaCredits = document.getElementsByClassName('powered-by-algoliasearch'); if (AlgoliaCredits.length == 0) { $('.tt-dropdown-menu').append('<div class="powered-by-algoliasearch"><small><em>Powered by</em></small><a href="https://www.algolia.com/?utm_source=skyscrapercenter&amp;utm_medium=link&amp;utm_campaign=skyscrapercenter_search" title="Algolia Realtime Search" target="_blank"><img src="/img/algolia.png" alt="Algolia Realtime Search" width="48" height="15"></a></div>'); } }); </script> </div> </div> </div> </nav> </div> <div class="container order-first flex justify-between items-center lg:order-last pb-3"> <div id='header-middle-nav' class='flex justify-between w-full flex-wrap'> <div id="logo-img-container" class='flex items-center pt-2'> <a class='inline-block' href='https://www.ctbuh.org'> <img src='/img/CTBUH-Logo.png' class="hidden md:block" alt='Council on Tall Buildings and Urban Habitat'/> <div class="block md:hidden text-center py-1 w-full"> <img src="https://cloud.ctbuh.org/www/common/CTBUH2-logo-white.png" alt='Council on Tall Buildings and Urban Habitat'> </div> </a> </div> <div class="flex items-center justify-end"> <img id="search-mobile-img" class="lg:hidden lg:mt-0" src="/img/icons/search.png"> <img id="search-mobile-img-close" class="lg:hidden lg:mt-0" src="/img/icons/close-menu.png"> <img id="mobile-menu-open-button" class="ml-6 lg:hidden lg:mt-0" src="/img/icons/open-menu.png"> <img id="mobile-menu-close-button" class="ml-6 lg:mt-0" src="/img/icons/close-menu.png"> </div> <div class='col-span-1 md:col-span-2 lg:flex flex-row-reverse items-end mobile-show-hide-nav'> <nav class="flex-row lg:justify-between lg:mx-0 pt-12 lg:pt-0" id="middle-nav-nav"> <ul class="pl-4 lg:pl-0 list-reset lg:flex md:items-center lg:h-8" id="header-menu-middle"> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>Database</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/buildings" target="_self"> Tallest Building Lists </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/explore-data" target="_self"> Explore Building Data </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/map" target="_self"> Interactive Map </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/cities" target="_self"> Cities </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/countries" target="_self"> Countries </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/resource/height" target="_self"> Tall Building Criteria </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/buildings-of-distinction" target="_self"> Buildings of Distinction </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/height-calculator" target="_self"> Height Calculator </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://talltimbercenter.com/" target="_blank"> Tall Timber Center </a> </li> </ul> </div> </li> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>News &amp; Events</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/global-news" target="_self"> Tall & Urban News </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/events/calendar" target="_self"> Calendar </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/events/conferences" target="_self"> Conferences </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://awards.ctbuh.org/" target="_blank"> Awards Program </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/ctbuh-news" target="_self"> CTBUH News </a> </li> </ul> </div> </li> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>Research &amp; Advocacy</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/research/projects" target="_self"> Research Projects </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://store.ctbuh.org/12-books-reports" target="_blank"> Publications </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/data-studies" target="_self"> Data Studies </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/resource/research-papers" target="_self"> Research Papers </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/videos" target="_self"> Video Library </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://caf.ctbuh.org/" target="_self"> City Advocacy Forum </a> </li> </ul> </div> </li> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>Partnerships</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://issuu.com/ctbuh/docs/ctbuh2025_sponsorship_brochure_digital" target="_blank"> Conference Sponsorship </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://partner.ctbuh.org/" target="_blank"> Program Partnerships </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/academic/funding-and-competitions" target="_self"> Funding and Competitions </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/academic/collaborations" target="_self"> Academic Collaborations </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/academic/masters-program" target="_self"> Masters Program </a> </li> </ul> </div> </li> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>Membership</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/membership" target="_self"> Why Join? </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/about/regional-representation" target="_self"> Chapters & Regions </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/committees" target="_self"> Committees </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.skyscrapercenter.com/companies" target="_self"> Member Companies </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/people" target="_self"> People </a> </li> </ul> </div> </li> <li class="ml-6 mb-12 lg:mb-0 lg:ml-6"> <a href='#'>About</a> <i class='show-sub-menu mr-6 fas fa-angle-right'></i> <div class="sub-menu-items-container"> <ul> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/about" target="_self"> About CTBUH </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/about/leadership" target="_self"> Leadership </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/history" target="_self"> History </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/about/contact" target="_self"> Offices & Staff </a> </li> <li class="mb-12 lg:mb-2"> <a href="https://www.ctbuh.org/about/careers" target="_self"> Careers </a> </li> </ul> </div> </li> </ul> </nav> </div> </div> </div> </div> <div id='search-middle-container' class="w-full"> <div id='header-search'> <form class='form-inline custom-search-form' action='/search' method='get' style="margin: 0"> <input type='text' class='input-xlarge typeahead search-inputs rounded p-1 text-black' name='q' autocomplete='off' spellcheck='false' placeholder="Search Buildings, Companies & Locations" /> </form> <script type='text/javascript'> $(document).ready(function () { var ctbuh_url = "https://www.ctbuh.org"; var algolia = algoliasearch('VQAAT9TYC4', 'eec96cb29df3072743c09f1cbb793281'); var algoliaCTBUH = algolia.initIndex('www_sitewide_search'); var algoliaCompanies = algolia.initIndex('SC_Companies'); var algoliaPeople = algolia.initIndex('v2_people'); var algoliaBuildings = algolia.initIndex('SC_Buildings'); var algoliaComplexes = algolia.initIndex('SC_Complexes'); var algoliaCities = algolia.initIndex('v2_cities'); var algoliaCountries = algolia.initIndex('v2_countries'); var templateCTBUH = Hogan.compile('<div class="main-site"><a href="{{ url }}"><span class="text-black block">{{ title }} <small>({{ type }})</small></span></a></div>'); var templateCompany = Hogan.compile('<div class="company"><a href="/company/{{ id }}"><span class="text-black block">{{{ _highlightResult.name.value }}}</span></a></div>'); var templatePerson = Hogan.compile('<div class="person"><a href="{{ profile_link }}"><span class="text-black block">{{{ name }}}</span></a></div>'); var templateBuilding = Hogan.compile('<div class="building"><a href="{{ url }}"><span class="text-black block">{{{ nameToUse }}}{{{ cityToUse }}}</span></a></div>'); var templateComplex = Hogan.compile('<div class="complex"><a href="{{ url }}"><span class="text-black block">{{{ nameToUse }}}{{{ cityToUse }}}</span></a></div>'); var templateCity = Hogan.compile('<div class="city"><a href="/city/{{ url_name }}"><span class="text-black block">{{ name }}</span></a></div>'); var templateCountry = Hogan.compile('<div class="country"><a href="/country/{{ url_name }}"><span class="text-black block">{{ name }}</span></a></div>'); var typeaheadCtrl = $('.search-inputs').typeahead({ minLength: 3, hint: false, highlight: false }, [ { source: algoliaCTBUH.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'title', templates: { header: "<div class='category'>CTBUH</div>", suggestion: function (hit) { return templateCTBUH.render(hit); }, } }, { source: algoliaPeople.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict', filters: 'public_search = 1' }), displayKey: 'name', templates: { header: "<div class='category'>People</div>", suggestion: function (hit) { hit.url = hit.profile_link; return templatePerson.render(hit); }, } }, { source: algoliaBuildings.ttAdapter({ hitsPerPage: 4, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Buildings</div>", suggestion: function (hit) { var cityToUse = ''; var nameToUse = hit._highlightResult.name.value; if (hit.city != '') { cityToUse = ' <small>(' + hit.city + ')</small>'; } hit.cityToUse = cityToUse; hit.nameToUse = nameToUse; return templateBuilding.render(hit); } } }, { source: algoliaComplexes.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Building Complexes</div>", suggestion: function (hit) { var cityToUse = ''; var nameToUse = hit._highlightResult.name.value; if (hit.city != '') { cityToUse = ' <small>(' + hit.city + ')</small>'; } hit.cityToUse = cityToUse; hit.nameToUse = nameToUse; return templateComplex.render(hit); } } }, { source: algoliaCompanies.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Companies</div>", suggestion: function (hit) { hit.url = '/company/' + hit.id; return templateCompany.render(hit); }, } }, // add CITY + COUNTRY { source: algoliaCities.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Cities</div>", suggestion: function (hit) { if (hit.slug) { hit.url_name = hit.slug; } else { hit.url_name = hit.name.replace(/ /g, '-').toLowerCase(); } return templateCity.render(hit); }, } }, { source: algoliaCountries.ttAdapter({ hitsPerPage: 3, replaceSynonymsInHighlight: false, typoTolerance: 'strict' }), displayKey: 'name', templates: { header: "<div class='category'>Countries</div>", suggestion: function (hit) { hit.url_name = hit.name.replace(/ /g, '-').toLowerCase(); return templateCountry.render(hit); }, } } // this is the end ]); typeaheadCtrl.on('typeahead:selected', function (evt, data) { if (false && typeof data.url === "undefined") { alert(JSON.stringify(data)); } else { window.location = 'https://' + window.location.host + data.url; } }); // Append view all link var AllResults = document.getElementsByClassName('all-results'); if (AllResults.length == 0) { $('.tt-dropdown-menu').append('<h5 class="category all-results"><a id="view-all-link" href="/search"><span class="text-black">View all results</span></a></h5>'); } $('#view-all-link').on('click', function (e) { e.preventDefault(); window.location = '/search#q=' + $('.search-inputs').val(); }); // Append Algolia credit var AlgoliaCredits = document.getElementsByClassName('powered-by-algoliasearch'); if (AlgoliaCredits.length == 0) { $('.tt-dropdown-menu').append('<div class="powered-by-algoliasearch"><small><em>Powered by</em></small><a href="https://www.algolia.com/?utm_source=skyscrapercenter&amp;utm_medium=link&amp;utm_campaign=skyscrapercenter_search" title="Algolia Realtime Search" target="_blank"><img src="/img/algolia.png" alt="Algolia Realtime Search" width="48" height="15"></a></div>'); } }); </script> </div> </div> </div> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $('#header-menu-middle li, .sub-menu li').hover(function () { if (!/Android|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { $(this).find('.sub-menu-items-container').show(); } }); $('#header-menu-middle li, .sub-menu li').mouseleave(function () { $(this).find('.sub-menu-items-container').css('display', 'none'); }); $('#header-menu-middle li, .sub-menu li').click(function (event) { $(this).find('.sub-menu-items-container').toggle(); $(this).find('.show-sub-menu').toggleClass('fa-angle-right'); $(this).find('.show-sub-menu').toggleClass('fa-angle-down'); }); $('#search-top-img').click(function () { $('#search-top-container').css('display', 'block'); $('#close-search-input').css('display', 'inline-block'); $(this).hide(); }) $('#close-search-input').click(function () { $('#search-top-container').hide(); $('#close-search-input').hide(); $('#search-top-img').css('display', 'inline-block'); }) var open = $('#mobile-menu-open-button'); var close = $('#mobile-menu-close-button'); open.click(function () { $('.mobile-show-hide-nav').css('display', 'flex'); $('.top-nav-block').css('display', 'block'); open.hide(); close.css('display', 'inline-block'); }); close.click(function () { $('.mobile-show-hide-nav').hide(); close.hide(); open.show(); $('#search-middle-container').hide(); $('#logo-img-container a').show(); $('#search-mobile-img').show(); }); $('#search-mobile-img').click(function () { $('#search-middle-container').show(); $('#search-mobile-img').hide(); $('#search-mobile-img-close').show(); }); $('#search-mobile-img-close').click(function () { $('#search-middle-container').hide(); $('#search-mobile-img-close').hide(); $('#search-mobile-img').show(); }) }); </script> <div class="body-content"> <div class="section-new section-new--title"> <div class="container"> <h1>Height Calculator</h1> <p>CTBUH can calculate approximate building heights based on analyzing hundreds of buildings of the same function in this database that have confirmed heights, based on floor counts. Alternatively, you can determine the appropriate floor count from a known building's height. Generate your own height estimate below:</p> <p> <small>The user should be aware that non-standard building features, such as significant spires or raised entrances / podiums, may affect the accuracy of these estimations. For more information, please read the <a href="https://www.ctbuh.org/resource/height">CTBUH Height Criteria</a>.</small> </p> </div> </div> <div class="section-new section-new--body"> <div class="container"> <div class="flex flex-wrap"> <div class="w-full md:w-1/3 pr-4"> <div> <div class="filter-label inline-block"> Function </div> <div class="con-tooltip relative inline-block"> <i class="fal fa-info-circle text-lightgray"></i> <div class="tooltip bg-white border-1 border-lightgray"> A single-function tall building is defined as one where 85% or more of its usable floor area is dedicated to a single usage. Thus a building with 90% office floor area would be said to be an &quot;office&quot; building, irrespective of other minor functions it may also contain. <br><br> A mixed-use tall building contains two or more functions (or uses), where each of the functions occupy a significant proportion of the tower's total space. Support areas such as car parks and mechanical plant space do not constitute mixed-use functions. Functions are denoted on CTBUH "Tallest Building" lists in descending order, e.g., "hotel/office" indicates hotel function above office function. </div> </div> </div> <p> <select id="function" class="height-calculator-function w-full mt-3 pr-10 py-4 px-3 focus:outline-none text-darkgray border border-lightgray"> <option value="office"> Single Use: Office </option> <option value="residential"> Single Use: Residential </option> <option value="hotel"> Single Use: Hotel </option> <option value="other-single"> Singe Use: Large floor-to-floor </option> <option value="office-residential"> Mixed Use: Office &amp; Residential </option> <option value="hotel-office"> Mixed Use: Office &amp; Hotel </option> <option value="hotel-residential"> Mixed Use: Residential &amp; Hotel </option> <option value="other-mixed"> Mixed Use: Large floor-to-floor </option> </select> </p> <p id="function-description">&nbsp;</p> </div> <div class="w-full md:w-1/3 pr-4"> <div> <div class="filter-label inline-block"> Floors Above Ground </div> <div class="con-tooltip relative inline-block"> <i class="fal fa-info-circle text-lightgray"></i> <div class="tooltip bg-white border-1 font-normal"> The number of floors above ground should include the ground floor level and be the number of main floors above ground, including any significant mezzanine floors and major mechanical plant floors. Mechanical mezzanines should not be included if they have a significantly smaller floor area than the major floors below. Similarly, mechanical penthouses or plant rooms protruding above the general roof area should not be counted. Note: CTBUH floor counts may differ from published accounts, as it is common in some regions of the world for certain floor levels not to be included (e.g., the level 4, 14, 24, etc. in Hong Kong). </div> </div> </div> <p> <input type="text" id="floor-count" class="w-full mt-3 pr-10 py-4 px-3 focus:outline-none text-darkgray border border-lightgray"/> </p> <p> <a id="generate-height" class="w-full sm:w-64 block md:inline-block mx-0 border-solid border-2 border-darkblue hover:bg-darkblue hover:bg-opacity-25 text-center font-medium text-darkblue px-4 py-4" href="javascript:void(0)"> Generate Height </a> </p> </div> <div class="w-full md:w-1/3 pr-4"> <div> <div class="filter-label inline-block"> Height (m) </div> <div class="con-tooltip relative inline-block"> <i class="fal fa-info-circle text-lightgray"></i> <div class="tooltip bg-white border-1 font-normal"> Height is measured from the level of the lowest, significant, open-air, pedestrian entrance to the architectural top of the building, including spires, but not including antennae, signage, flag poles or other functional-technical equipment. This measurement is the most widely utilized and is employed to define the Council on Tall Buildings and Urban Habitat (CTBUH) rankings of the &quot;World&#039;s Tallest Buildings.&quot; </div> </div> </div> <p> <input type="text" id="height" class="w-full mt-3 pr-10 py-4 px-3 focus:outline-none text-darkgray border border-lightgray"/> </p> <p> <a id="generate-floor-count" class="w-full sm:w-64 block md:inline-block mx-0 border-solid border-2 border-darkblue hover:bg-darkblue hover:bg-opacity-25 text-center font-medium text-darkblue px-4 py-4" href="javascript:void(0)"> Generate Floor Count </a> </p> </div> </div> <div id="results-container" class="flex hidden mt-2"> <div class="w-full"> <div id="results-label" class="filter-label">Result:</div> <p id="results-value" class="text-3xl font-bold"> 0 m (0 ft) </p> <p id="results-information"> &nbsp; </p> </div> </div> <script type="text/javascript"> const heightEstimationMetrics = $.parseJSON('{"office":{"function_key":"office","number_buildings":7178,"height_per_floor":4.3871,"label":"Single Use: Office","description":"85% or greater of total gross floor area (GFA) or building height","displayOrder":1},"residential":{"function_key":"residential","number_buildings":9480,"height_per_floor":3.4175,"label":"Single Use: Residential","description":"85% or greater of total gross floor area (GFA) or building height","displayOrder":2},"hotel":{"function_key":"hotel","number_buildings":1223,"height_per_floor":3.833,"label":"Single Use: Hotel","description":"85% or greater of total gross floor area (GFA) or building height","displayOrder":3},"other-single":{"function_key":"other-single","number_buildings":436,"height_per_floor":7.1718,"label":"Singe Use: Large floor-to-floor","description":"For example, retail, hospital, school, with 85% or greater of total gross floor area (GFA) or building height","displayOrder":4},"office-residential":{"function_key":"office-residential","number_buildings":484,"height_per_floor":3.9147,"label":"Mixed Use: Office & Residential","description":"At least 15% of total gross floor area (GFA) or building height each","displayOrder":5},"hotel-office":{"function_key":"hotel-office","number_buildings":416,"height_per_floor":4.4223,"label":"Mixed Use: Office & Hotel","description":"At least 15% of total gross floor area (GFA) or building height each","displayOrder":6},"hotel-residential":{"function_key":"hotel-residential","number_buildings":346,"height_per_floor":3.7512,"label":"Mixed Use: Residential & Hotel","description":"At least 15% of total gross floor area (GFA) or building height each","displayOrder":7},"other-mixed":{"function_key":"other-mixed","number_buildings":697,"height_per_floor":5.4647,"label":"Mixed Use: Large floor-to-floor","description":"For example, retail, hospital, school, with at least 15% total gross floor area (GFA) or building height for each function","displayOrder":11}}'); const metricsSummary = "The estimation has been arrived at by analyzing <strong>:buildingCount</strong> other buildings of the same <strong>:function</strong> function on this database that do have confirmed heights. The user should be aware that non-standard features, such as significant spires or raised entrances / podiums, may affect the accuracy of this estimation."; const floorsToHeightText = "Please note that this height is estimated, based on a floor count of <strong>:floorCount</strong> floors."; const heightToFloorsText = "Please note that this floor count is estimated, based on a height of <strong>:height</strong>."; function displayResults(label, value, information) { $('#results-container').removeClass('hidden'); $('#results-label').html(label + ':'); $('#results-value').html(value); $('#results-information').html(information); } const dropdownUpdateFunction = function updateFunctionDescription() { let functionName = $('#function').val(); let heightEstimationMetric = heightEstimationMetrics[functionName]; if (heightEstimationMetric.description !== '') { $('#function-description').html(heightEstimationMetric.description); } } $(document).ready(function () { dropdownUpdateFunction(); $('#generate-height').on('click', function (e) { e.preventDefault(); let floorCount = Math.round($('#floor-count').val()); let functionName = $('#function').val(); let functionDisplayName = $('#function > option:selected').text(); if (floorCount === '' || floorCount <= 0) { return alert('Please enter a valid floor count.'); } $('#height').val(''); let heightEstimationMetric = heightEstimationMetrics[functionName]; let heightInMeters = Math.round(heightEstimationMetric.height_per_floor * floorCount).toLocaleString('en-US'); let heightInFeet = Math.round(heightInMeters * 3.28084).toLocaleString('en-US'); let newFloorsToHeightText = floorsToHeightText.replace(':floorCount', floorCount); let newMetricsSummary = metricsSummary.replace(':buildingCount', heightEstimationMetric.number_buildings.toLocaleString('en-US')) .replace(':function', functionDisplayName); displayResults( "Height", heightInMeters + ' m (' + heightInFeet + ' ft)', newFloorsToHeightText + ' ' + newMetricsSummary ); }); $('#generate-floor-count').on('click', function (e) { e.preventDefault(); let height = Math.round($('#height').val()); let functionName = $('#function').val(); let functionDisplayName = $('#function > option:selected').text(); if (height === '' || height <= 0) { return alert('Please enter a valid height.'); } $('#floor-count').val(''); let heightEstimationMetric = heightEstimationMetrics[functionName]; let floorCount = Math.round(height / heightEstimationMetric.height_per_floor).toLocaleString('en-US'); let newHeightToFloorsText = heightToFloorsText.replace(':height', height + ' m'); let newMetricsSummary = metricsSummary.replace(':buildingCount', heightEstimationMetric.number_buildings.toLocaleString('en-US')) .replace(':function', functionDisplayName); displayResults( "Floors", floorCount, newHeightToFloorsText + ' ' + newMetricsSummary ); }); $('#function').on('change', dropdownUpdateFunction); }); </script> </div> </div> </div> <footer class="pt-10 bg-black text-white"> <div class="container flex lg:justify-between flex-wrap lg:flex-no-wrap pb-6"> <div class="lg:self-end w-1/4"> <img class="lg:mb-3 object-contain" style="height: 120px;" src="https://www.skyscrapercenter.com/img/footer/footer-logo-white.png" alt="Council on Tall Buildings and Urban Habitat"> </div> <div class="lg:self-end w-full lg:w-1/2 text-center lg:mb-3 lg:order-none order-last"> <p class="text-white font-medium"> <a class="underline" onclick="showModal();">Sign up</a> for updates or follow us </p> <div class="social-content flex justify-center space-x-6 pt-4"> <a class="block self-center" href="https://twitter.com/CTBUH" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/x-footer.png" alt="X"> </a> <a class="block self-center" href="https://www.instagram.com/ctbuh_hq/" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/instagram-footer.png" alt="Instagram"> </a> <a class="block self-center" href="https://www.youtube.com/@ctbuh" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/youtube-footer.png" alt="YouTube"> </a> <a class="block self-center" href="https://www.facebook.com/CTBUH" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/facebook-footer.png" alt="Facebook"> </a> <a class="block self-center" href="https://www.linkedin.com/company/council-on-tall-buildings-and-urban-habitat/" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/linkedin-footer.png" alt="LinkedIn"> </a> <a class="block self-center" href="https://mp.weixin.qq.com/s/RLOqgvTosPoD8RLugaWqxQ" target="_blank"> <img style="width: 28px" src="https://www.skyscrapercenter.com/img/footer/message-footer.png" alt="WeChat"> </a> </div> <p class="text-white font-medium pt-4 lg:pt-6 text-md lg:text-normal"> &copy; 2025 Council on Tall Buildings and Urban Habitat</p> </div> <div class="w-full lg:w-1/4 my-8 lg:my-0 text-white text-lg flex flex-wrap lg:mb-3 content-end gap-y-1"> <a class="block self-end lg:text-right w-full no-underline" target="_blank" href="https://partner.ctbuh.org/">Partner with Us</a> <a class="block self-end lg:text-right w-full no-underline" href="https://www.ctbuh.org/about/careers">Careers at CTBUH</a> <a class="block self-end lg:text-right w-full no-underline" href="https://www.skyscrapercenter.com/portal">Submit Data &amp; Photos</a> <a class="block self-end lg:text-right w-full no-underline" href="https://www.ctbuh.org/about/faq">FAQ</a> <a class="block self-end lg:text-right w-full no-underline" href="https://www.ctbuh.org/about/contact">Contact Us</a> </div> </div> </footer> <style> .modal-invisible { position: fixed; top: 0; right: 0; bottom: 0; left: 0; visibility: hidden; opacity: 0; pointer-events: none; -webkit-transition: all 0.3s; transition: all 0.3s; z-index: 999; } .modal-visible { position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 1; padding: 1rem; pointer-events: auto; visibility: visible; -webkit-transition: all 0.3s; transition: all 0.3s; z-index: 999; } .modal-visible > div { position: absolute; --bg-opacity: 1; background-color: #FFFFFF; background-color: rgba(255, 255, 255, var(--bg-opacity)); border-width: 1px; --border-opacity: 1; border-color: #282828; border-color: rgba(40, 40, 40, var(--border-opacity)); overflow-y: auto; padding: 2.5rem 2rem 2rem; min-width: 790px; left: 50%; max-height: calc(95vh - 20px); top: 51%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); } .modal-close { position: absolute; padding: 0.5rem; right: 0; text-align: center; --text-opacity: 1; color: #535353; color: rgba(83, 83, 83, var(--text-opacity)); top: 10px; } .modal-close:hover { --text-opacity: 1; color: #006E96; color: rgba(0, 110, 150, var(--text-opacity)); } </style> <div id="modal" class="modal-invisible"> <div> <button onclick="hideModal()" title="Close" class="modal-close">Close</button> <p class="w-full text-center mt-8"> Subscribe below to receive periodic updates from CTBUH on the latest Tall Building and Urban news and CTBUH initiatives, including our monthly newsletter. Fields with a red asterisk (*) next to them are required. </p> <iframe src="https://CTBUH.informz.net/CTBUH/pages/Homepage_signup" width="705" height="720" style="border:none;" scrolling="no"> </iframe> <a href="https://www.ctbuh.org/privacy-policy" class="block w-full text-center"> View our privacy policy </a> </div> </div> <script type="text/javascript"> function showModal() { document.getElementById('modal').classList.remove('modal-invisible'); document.getElementById('modal').classList.add('modal-visible'); } function hideModal() { document.getElementById('modal').classList.remove('modal-visible'); document.getElementById('modal').classList.add('modal-invisible'); } </script> </div> <div class="js-cookie-consent cookie-consent fixed bottom-0 inset-x-0 pb-2"> <div class="max-w-7xl mx-auto px-6"> <div class="p-2 rounded-lg bg-yellow-100"> <div class="flex items-center justify-between flex-wrap"> <div class="w-0 flex-1 items-center hidden md:inline"> <p class="ml-3 text-black cookie-consent__message"> We use cookies to improve your experience on our website. Review our <a href="https://ctbuh.org/privacy-policy/" target="_blank" class="link_pp">Privacy Policy</a> for more information.</span> </p> </div> <div class="mt-2 flex-shrink-0 w-full sm:mt-0 sm:w-auto"> <button class="js-cookie-consent-agree cookie-consent__agree cursor-pointer flex items-center justify-center px-4 py-2 rounded-md text-sm font-medium text-yellow-800 bg-yellow-400 hover:bg-yellow-300"> Allow cookies </button> </div> </div> </div> </div> </div> <script> window.laravelCookieConsent = (function () { const COOKIE_VALUE = 1; const COOKIE_DOMAIN = 'www.skyscrapercenter.com'; function consentWithCookies() { setCookie('laravel_cookie_consent', COOKIE_VALUE, 7300); hideCookieDialog(); } function cookieExists(name) { return (document.cookie.split('; ').indexOf(name + '=' + COOKIE_VALUE) !== -1); } function hideCookieDialog() { const dialogs = document.getElementsByClassName('js-cookie-consent'); for (let i = 0; i < dialogs.length; ++i) { dialogs[i].style.display = 'none'; } } function setCookie(name, value, expirationInDays) { const date = new Date(); date.setTime(date.getTime() + (expirationInDays * 24 * 60 * 60 * 1000)); document.cookie = name + '=' + value + ';expires=' + date.toUTCString() + ';domain=' + COOKIE_DOMAIN + ';path=/' + ';samesite=lax'; } if (cookieExists('laravel_cookie_consent')) { hideCookieDialog(); } const buttons = document.getElementsByClassName('js-cookie-consent-agree'); for (let i = 0; i < buttons.length; ++i) { buttons[i].addEventListener('click', consentWithCookies); } return { consentWithCookies: consentWithCookies, hideCookieDialog: hideCookieDialog }; })(); </script> <script src="//code.highcharts.com/6.0.3/highcharts.js"></script> <script src="//code.highcharts.com/stock/6.0.3/modules/exporting.js"></script> <script src="/js/bootstrap4/bootstrap.bundle.min.js"></script> <script src="/js/moment.min.js"></script> <script src="/js/daterangepicker.min.js"></script> <script src="/js/common.js"></script> <script src="/js/leaflet.js"></script> <script src="/js/leaflet.markercluster.js"></script> <!--<script src="//oss.maxcdn.com/jquery.trip.js/3.1.6/trip.min.js"></script>--> <script src="/js/jquery.typeahead.min.js"></script> <script src="/js/jquery.colorbox-min.js"></script> <script src="/js/dataTables/jquery.dataTables.min.js"></script> <script type="text/javascript" src="/js/dataTables/natural.js"></script> <script src="/js/jquery.dataTables.tableTools.min.js"></script> <script src="/js/jquery.nanoscroller.min.js"></script> <script src="/js/jquery.maphilight.min.js"></script> <script src="/js/jquery.trunk8.min.js"></script> <script src="//cdn.jsdelivr.net/qtip2/2.2.1/jquery.qtip.min.js"></script> <script src="//rum-static.pingdom.net/pa-5d2e370f14cfaa000800014b.js" async></script> <script type='text/javascript' src='/js/common.buildings.js'></script> <script type="text/javascript" src="/js/vendor.js?id=3e1d0b034eb21ebc6f54770dbbb81c55"></script> <script type="text/javascript" src="/js/app.js?id=dc2696296f5a08ab6f88e6cfb9d67cd2"></script> <script> window.sso_logged_in = false; window.sso_logged_in_url = window.location.href.indexOf('logged_in=true') !== -1; window.ctbuh_url = 'https://www.ctbuh.org'; $(function () { tippy('.locked-item', { content: 'You must be a CTBUH Member to view this resource.', appendTo: document.body, arrow: false, duration: 0, delay: [0, 0] }); if (!sso_logged_in && !sso_logged_in_url) { // check to see if we are logged in on ctbuh.org $.ajax({ url: ctbuh_url + '/oauth/status', jsonp: 'callback', dataType: 'jsonp', success: function (data) { console.log(data); if (!data.error) { // we are logged in! if ('tokens' in data) { var at = data.tokens.access_token; var rt = data.tokens.refresh_token; // log me in! $.post('/oauth/loginUsingToken', { access_token: at, refresh_token: rt }, function (res) { console.log(res); redirectWithQuery('logged_in', 'true'); }); } } } }); } }) function sso_logout() { $.ajax({ url: ctbuh_url + '/oauth/logout', jsonp: 'callback', dataType: 'jsonp', complete: function (data) { window.location = '/oauth/logout'; } }); // just in case setTimeout(function () { window.location = '/oauth/logout'; }, 2500); return false; } function redirectWithQuery(name, value) { if ('URLSearchParams' in window) { var searchParams = new URLSearchParams(window.location.search); searchParams.set(name, value); var redirect_to = window.location.href.split('?')[0] + '?' + searchParams.toString(); window.location = redirect_to; } else { window.location = window.location + '?' + name + '=' + value; } } </script> <script type="text/javascript"> var _paq = _paq || []; _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function () { var u = "//analytics.ctbuh.org/"; _paq.push(['setTrackerUrl', u + 'piwik.php']); _paq.push(['setSiteId', 1]); var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; g.type = 'text/javascript'; g.async = true; g.defer = true; g.src = u + 'piwik.js'; s.parentNode.insertBefore(g, s); })(); </script> <noscript><p><img src="//analytics.ctbuh.org/piwik.php?idsite=1" style="border:0;" alt=""/></p></noscript> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10