How-tos

Geospatial developer tools, global maps, and data. Getting Started with Esri ArcGIS

Share this post:

Late last year, Esri announced a new partnership with IBM to bring our geospatial developer tools, global maps, and data capabilities to Bluemix, making it easy to build and deploy geo-spatially enabled and extended IoT, Web, and Mobile apps. This blog post shows you how to get started with Esri’s ArcGIS Developer Plans on the Bluemix platform.

Esri builds ArcGIS, the world’s most powerful mapping and spatial analytics software. ArcGIS applies The Science of Where™ to connect everyone, everywhere through a common visual language. It combines mapping and analytics to reveal deeper insight into data. Esri GIS technology is used by tens of thousands of government organizations around the world, including 75% of Fortune 500 companies.




The ArcGIS Developer program offers a cost-effective way to license ArcGIS products and access, build, test, deploy, and license developer API’s and SDK’s. Whether you’re building apps or extending the ArcGIS platform, the Developer program has free and for-fee subscription plans specifically tailored to best implement your solution.

Esri’s ArcGIS APIs and SDKs allow you to create apps that include mapping, visualization, and analysis on Bluemix. ArcGIS for Developers has ready to use REST services such as Directions, Geocoding, and Geoenrichment that you can use in your Bluemix application.

How to use the ArcGIS Developer plans on Bluemix

To begin, you need to have a Bluemix account.

You can use ArcGIS SDK’s and API’s via the Bluemix console.

Screen shot showing Esri's service on Bluemix catalog

From the Bluemix Dashboard, click the Browse Catalog button, ‘Applications Services’ subgroup, and select the Esri tile (icon shown above) from the displayed icons list.

To get started using ArcGIS on Bluemix:

  1. Sign up for a free ArcGIS Developer Account.Screen shot of Esri app building page
  2. Sign in to ArcGIS for Developers.
  3. Go to the applications list.
  4. Select Create New App and register your application.Now that you have registered your application and obtained a client_id and client_secret, you can implement your app login to obtain a token.ArcGIS offers many paths to assist you with this process. There is an ArcGIS API for JavaScript and ArcGIS Runtime SDKs you can choose to implement in your app. Or, you can work directly with the ArcGIS REST API.For this sample, we are going to use the token that was generated when you registered your application along with HTTP POST requests and JSON responses using Python. Remember this is a short lived token, and you will be responsible for creating that token and also maintaining the security of those credentials. We are also going to use the geoenrichment service to find a location’s demographic characteristics.  To view the data sets available with the geoenrichment service check out the data browser on the Esri demographics page.Esri Bluemix demo
  5. Copy the token string in your registered application. If this has expired go ahead and renew it by clicking the Generate Token button.
  6. Open your favorite Python IDE and create a new project using Python 3.
  7. Install the requests module if you don’t have it.

    import requests
  8. Add the parameters for the request and copy/paste your token string.

    params = {
    'f': 'json',
    'token':
    'ILWJQ7doxrui_NnKE2skv3mYXUTcMPEy0ndgkJs8H5f76DfEtk7iGATMx_OP4RCkF3Bv6NK0MRbt1WLjj6-x1u3WiUkK2XPyY2BJ233hEHbjDaete8vYpn0ZNvlOLeDpUlaYuCNfHBAMFumINpRUmA..',
    'studyAreas': '[{"geometry":{"x":-97.741,"y":30.268}}]',
    'analysisvariables':'["populationtotals.TOTPOP_CY","Wealth.MEDHINC_CY","5yearincrements.MEDAGE_CY"]'
    }
  9. Set the geoenrichment service to use and post the request.

    url =
    'http://geoenrich.arcgis.com/arcgis/rest/services/World/GeoenrichmentServer/Geoenrichment/enrich'
    data = requests.post(url, params=params)

    print(data.json())

  10. This request will generate a 1-mile ring buffer around the point location with the following attributes: total population, median household income, and median age.

    "features" : [ {
    "attributes" : {
    "ID" : "0",
    "OBJECTID" : 1,
    "sourceCountry" : "US",
    "areaType" : "RingBuffer",
    "bufferUnits" : "esriMiles",
    "bufferUnitsAlias" : "Miles",
    "bufferRadii" : 1,
    "aggregationMethod" : "BlockApportionment:US.BlockGroups",
    "HasData" : 1,
    "TOTPOP_CY" : 23048,
    "MEDHINC_CY" : 52270,
    "MEDAGE_CY" : 36.8
    }
    } ]
  11. Now that you’re familiar with accessing services, you can now add those to some cool maps.

Support

Forums, Stack Overflow, and GIS Stack Exchange are free support options to all users, as well as access to all online documentation at Esri’s main support Web site.

A free subscription plan is available to get started using all our developer tools and data. Paid ArcGIS Developer Subscription plans and ArcGIS Deployment plans starting at $200/month and include phone, email, and live chat support.

Everything about Esri’s ArcGIS Developer program, our tooling, free samples, licensing, and pricing can be found online at our Developer Web pages, Esri’s Web site, and at GitHub.

Below are a collection of links to help you get started on your ArcGIS project.

Related links

Tutorials and Samples

SDK

API reference

Compatible runtimes

More How-tos stories
April 11, 2019

How to Automate TLS Certificate Rotation to Avoid Outages

In this post, we'll share how you can make sure you have end-to-end protection for data in transit without running into any TLS certificate expiry issues.

Continue reading

April 5, 2019

Node.js 502 Bad Gateway Issues and How To Resolve Them

In December of 2018, many Node.js users noticed that their applications randomly returned an HTTP status code 502 "Bad Gateway" error. In this post, we'll show you how to resolve this issue if you have been affected.

Continue reading

April 3, 2019

Managing IBM Cloud Resources with a Service ID Through the Command Line Interface

We are excited to announce that you can now log into IBM Cloud with a service ID in v0.15.0 of the IBM Cloud CLI. This enables users to manage IBM Cloud resources with a service ID created within an account through the command line interface.

Continue reading