Welcome to the GeoDev How-to series!
This is a series of articles designed to show you how to build mapping applications quickly with the ArcGIS platform. They assume you’re interested in code, you are interested in mapping, geodata and analyses, and you want to build a web or mobile app quickly.
In this how-to you will...
- Sign up for a free developer subscription
- Learn the workflow for creating apps with the ArcGIS Platform
- Review important ArcGIS tools, APIs and services
Step 1: Sign up for a free ArcGIS Developer Subscription
The first step to building an app is to sign up for a free ArcGIS Developer Subscription. This account is your entry point to the entire ArcGIS platform. With a subscription you can:
- Get the latest APIs and SDKs
- Build and register apps
- Create, store and manage geodata in the cloud with ArcGIS Online
- Access advanced geospatial web services
- Perform geospatial analyses
Sign up for a developer subscription here.
|Tip: Please note that there are actually three different types of ArcGIS accounts: 1) ArcGIS Online public accounts, 2) ArcGIS Organization accounts and 3) ArcGIS Developer accounts. If you have a public account, you will need to create a new developer account to get a developer subscription. If you already have an ArcGIS Organization account, you can just use that by logging into ArcGIS for Developers. Learn more about accounts here.|
Step 2: Learn how to build an ArcGIS Mapping App
There are a number of ways to build applications with the ArcGIS platform but here are the general steps.
1. Create or Access Data in the Cloud
In order to tell a story, every mapping app needs data. The easiest way to create, access and manage data is to store it in the cloud with ArcGIS Online as web layers. The two basic types of web layers are Feature Layers (Feature Services) and Tile Layers (Tile Services). Feature Services are just points, lines and polygons stored in the cloud. They also expose RESTful web services that provide you mapping and query functionality. After you create a feature service you can access it directly via the ArcGIS REST API but it’s often easier just to access them with the ArcGIS SDKs and APIs. Tile services are another type of data that you can store in ArcGIS Online. Tile services are also web services that you can access with your applications. These are handy when you have large datasets and you want to draw them as images instead of rendering individual features. Learn more about web layers and services here.
There are three main ways to access data for your apps:
- Search: Use the search tool in the ArcGIS Online gallery or the map viewer to find existing maps and layers.
- Upload: Import your own data such as .csv, .shp (shapefile) and .geojson to create a new hosted feature service.
- Create: Define a brand new empty dataset, add data to it and publish it in ArcGIS Online as a feature service. Log in to ArcGIS for Developers for this.
Here’s an example of using ArcGIS Online to search for coffee shop layers in Portland.
2. Design a Map and Perform Analyses
Before you write any code, it’s always best to do as much prototyping and analysis as possible using the ArcGIS Online Map Viewer. The viewer is a free online mapping app that lets you create maps, perform analyses and edit data. The viewer also provides the functionality to design and author nice maps. You can style map layers, change symbols, colors and textures, swap basemaps, configure pop-ups, and control layer visibility at different zoom levels. Any map that you create with the viewer can also be saved in ArcGIS Online and used directly in any app you build. Designing a good map is one of the most important aspects of mapping development, so this is a very important tool to get familiar with! Also, using the viewer will give you some exposure to what functionality is available at the API-level when it comes time to write code. Learn more about the map viewer here.
Here are a few other things you can do with the map viewer:
- Add data (map layers) to your map
- Create new points, lines and polygons and edit them interactively
- Change the basemap (gray, topographic, streets…)
- Change symbols and colors
- Edit popups
- Perform geospatial analyses, such as buffering, shortest path and point-in-polygon
- Save maps for future reference
- Share maps with others
- Move your map into a pre-built template
- Share maps as ready to use customer apps
Here's an example of a map created and styled with the map viewer to show coffee shop density.
Tip: You can perform a number of different spatial and social-economic analyses with the map viewer. Learn more about the types of analyses you can do with ArcGIS Online and the map viewer here.
3. Create and Share your App
The last part of the workflow is where you actually build an application. The two most common types of apps are web apps that you build with templates or the Web AppBuilder or custom mapping apps that you build with with the ArcGIS SDKs and APIs. In most cases, these apps consume maps, feature services or tile services directly. Learn more about the ArcGIS APIs here.
Here’s a brief list of the types of apps you can build:
- ArcGIS Mobile Apps - Native mobile apps that use the ArcGIS Runtime SDK for Android, iPhone and Windows Phone APIs.
- Desktop Apps - Apps that run on desktop operating systems that use the ArcGIS Runtime SDK for .Net, Qt, Java and Mac OS X.
Here’s an example of using the Web AppBuilder to design a web app that uses the coffee map created earlier.
Tip: Learn more about how to build your own HTML5 apps with the Web AppBuilder here.
Step 3: Learn more about ArcGIS
If you are new to the ArcGIS platform, it’s also worth reviewing the following tools and resources and familiarizing yourself with some of the terminology before diving in too far.
- ArcGIS for Developers - Website for all of your ArcGIS developer needs including tutorials, API docs and many samples.
- ArcGIS Online Gallery - Search for shared web maps, layers, and apps.
- ArcGIS Online Map Viewer - A powerful, online mapping application that runs in your web browser. Use this tool to create, symbolize and share maps and data. You can also use this tool to perform powerful geospatial analyses.
Geospatial Web Services
- Map Services - basemaps such as topographic, subtle gray, and world streets.
- Feature Services - visualize, query, add, update or delete features (points, lines, polygons) in the ArcGIS Online cloud.
- Geocoding - find locations, places, businesses and addresses all around the world
- Directions and Routing - get driving directions, find the closest facility, perform multi-stop routing, calculate drive-time polygons.
- GeoEnrichment - find demographic information for places, average age, household income and a lot more. There are hundreds of different data attributes.
- Spatial Analysis - find points that intersect polygons, create buffers, add/subtract data.
- Geometry Service - run complex operations such reprojection, convex hulls, areas, length and intersection.
- Elevation Analyses - access world-wide elevation data, generate 3D features, create elevation profiles, viewsheds and watersheds.
- GeoEnrichment API and associated Demographic data attributes
- Geotrigger for iOS and Android and geotrigger-js
- ArcGIS REST API
GeoDev How-to: Perform spatial analyses for your mapping app [coming soon]