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

The Esri platform


Where does ArcGIS Runtime fit with the Esri platform and what do you need to really develop a native app? What is the meaning of the word platform? When an organization invests in Esri's technology, they are actually investing in something similar to a hardware platform. Think of it in this way: if your organization decides to go with the technology of Microsoft, they have deliberately chosen to purchase hardware that is compatible with the Windows OS, software that is compatible with Windows, the business applications of Microsoft, and so on. Well, this is effectively the same thing with the Esri platform. When an organization chooses the Esri platform, they are deciding to use the database formats of Esri, language choices, the very way Esri views the geospatial technology, and everything else that goes along with this choice.

ArcGIS Runtime is part of this platform. This doesn't mean you can use other technologies such as Google Earth, but it does mean that the organization has made a conscious decision to rely on a host of tools from Esri to satisfy their geospatial needs.

With that in mind, ArcGIS Runtime is a developer toolkit that you can use in and of itself, or as part of the Esri platform. If used within the context of the Esri platform, ArcGIS Runtime is a client app, as shown in the following diagram, in the top tier. However, you can also use ArcGIS Runtime without anything else from Esri. This means you don't need ArcGIS Desktop or Pro, ArcGIS Server, Portal for ArcGIS, AGOL Online, or any other technology. You can easily use publicly available web services or download shapefiles from publicly available sites and build an app. On the other hand, if you need to create your own data or build your analytical tools, you'll need one of these other technologies from Esri:

The preceding diagram will be found at http://www.wiki.gis.com/wiki/index.php/File:SDS15Fig2.11_ArcGISSOA.jpg.

ArcGIS Desktop (Desktop) is a very powerful desktop authoring technology that allows high-end GIS users to create data that includes complex editing, such as maintaining a complex electric utility network or editing a local government parcel database. It includes a wide variety of analytical tools, such as the ability to do routing, visibility analysis, line-of-sight analysis, spatial statistics, geostatistics, overlays, location-allocation analysis, and data management. In short, it allows you to create layers either from direct editing or as a result of analytical operations, and lastly, it allows you to publish your results (including analytical tools) to ArcGIS Server so that you can share it with others in your organization. You can even build scripts with Python or powerful tools with ArcObjects. Although ArcGIS Desktop has been around for about 15 years now, it is still the workhorse of Esri for the GIS power users. Despite this, it will eventually be replaced by its successors called ArcGIS Pro, which is the next natural step from the 32-bit ArcGIS Desktop to ArcGIS Pro, which is 64-bit technology.

ArcGIS Desktop and ArcGIS Pro are very important to the ArcGIS Runtime developer because they allow you to create layers and map objects that you may consume in your Runtime app. As ArcGIS Pro more and more begins to supplant ArcGIS Desktop, you will find that Pro will be more important to you as your requirements and needs grow.

After you've created layers and maps, you will need to make these applications available to ArcGIS Runtime. This is done with ArcGIS Desktop or Pro as a web service. There are several kinds of service that you can expose and that ArcGIS Runtime can use. You can publish and consume basemaps, map packages, tile packages, map servers, feature services, and so on. Throughout this book, these topics will be expanded on and consumed in the code examples.

Once a service has been created, it can be consumed with AGOL or Portal for ArcGIS (Portal). Users can add these services to their online maps and do further analysis with them. It should also be noted that users can also publish content on AGOL or Portal for ArcGIS without ArcGIS Desktop. On AGOL, you have the ability to create and use data in some pretty awesome ways. For example, with AGOL you can do Hot Spot analysis without ever needing ArcGIS Desktop or Pro. You can even add data to an online map in AGOL and ArcGIS Runtime can consume the resulting service. So, do you really need ArcGIS Desktop or Pro? Well, like anything, it depends. If you need sophisticated analytical or editing capabilities, Desktop or Pro is the technology to use. Otherwise, you may find that AGOL may be more than sufficient. In the end, each technology should be carefully evaluated along with the cost. If you're building a somewhat basic consumer product, you may find that AGOL will be more than sufficient. On the other hand, if you're part of an enterprise GIS that has invested in GIS technology and staff, it's makes perfect sense to use Portal, and Desktop, and Pro. Many organizations use Desktop/Pro, AGOL, Portal, custom web and desktop apps, and other third-party enterprise systems and databases, all in an effort to satisfy their users.

For more information about the Esri platform, refer to http://www.esri.com/~/media/Files/Pdfs/products/arcgis-platform/architecting-the-arcgis-platform.