Latest Topics

  • No posts to display.
Cloud Geospatial application ArcGIS architecture

How could I, as a Cloud & GIS guy, contribute to the world of Medicine? (Part II)

If you remember, last week I brought live a cloud-native GIS application. In Part I <<link>>, I explained all about the “Why?” and the “What?” I did. However, there was no time left to explain the “How?”. And here I will expand on exactly that – How did I put together that GIS cloud-native application?

To summarize Part I, before I started building I had three important requirements:

  • put something together quickly, but at the same time in a way that could be easily scaled up later
  • make it visually appealing without writing the UI from scratch
  • leverage open standards as much as possible 

 

 

The Cloud Building Blocks – Application, Data and GIS visualization

After some tests with several alternatives, all the building blocks fell into place on a single platform using the IBM Cloud, because there I was able to find a component for each of my important requirements mentioned above. Since there were several components to be integrated together, I started with the Microservices Reference Architecture and customized it for my situation:

  

 

First, I addressed the scalability by deploying the core functionality as a loosely coupled pair of application and data service with:

  1. a CloudFoundry application with a NodeJS runtime: this allowed me to use many open source libraries out of the box for functionality like DB access, asynchronous server-side API calls, OAuth authentication etc.
  2. a CloudantDB as a NoSQL database with built-in support for GeoJSON and GeoSpatial queries. This saved me a lot of time when storing the location data (GPS, feature properties etc.) and when querying it for my key location analysis

Then, I moved on to the visual appeal of the application. It had to be 3D and it had to be responsive!

So, for that, I could rely on running a great front-end from Esri for GIS visualizations out of my application:

3. 3D Globe view using ArcGIS with a dynamic data-point visualization using GeoJSON

  

This provided the appealing 3D visualization I was looking for, but also an interactive front-end to handle all user actions such as:

  • adding a new travel location by clicking on the globe; behind the scenes recording the GPS location and packing it with the rest of the information such as the donation amount, personal message etc using GeoJSON
  • looking around what others have submitted
  • retrieving the details of donations done by others
  • visualizing the multi-dimensional data of all submissions made: the GPS-location and the size of the donation for it

 

All these client-side actions are done in an asynchronous way, calling the NodeJS application layer for the location data, retrieving it in the GeoJSON format and plotting the features on the 3D map.

The three main components above were integrated easily by using the open GeoJSON standard. This was a time-saver especially on the database level. Because of that, I was left with some time to spare, so I added some fancy stuff:

  • Geo-enrichment: looking up the country and city for the GPS coordinates chosen by users. This was done by picking a 3rd party service from the IBM Cloud catalog (the Geo APIs by Pitney Bowes) and invoking them asynchronously with AJAX calls from the front-end
  • some high-level Paypal integration. If only I had one more weekend, the payment gateways I could have connected additionally J This space of online payment processing is currently rapidly maturing and is worth an article on itself.

By Sunday evening all was ready and deployed!

And of course, monitoring … first thing in the morning on Monday J Luckily, I was done within 10 mins with both my activity tracing code and analysis dashboard using the New Relic service, again directly from the IBM Cloud catalog.

 

Next Steps – expand and imagine the opportunities

So, this was my small contribution to the world of medicine. Hopefully, all guests of the PhD defense will feel extra generous when using my application and the travel fund for my sister will break some records (she could use a vacation far away :) ).

What’s more, this small personal project brought me to some bigger business ideas. Imagine real-time, location-bound insurance for your car or spotting business opportunities in retail based on location- and time-based customer spending? How about building your own API-based business providing Geo-insights for dynamic pricing based on correlating weather information?

How would you leverage geo-spatial analysis and combine data sources to create value in a business context? I am looking for inspiration so leave your idea in the comments.

Also look out for my next article where I will expand on the geo-spatial analysis I run on the collected data and will also further explore the business and technology aspects of realizing some more business-oriented cases.