Book Image

Learning ArcGIS Runtime SDK for .NET

By : Ron Vincent
Book Image

Learning ArcGIS Runtime SDK for .NET

By: Ron Vincent

Overview of this book

ArcGIS is a geographic information system (GIS) that enables you to work with maps and geographic information. It can be used to create and utilize maps, compile geographic data, analyze mapped information, share and discover geographic information and manage geographic information in a database. This book starts by showing you where ArcGIS Runtime fits within Esri’s overall platform strategy. You'll create an initial map using the SDK, then use it to get an understanding of the MVVM model. You'll find out about the different kinds of layers and start adding layers, and you'll learn to transform maps into a 3D scene. The next chapters will help you comprehend and extract information contained in the maps using co-ordinates and layer objects. Towards the end, you will learn to set the symbology, decide whether to use 2D or 3D, see how to implement 2D or 3D, and learn to search and find objects. You'll also get to grips with many other standard features of the Application Programming Interface (API), including create applications and finally testing, licensing, and deploying them. Once completed, you will be able to meet most of the common requirements of any mapping application for desktop or mobile platforms.
Table of Contents (19 chapters)
Learning ArcGIS Runtime SDK for .NET
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
3
Maps and Layers
12
Configuring, Licensing, and Deploying
Index

Introducing ArcGIS Runtime


Get ready to build awesome native apps! In this chapter, you will be introduced to ArcGIS Runtime in general. You will be presented with an overview of where it fits within the Esri platform, whom it is for, what problems it helps you solve, and how to get started; you will be presented with an overview of where it fits within Esri's platform, whom it is for, what problems it helps you solve, how to get started, not only with Runtime, but also the other tools you'll need to be successful at building native mapping apps.

What is ArcGIS Runtime? Well, to put it simply, it is a powerful mapping SDK for building native apps. However, it goes beyond just simple mapping because it is a core developer technology from Esri, the world's largest software company for Geographic Information Systems (GIS). Basically, you can easily make a map, add layers, and do analysis, such as buffer a point or line, visibility analysis, online and offline editing, and find the quickest route between two locations, which is really what separates Esri's technology from other mapping technologies. ArcGIS Runtime can be used to create the native mapping apps on iOS, OS X, Android, Linux, and Windows. It was developed in C++ and it has been designed to be as fast and efficient as possible on each OS it runs on. It's cross-platform, 64-bit, multithreaded, has a much simpler API than previous technologies from Esri, and it works with the local and cloud data sources. More importantly, for you, the developer is such that you don't have to make a language choice, and then go out and learn it before you can start developing. Esri has made this part easy for you as the developer so that you can use whatever language you're comfortable with and start developing immediately. However, if you're wondering whether you will make a sacrifice if you choose one OS over another, don't worry. The Application Programming Interface (API) is nearly identical across all supported operating systems. In short, you get the functionality you need no matter the language or platform you choose. What more could the developer ask for?

ArcGIS Runtime can be used in a variety of ways. These are the following three broad categories where ArcGIS Runtime can be used:

  • App stores

  • Embedded systems

  • Enterprise mobility

ArcGIS Runtime can be used for developing apps that you sell on Google Play, Apple App Store, or Windows Store. For example, it could provide the citizens of a city, town, or even nation with a phonebook that shows not only the map but also the directions from your current location to your favorite restaurant even if you don't have Internet access. See this screenshot:

ArcGIS Runtime can also be used to embed into another app. A perfect example of this is to embed it into a military vehicle real-time tracking system. This has been done with older technologies from Esri called ArcGIS Engine (Refer to A little history later in this chapter). See this screenshot:

Another use of ArcGIS Runtime could be a mobile solution for a business' enterprise effort to go mobile (enterprise mobility). For example, a utility may need to go out and perform damage assessment after a storm. As it's very possible that cell towers may be down, there is a real need to be able to find a location, add some data to the map (where the fallen debris is located) so that field crews can estimate how much work needs to be done.

What can ArcGIS Runtime do? Here's a quick summary:

  • Online and offline geocoding

  • Online and offline routing

  • Online and offline search (both tabular and spatial queries)

  • Online and offline analysis

  • Online and offline editing

Well, it can certainly make a map using both online and offline content. With these maps, you will be able to find things such as streets, points of interest, people, and equipment, using a variety of methods to find objects on the map either by just clicking on the map, entering coordinates, or an address. You'll be able to then route yourself to the desired location(s). However, it goes beyond simple queries that you'd find in any database system. With ArcGIS Runtime, you can also do spatial searches such as finding all of the manholes within 1 mile of this location using a simple one-mile circle (buffer). What if you're developing an app for a business' fleet of vehicles where the drivers not only want to visit multiple sites during the day, but also want to find other potential customers along the route so that they can maximize their time and minimize the fuel consumed? Well, that's just one of the many spatial analytical operations that can be built into the app. An even more critical app example is a soldier that needs to go into hostile territory where GPS is denied, but they need to make observations by adding enemy locations to a map while completely disconnected, and then find the quickest route back to base across rough terrain. Another military example is a battlefield commander who not only needs to have situation awareness by tracking friendly forces in real time while they're at the Forward Operating Base (FOB), but they also need to see it while they step outside or drive to another location.

For those who are more experienced Esri users, here's a more detailed summary of its features:

  • High performance in 2D and 3D

  • Drawing, querying, identifying, and selecting features and graphics

  • Using Portal for ArcGIS, ArcGIS Server, and ArcGIS Online

  • Working offline with local basemaps and data

  • TPKs, mobile GDB, shapefiles, KML, and CSV

  • Editing and synchronizing geocode and routing

  • Working with device sensors

  • Performing advanced geometric operations locally

  • Task-based asynchronous pattern

  • Model-View-ViewModel friendly