Mapping the IoT sets the signals to work
|Josh Joyner in IoT Monday, May 15, 2017|
GIS brings the ability to create a mirror of our world with the tools to query and visualize geographic information.
Exploring Space and Time
I'm not talking about the kind of mapping that helps you plan a road trip, but the kind that allows you to visualize, perform in-depth analysis, and better understand the relationships and patterns in your data. The capabilities of a geographic information system (GIS) combine with the constant streams of data available from sensors to create a real-time solution.
GIS brings the ability to create a mirror of our world with the tools to query and visualize geographic information. Spatial analysis applies computational power to help you understand where in the context of what. With GIS, you can explore distribution, determine how places relate to each other, find the best location or path, detect and quantify patterns, and make predictions.
The IoT allows GIS to get beyond the presentation of static map content to visualize a variety of assets updating in real time or near real time. Often, seeing what's happening and where is enough to spur improved decisions. Diving deeper into the data reveals hot spots of activity and outliers. When you combine these feeds and monitor them over time, patterns can be analyzed to move toward predictive analytics.
IoT becomes truly beneficial when you can monitor the data from connected devices, analyze the signals to identify relationships, and act against the aggregated information. These benefits accrue when applied at larger scales and when coupled with more sensors.
Traffic data provides a compelling use case for the combination of IoT and GIS. For example, moisture sensors embedded in a road can be connected to navigation devices to alert drivers to hazardous conditions such as an icy bridge or a stretch of roadway with standing water. Delivering this information to motorists allows them to adjust their speed and get through these hazards safely. The department of transportation can couple moisture sensor information with real-time traffic reports and understand when and where wet conditions are impacting traffic flow. This data can be used to alert work crews to treat the road in a specific location or to halt or divert traffic if conditions get too extreme.
While it's important to be able to react to real-time data as it's being received, by storing data in GIS, you can analyze trends. Over time, patterns emerge, such as repeated roadway flooding or icing, that elevate individual incidents to the level of accident-prone areas that need to be addressed with engineered solutions.
This same approach to sensor alerts, which help individuals, and aggregated sensors, which offer an overview for organizations, can be applied to many solutions.
Having the capability to do something and being able to do it are often different things. Working in IoT can seem daunting. The legitimate set of challenges includes figuring out how to connect to devices, determining what signals you want to receive, and scaling from a few to many feeds.
If you're physically connected to a device, it's easy to offload all the sensor information, but it's not a solution that scales to hundreds of devices. Connecting to sensors via Wi-Fi signals works well indoors, but for remote locations (such as the road example mentioned earlier), a cellular network is needed. You also need to determine whether you want to connect to each device individually with a constant stream of signals or just poll the most recent data. Then there are the multiplying issues of scaling related to signal bandwidth, computing storage, and the computing power needed to visualize and analyze ever-growing data.
The issue of scaling is a problem that only grows more significant as the number of connected devices increases. Many enterprise-level IoT deployments are using tens of thousands or even hundreds of thousands of sensors that are constantly updating. Being able to store that much data makes many traditional relational databases all but obsolete. A 32-bit integer field, which most databases use to store an ObjectID or primary key value, can only hold 2.14 billion possible values. At the 100-sensor scale, that threshold is surpassed in a single year - or before lunch if you're talking to 100,000 sensors.
There's also the problem of being able to visualize and analyze large volumes of data. It can take a long time to display thousands of real-time features on a map, and it has been impossible to simultaneously visualize millions or billions of records.
Thankfully, momentum drives further momentum. Within the next decade, we'll have more smartphones than people, connected cars will hit the road, and smart devices will become the norm. These advancements will ensure that data challenges will be met.
In fact, many of these issues are being addressed now:
- Hardware developers are benefiting from advances in battery technology and solar power charging to allow sensor deployment far from the power grid.
- Cell phone coverage enables data transmission from far-flung locations.
- IoT platform providers are aggregating individual feeds and adding the means to preprocess the data so that it can be easily consumed and analyzed in your networks or GIS platforms.
- From the data storage side, NoSQL (nonrelational) database systems, like Apache Cassandra or Elasticsearch, index the data for improved polling and visualization at a nearly limitless scale.
These advancements are allowing developers to focus on the functionality of devices or on the ability of clients to act on the data, without needing to build all the infrastructure behind it.
Business use cases separate IoT solutions from just the connection of devices. The goal is to take raw data from sensors and turn it into actionable intelligence about how things interact with and impact each other. We have the opportunity, with IoT and real-time GIS, to unlock much broader understanding. It's time for you to get started on this path of IoT exploration and discovery, but don't forget a map.
Learn the best ways to organize your app development projects, and keep code straight, clients happy, and breathe a easier through launches.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.
How to create a profitable, sustainable business developing and marketing mobile apps.
This content is made possible by a guest author, or sponsor; it is not written by and does not necessarily reflect the views of App Developer Magazine's editorial staff.