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{07c2b926d154bd5dc241f595a572d3349d41d98f2484798a4a616f4fafe1ebc0} 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 30, 2019

Introducing IBM Analytics Engine v1.2 and Announcing the Deprecation of IBM Analytics Engine v1.0

We are excited to inform you about the new version of IBM Analytics Engine v1.2 that will be available starting May 15, 2019. Along with this release, Analytics Engine v1.0 will be retired.

Continue reading

April 23, 2019

Announcing the Deprecation of the Watson Machine Learning JSON Token Authentication Service

We’d like to inform you about the deprecation of the Watson Machine Learning JSON Token Authentication service. This method of authentication will be retired on May 30, 2019.

Continue reading

April 9, 2019

IBM Cloud Continuous Delivery is Now Better with Unlimited Insights

Starting this month, we are bundling IBM Continuous Delivery and IBM DevOps Insights to make the build, test, deploy, and learn experience on IBM Cloud even better.

Continue reading