https://www.deviantart.com/danluvisiart/art/LMS-HEX-178886965 As Data Scientists, we seem to focus much of our attention on models & algorithms, frameworks & techniques… You know, the stuff that makes you think: D amn, that’s cool! How can I use that?! something that I find altogether lacking in the content we are producing is the creative side of things. However, Thanks to my background in Geographic Information Science I’ve been fortunate enough to study and regularly apply cartographic principles through out much of my professional career. Cartography Something I absolutely love about Cartography, is that it is often described as the , and of map making. art science technology Let that sink in for a second. When’s the last time you deliberately described something you’re working on as art first, science and technology second? There’s a lot that goes into map making, and it takes a very discerning eye to translate raw data into something both useful and beautiful. Maps by their very nature are meant for people to look at them so they to be beautiful. HAVE So I thought, how could I contribute something fun to our community that gives a data scientist the opportunity to have a taste of this as simply as possible? Introducing Planetoids! is a high level Python API for generating interactive, procedurally generated worlds from data in a pandas DataFrame. Planetoids It let’s you take your data from this: MNIST dataset reduced to 2 dimensions using UMAP To this: Screenshot of an MNIST-derived planetoid By simply calling .fit_terraform() . See what I did there? 😉 How does it do this? Currently, Planetoids is able to a planet from two-dimensional data that has an optional cluster attribute. It’s still very new and will be growing in capabilities, but for now the library can achieve the following when terraforming a new world: terraform generates somewhere in to render your creation space generates an ecology based on input data statistics (you can also specify an ecology manually) generates land masses with topographic detail (contours) & relief detail (gradients) generates lighting effects in the form of a hillshade As a user you have control over the level of detail in your generated Planetoid and can choose what gets rendered in the interactive plot. The full public API is documented . here Under the hood, I’m using to render the planetoids. At present, the ScatterGeo trace I’m using is not z-aware and can only handle vector data, so I’ve had to come up with interesting ways to give the illusion of 3D-depth in much the same way you would have to for a printed map. plotly Installation is as easy as pip install planetoids and the has been set up with Travis-CI for automated testing and Codacy for automated code reviews & analytics to make it easier for others interested in this project to join and contribute. I’ve tagged some for any interested parties out there keen on helping me extend the project. 😁 project good first issues It’s still in an state, so it’s possible that aspects of the API may change in coming releases as features are added and refined. alpha There are a handful of interactive available online to help you get started. I’m keen to see what people end up producing with this library and I would encourage anyone to submit demos to include as part of the repository to showcase how this can be used across different domains. demo notebooks super I hope you have as much fun working with it as I have had making it so far. Happy terraforming!