A few weeks ago, I was in Palm Springs, CA to attend to the Developers Summit together with some 2.100 other developers. This is my first blog about this visit and I hope to be writing more blogs on separate subjects I heard about and work with. In this blog post I will try to summarize the biggest subjects I got details on.
Obviously, I wasn't able to attend everything, as there were about 13 parallel tracks. First up was the main subject of the Developer Summit Keynote: GeoAI, running Azure machine learning combined with ArcGIS. Then there were a lot of subjects about automating your ArcGIS Platform and finally more news about ArcGIS Indoors. Looking back, it was a great event, I loved having so much passionate GIS engineers on one place and having direct contact with the Esri Developers was a great added bonus as I could discuss feature requests and channel ideas.
Geospatial Artificial Intelligence
It may turn out to be the next buzzword, it may (according to some) turn out to be mankind's downfall, but we cannot deny it: everybody is working on or talking about AI. We too have been thinking on good use cases and technological methods of getting our data smarter, detecting geospatial patterns and learning from that.
During the DevSummit Keynote session, Joseph Sirosh (Corporate Vice President of the Cloud AI Platform at Microsoft) took us on a similar path. Shortened with the abbreviation GeoAI, Microsoft and Esri are using Azure and ArcGIS service in a single package of GIS data analytics on the Azure framework. By combining the GIS knowledge of the ArcGIS platform with the computing power of Azure, we were given a demo on learning to recognize SAM-Sites on aerial photos with a 98% accuracy. Just like we have to study to learn a subject, so does a machine learning system. First we have to instruct it on what a site is, and what is not. This is perhaps the hardest part, getting the system the proper data. It should not have a bias towards anything, for instance when learning a system with demographics. Otherwise, the end result will have it too. Then the good old rule comes to mind: Garbage in -> Garbage out. You should thing of learning a model like you test a medicine, with random testing. You can check out the Azure setup by searching for GeoAI in the Azure Portal.
We have left behind manual management of our servers some time ago. In ArcGIS we are scripting a lot with Python, running analytics on a daily basis, cleaning up feature classes, re-indexing, etc. This will stay the same of course, but the bar has been raised to another level. ArcGIS for Python has gotten an update. First of all, there is a big difference between ArcPy and ArcGIS for Python, as they are essentially two different products with different roles. The first is the engine within ArcGIS Pro (and ArcMap of course) to create tools with. The second is about managing your ArcGIS platform. Of course, one can create a python script that uses both. Anything you can do in the ArcGIS Platform web interfaces, or the REST services behind it, can be called from the ArcGIS for Python.
"Enabling the Science of Where Indoors", Esri states, creating a hype on this subject for me and many around me. I immediately entered the Beta program and downloaded the iOS beta application when I got accepted. It was actually a really useful application during the Summit, as it came pre-loaded with the indoor schematics of the Palm Springs Convention Center. It also was pre-loaded with the different rooms and linked with my agenda. So naturally I went to both the ArcGIS Indoors technical breakout sessions. To be honest, I was a bit disappointed; I was hoping for some big magical tooling I could use, develop with a cool new API and such. But actually ArcGIS Indoors is a lot simpler. It's yet another extension to the ArcGIS Platform, hooking into all sorts of existing services, like networks and mobile map packages.
The real challenge, as it turns out, is getting the users position. This is, as it's standing right now, a problem to fix outside of the ArcGIS Platform. One could use beacons, Wi-Fi repeaters or any other method for a phone to get it's indoor position. Although it was not shown, I think all the beacon positions should also be known within the platform. Then, when the (now only iOS) app knows it's location on the world + floor level, it can tell the user where he is in the building and how to get to a different room in the same building. As I said, currently there is only an iOS app in beta, but Android beta should be coming soon too. It may take some time for the entire suite to be in a production state though, but this could definitely become a game changer.