Node.js, MySQL, Mapbox API
PR and marketing are clearly important requirements for the success of any product. What’s fascinating is elements of marketing show up internally at larger companies like CNN and Turner. Individual groups and departments tend to build a marketing presence to gain exposure and build image within the company’s walls, whether it’s with murals, banners, or big walls of monitors. Satellites and Newsbeam are under-represented in this regard with no public illustration of the transmissions we work with on a daily basis.
This idea stemmed from a presentation at OSCON 2015 by Brent Beer from GitHub, “Everything I Wish I Knew When I Started Using GitHub” He briefly mentioned that they use Mapbox resources to display geoJSON files. Curious, I flipped through the Mapbox examples and instantly paired their Flight Path example with transmissions.
Satellites and Newsbeam use several applications for booking, tracking and billing transmissions. The main application is STRATS, and it’s one of the oldest applications in use by the department. Because it’s business critical for billing, I’ve opted to get data from it either manually or from a “dump,” courtesy of the developer who is maintaining it for us.
What this project cares about are the origin and destination cities. For this project, Mapbox only requires latitude and longitude coordinates to start plotting paths on its map. Because STRATS contains no coordinates, the process needed to be as such: City Code > City Name > Match City Name > Match Country > Get coordinates
Cities in STRATS are four-letter codes and are non-standard, so I exported a (predefined) list of codes and the corresponding full city names plus country code – also non-standard. This is imported into its own table in a MySQL database.
Coordinates are sourced from the free database GeoNames. I imported their cities (population > 1,000) document into another database table. The translation from STRATS code to coordinates isn’t perfect, mainly due to multiple matches, typos in the city name from STRATS, and getting cities from STRATS that have a population of less than 1,000.
Unused. While it received positive responses, there was no interest expressed in making the project a fixture. By the time it was finished, I had moved on to Tier 1 engineering support.