Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (2024)

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (1)

ZACHARY LINHARES

Two urban explorers look out over Downtown St. Louis from the roof of the Railway Exchange Building.

The Railway Exchange building in Downtown St. Louis was once where teenagers went to shop, cause trouble and awkwardly stand around. It used to be Famous-Barr’s flagship store. But in 2013, Macy’s closed its doors; last year the city condemned the building. Today, it is a nuisance property where young county teenagers go to experience the blight and decay of the City of St. Louis.

Last week, I joined some of them. The building and its surrounding blocks had been featured in a damning Wall Street Journal story on the “doom loop” of Downtown St. Louis. The article caught a lot of hostile feedback on X and other social media platforms.

As I stood nearby, camera held up to my face, a man in his late teens or early twenties called out to me, “Hey, have you ever taken pictures in this building?” He meant the Railway Exchange. “Want to go with us? We are going to the roof for the sunset.”

I reluctantly said no as I had abandoned my mediocre urban exploring dreams long ago. Then my vagabond counterparts — residents of Brentwood and Creve Coeur, respectively — reminded me that we are in St. Louis city and you could almost guarantee that no legal action would be brought against us for our delinquency. I decided to come along.

To stop people from entering the Railway Exchange building, the city erected steel plates facing Locust Street. They were touted as an upgrade from the shoddy wooden boards that once attempted to keep out sh*theads, scrappers and squatters, but in no time people were back in the building. Without giving away details, I'll just say it wasn't hard to get in. We were soon hiking up the 21-story building towards the roof.

Inside was a scene straight from John Carpenter’s 1981 film Escape From New York, famously filmed in St. Louis. Complete chaos. The place was pitch black, its glass panels smashed, with holes in every wall, collapsed ceilings, stairs falling apart, amateur graffiti on the walls and the remnants of wannabe arsonists trying to start fires.

Our long journey to the roof would soon be interrupted by our first group of so-called UrbExers — a group of six teenagers stomping on shattered glass. We would see two more groups of teens on our quest. In our hour-long journey inside through the 20th-century masterpiece there were no signs of squatters, just bored young adults wandering through the building.

As we made our way through the labyrinth of staircases and empty offices, it was abundantly clear that the code of urban exploring had not been upheld: do not disclose your location and leave everything as it is.

The view from the roof was wonderful, perhaps the most stunning sunset I’ve seen in St. Louis city. But the Railway Exchange building is a problem. In March of 2023, a dog with the St. Louis Fire Department’s search and rescue team died in the building. It is only a matter of time before someone else is seriously injured or dies.

The city is attempting to use eminent domain to seize the building from its Florida-based owner. It can’t happen soon enough.

Until then, the bored suburban kids coming into the city, certain that they’re never going to get in trouble, should proceed with caution.

Scroll down for photos from my visit.

Tags:

  • Railway Exchange,
  • downtown St. Louis,
  • urban exploring,
  • Famous-Barr

Scroll down to view images

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (2)

ZACHARY LINHARES

A pedestrian crosses the street at the intersection of Olive and N. Seventh streets on April 12, 2024. The Railway Exchange is just one block away.

2 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (3)

ZACHARY LINHARES

A clock is illuminated by the setting sun on the Railway Exchange Building.

3 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (4)

ZACHARY LINHARES

The building's exterior has lovely details.

4 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (5)

ZACHARY LINHARES

The city's steel plates are meant to block trespassers.

5 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (6)

ZACHARY LINHARES

A plaintive message is scrawled on one plate.

6 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (7)

ZACHARY LINHARES

The building that once housed Famous-Barr is a post-apocalyptic scene.

7 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (8)

ZACHARY LINHARES

Sunlight streams down on traffic on Olive Street as viewed from the Railway Exchange building.

8 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (9)

ZACHARY LINHARES

Urban explorers watch the sun set from the roof of the Railway Exchange Building in downtown St. Louis.

9 of 10

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (10)

ZACHARY LINHARES

The sunset was beautiful.

10 of 10

`this.removeSpinner = () => {jQuery(slideshowInstance.itemContainerSelector + ' div[uk-spinner]').remove()};this.prevPageLinkHTML = ``this.nextPageLinkHTML = ``Object.defineProperties(this, {'items': { get: function() { return jQuery(this.itemContainerSelector).find(this.itemSelector)}},'currentItem': {get: function() {var foundItem = nullvar foundItemInView = nullthis.items.each(function () {var currentInView = elementInView(jQuery(this), scrollTopOffset, 0)if (currentInView) {// An in view item is already located extra logicif (foundItemInView && foundItemInView.inView) {// The entire previously found item is visible - it winsif (foundItemInView.topInView && foundItemInView.bottomInView) return// The previously found item covers the visible area - it winsif (foundItemInView.middleCoversView) return// The previously found item has more surface area - it winsif (foundItemInView.percentVisable > currentInView.percentOfViewHeight) return}foundItem = jQuery(this)foundItemInView = currentInView}})return foundItem}},'currentItemIndex': {get: function() {var currentElement = this.currentItem.closest('[slide-index]')if(currentElement) {return parseInt(currentElement.attr('slide-index'))}return null}},'currentItemId': {get: function() {var currentElement = this.currentItem.closest('[slide-id]')if(currentElement) {return currentElement.attr('slide-id')}return null}}})var slideshowInstance = this// xxx for debuggering - igwindow.slideshowInstance = slideshowInstance;var scrollTopOffset = window.innerHeight > this.smallMenuBreakPoint ? 110 : 140var originUrl = window.location.hrefthis.scrollToIndex = function (index) {var slideItem = this.items.filter('[slide-index="' + index + '"]')if (slideItem.length) { var topOffset = slideItem.offset().top - scrollTopOffset// window.scrollTo({ top: topOffset, behavior: 'smooth' })window.scrollTo({ top: topOffset, behavior: 'auto' })}else {this.fetchMore(index, function () {slideshowInstance.scrollToIndex(index)})}}this.fetchMore = function (startIndex, callback) {var currentItemOnFetch = this.currentItemvar url = '/stlouis/inside-st-louis-abandoned-railway-exchange-bored-suburban-kids/Slideshow/42357941'var params = {ajaxComponent: componentId,action: 'grabMore',startIndex: startIndex,oid: slideshowOid,cb: '1713544042',}if (paginate) {params.paginate = paginate;}var keywords = currentItemOnFetch.attr('slide-keywords')if (keywords) {params.keywords = keywords}if (editorView === true) {params.editor = true}// jQuery.ajax({url: url,type: 'GET',data: params,dataType: 'json',// beforeSend: function () { console.log('Fetching results') },success: function (data) {console.log('success', data.results, data.results.length, data.error, data)if (data) {if (data.error) {console.log(data.error)}else if (data.results) {console.log('slideshowInstance.items', slideshowInstance.items)for (var i = 0; i < data.results.length; i++) {var resultItem = jQuery(data.results[i])// // var resultItem = jQuery.parseHTML(data.results[i], document, true);var resultItemIndex = parseInt(resultItem.attr('slide-index'))var resultAlreadyInserted = slideshowInstance.items.filter('[slide-index="' + resultItemIndex + '"]').length > 0console.log('result', resultItemIndex)var previousItem = nullvar previousItemIndex = 0if (!resultAlreadyInserted) {slideshowInstance.items.each(function () {if (resultAlreadyInserted) returnvar currentItem = jQuery(this)var currentItemIndex = parseInt(currentItem.attr('slide-index'))if (resultItemIndex === currentItemIndex ) {resultAlreadyInserted = truereturn}else if (resultItemIndex > previousItemIndex && resultItemIndex < currentItemIndex) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertBefore(currentItem)resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })}previousItem = currentItempreviousItemIndex = currentItemIndex})if (!resultAlreadyInserted) {var topOffsetBeforeInsert = currentItemOnFetch.get(0).getBoundingClientRect().topresultItem.insertAfter(slideshowInstance.items.last())resultAlreadyInserted = truevar adjustedTopPosition = currentItemOnFetch.offset().top - topOffsetBeforeInsertwindow.scrollTo({ top: adjustedTopPosition, behavior: 'auto' })if (typeof instgrm === 'object' && instgrm.Embeds && typeof instgrm.Embeds.process === 'function') {setTimeout(instgrm.Embeds.process, 200);}}}}}else { console.log('How did we get here?') }}else { console.log('No result or error returned from content request.') }},complete: function () { slideshowInstance.items = jQuery(slideshowInstance.itemSelector) // Update items resultslideshowInstance.removeSpinner();if (typeof callback === 'function') { callback() }},error: function (jqXHR, textStatus, errorThrown) {console.log(jqXHR, textStatus, errorThrown);if (textStatus === 'timeout') {slideshowInstance.removeSpinner();if (paginate === true) return;paginate = true;if (slideshowInstance.items.length < totalSlides) {var firstLoadedIndex = parseInt(slideshowInstance.items.first().attr('slide-index')) || 1;var lastLoadedIndex = parseInt(slideshowInstance.items.last().attr('slide-index')) || totalSlides;if(firstLoadedIndex > 1) {var prevLink = jQuery(slideshowInstance.prevPageLinkHTML);var prevLinkUrl = new URL(url, `https://www.riverfronttimes.com`);prevLinkUrl.searchParams.append('startIndex', firstLoadedIndex - 1);prevLinkUrl.searchParams.append('paginate', 'true');prevLink.attr('href', prevLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).prepend(prevLink);}if(lastLoadedIndex < totalSlides) {var nextLink = jQuery(slideshowInstance.nextPageLinkHTML);var nextLinkUrl = new URL(url, `https://www.riverfronttimes.com`);nextLinkUrl.searchParams.append('startIndex', lastLoadedIndex + 1);nextLinkUrl.searchParams.append('paginate', 'true');nextLink.attr('href', nextLinkUrl.href);jQuery(slideshowInstance.itemContainerSelector).append(nextLink);}}}}})}// var lazyLoadSurroundingItemsInterval = null;var lazyLoadTimeout = null;var lazyLoadSurroundingItems = function (index) {if (paginate) return;if (slideshowInstance.items.length >= totalSlides) {clearInterval(lazyLoadSurroundingItemsInterval);}if (slideshowInstance.lazyLoadMoreResults) {// Rate limit lazyloading more slidesclearTimeout(lazyLoadTimeout);lazyLoadTimeout = setTimeout(function () {var prevIndex = Math.max(index - 1, 1)var prevPrevIndex = Math.max(index - 2, 1)var nextIndex = index + 1var nextNextIndex = index + 2var prevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevIndex + '"]').length > 0var prevPrevIndexLoaded = slideshowInstance.items.filter('[slide-index="' + prevPrevIndex + '"]').length > 0var nextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextIndex + '"]').length > 0var nextNextIndexLoaded = slideshowInstance.items.filter('[slide-index="' + nextNextIndex + '"]').length > 0if(!prevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevIndex - (fetchMoreMaxCount - 1), 1))}else if(!prevPrevIndexLoaded) {slideshowInstance.removeSpinner();// jQuery(slideshowInstance.itemContainerSelector).prepend(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(Math.max(prevPrevIndex - (fetchMoreMaxCount - 1), 1))}if(!nextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextIndex)}else if(!nextNextIndexLoaded) {slideshowInstance.removeSpinner();jQuery(slideshowInstance.itemContainerSelector).append(slideshowInstance.spinnerHTML)slideshowInstance.fetchMore(nextNextIndex)}}, 200)}}// var lazyLoadLastCheckedIndex = slideshowInstance.currentItemIndexlazyLoadSurroundingItemsInterval = setInterval(function () {var currentIndex = slideshowInstance.currentItemIndexconsole.log(`lazyLoadSurroundingItemsInterval - currentIndex: ${currentIndex}; lazyLoadLastCheckedIndex: ${lazyLoadLastCheckedIndex}`);if(currentIndex !== lazyLoadLastCheckedIndex) {lazyLoadLastCheckedIndex = currentIndex;lazyLoadSurroundingItems(currentIndex);}}, 1000);var onScrollLastCheckedIndex = slideshowInstance.currentItemIndexjQuery(window).on('scroll resize', function () {var currentIndex = slideshowInstance.currentItemIndexif(currentIndex !== onScrollLastCheckedIndex) {onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)fireEvent('foundation:slideshow:slidechange')}});// var onScrollTimeout = null;// jQuery(window).on('scroll resize', function () {// // Rate limit lazyloading more slides// clearTimeout(onScrollTimeout);// onScrollTimeout = setTimeout(function () {// var currentIndex = slideshowInstance.currentItemIndex// if(currentIndex !== onScrollLastCheckedIndex) {// onScrollLastCheckedIndex = currentIndex// console.log(`Slide Item index: ${currentIndex}`)// fireEvent('foundation:slideshow:slidechange')// }// }, 100);// });this.initialized = falsethis.init = function () {if (this.initialized === true) return// Prevent the browser from trying to scroll to the last scroll position before reloadif (history.scrollRestoration) {history.scrollRestoration = 'manual'}var startIndex = this.items.first().attr('slide-index')var oid = window.location.pathname.match(/\d+$/)if (oid) {var grabIndex = parseInt(this.items.closest('[slide-id="' + oid[0] + '"]').attr('slide-index'))if (!isNaN(grabIndex)) {var startIndex = grabIndex}}// if (startIndex > 1) {// this.scrollToIndex(startIndex)// }// if(jQuery(this.itemContainerSelector + '[single-listing]').length === 0) {// this.lazyLoadMoreResults = true// }this.lazyLoadMoreResults = truethis.initialized = truelazyLoadSurroundingItems(startIndex)}return this}var SlideshowItems = new SlideshowItemsObj()// Ad refresh on slide change handlingvar adSlideChangeRefreshThreshold = 10;var adSlideChangeRefreshTimeout = null;// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// Timeout to prevent fast jogging from item to itemvar itemChangeTimeout = nulljQuery(document).on('foundation:slideshow:slidechange', function () {if (editorView !== true) {updateMetaDataFromElement(SlideshowItems.currentItem)}// Google Anayltics track pageviewif (typeof ga === 'function') {console.log("foundation:slideshow:slidechange event", "sending pageview navigation to:", window.location.href);ga('set', 'location', window.location.href)for (let i = 1; i <= 3; i++) {let currentDimension = jQuery(SlideshowItems.currentItem).attr('ga-dimension'+i)if (typeof currentDimension === 'string') {ga('set', 'dimension' + i, currentDimension)}else {ga('set', 'dimension' + i, '') }}ga('send', 'pageview')}// if (adSlideChangeRefreshTimeout === null) {// adSlideChangeRefreshTimeout = setTimeout(function () {adSlideChangeRefreshTimeout = null; // Set timer to null}, adSlideChangeRefreshThreshold)// if (Foundation.Ad && Foundation.Ad.slots) {if (typeof (Foundation.Ad.slots['STL_Footer-1']) === 'object') {Foundation.Ad.showFooter('STL_Footer-1');}}// if (Foundation.Gpt && Foundation.Gpt.getInPageSlotDataById) {var gptSlots = window.googletag.pubads().getSlots();var gptSlotFixedFooter = gptSlots.filter((slot) => slot.getSlotElementId() === `FixedFooter`)if (gptSlotFixedFooter.length) {Foundation.Gpt.ShowAd.refreshFixedFooter(gptSlotFixedFooter[0]);}}}});// Try to init immediatelySlideshowItems.init()// On document loadedjQuery(function () {SlideshowItems.init()})// })();

Inside St. Louis' Abandoned Railway Exchange: Bored Suburban Kids (2024)

References

Top Articles
Latest Posts
Article information

Author: Nathanael Baumbach

Last Updated:

Views: 5700

Rating: 4.4 / 5 (75 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Nathanael Baumbach

Birthday: 1998-12-02

Address: Apt. 829 751 Glover View, West Orlando, IN 22436

Phone: +901025288581

Job: Internal IT Coordinator

Hobby: Gunsmithing, Motor sports, Flying, Skiing, Hooping, Lego building, Ice skating

Introduction: My name is Nathanael Baumbach, I am a fantastic, nice, victorious, brave, healthy, cute, glorious person who loves writing and wants to share my knowledge and understanding with you.