Excerpts from the article...
Union Pacific, the nation's largest railroad company, is a choice place to assess the gap between the dream and the reality of what's commonly called the "Internet of things." Like a lot of technology movements, the Internet of things is easy to describe but hard to execute. It means putting sensors on all manner of machines to collect data, linking them over wired and wireless networks, and then applying data analytics to assess when a train's wheel needs replacing, a power plant needs fixing, a soybean field needs watering, or a patient needs reviving.
... For railroads, location data is a big gap. While UP has GPS tracking on several thousand locomotives, GPS isn't reliable enough for safe dispatching and switching of trains--it isn't accurate enough to tell which of two parallel tracks a train is on. So the tracks have a location sensor about every 15 miles that tells a central dispatcher where a train is, leaving a lot of blind spots. And even at those markers, the system knows only that a train passed the spot. In terms of where a train will be in the next five minutes, one traveling 60 mph and accelerating is a lot different from one going 40 mph and slowing down.
Another reason trains don't use GPS is because there isn't universal cellular coverage along the tracks, especially in the vast expanses of the Western U.S., for trains to continually transmit their precise locations. Until the trains get that precise location data and ubiquitous wireless data coverage, railroads can't do a lot of the sophisticated routing, monitoring, and automated controls envisioned for the Internet of things.