ArcGIS Blog

Developers

ArcGIS Location Platform

From Point A to Powerful: How Developers Are Taking Location Services to the Next Level

By Jorge Rivera and Alan Cassidy

When you first started your ArcGIS Location Platform journey, you likely dipped your toes in by embedding basemaps, doing simple geocoding, or visualizing points. These are great first steps, but there’s a rich world of more advanced location services waiting for you—services that can transform your apps and business systems into powerful, intelligent, location-aware tools.

In this guide, we’ll explore some of those next-level capabilities through concrete examples using routing, data enrichment, and geocoding, with code snippets and workflows in Python and JavaScript (plus REST) referencing specific applications across a range of popular industries: Financial Services & Insurance, Healthcare, IT/Tech, Real Estate, and Retail.

Why Bother with Advanced Location Services?

As soon as you start leveraging more than just a map, your app or system becomes actionable:

  • In Retail, knowing not only where your stores are but how far customers can drive within 10 minutes helps with site selection, marketing zones, and delivery logistics.
  • In Real Estate, service-area analysis can show potential buyers or tenants the reachable neighborhood given commuting constraints.
  • In Healthcare, service area mapping can help you estimate which areas are underserved by clinics or hospitals.
  • In Financial Services & Insurance, routing can feed into logistics or risk systems (e.g., cash-in-transit, claim adjuster visits).
  • In IT/Tech, a developer team building dashboards or decision-support tools can combine enriched demographic data with routing to serve business insights.

By now, you’ve probably been experimenting with basic location features — this article is about going deeper: how to build those experiences richer, and spatially intelligent.

Routing & Directions with Esri Leaflet (JavaScript / REST)

One of the most immediately powerful location services is routing, and with Esri Leaflet (plus the ArcGIS REST JS library), you can unlock it within open-source web maps.

Building a “Find Route & Directions” App

Using the Esri Leaflet plugin and the solveRoute method from ArcGIS REST JS, you can let users click on a map to define an origin and destination, compute the optimal path, and show turn-by-turn directions.

Use-Case Examples:

  • Retail: A delivery planning tool where dispatchers set pickup and drop-off points to compute routes dynamically.
  • Financial Services & Insurance: A field operations dashboard for cash-in-transit teams to plan secure routes.
  • Real Estate: An app on a listing site that computes driving directions from a user’s address to the property.

Here’s a simplified workflow:

    1. Set up a Leaflet map and vector basemap (e.g., ArcGIS/navigation) with Esri Leaflet.
    2. Add click handlers to let users set origin and destination points.
    3. Call solveRoute from @esri/arcgis-rest-routing with those points, passing authentication via API key (or OAuth).
    4. When you receive the route response, draw the geoJson route on the map and extract the directions from the response to display in a sidebar or pop-up.

This lets you build a lightweight, user-friendly routing UI with only open-source JS + ArcGIS services.

Service-Area (Isochrone) Analysis

Routing isn’t just about point-to-point paths—ArcGIS Location Platform supports service-area calculations, showing how far you can travel from a given point within specified time/distance limits.

With Esri Leaflet + REST JS, you can call the serviceArea endpoint to compute (for example) 5-, 10-, and 15-minute drive-time polygons.

In this guide, you can learn how to:

  • Handle map clicks to define facilities.
  • Call serviceArea with default breaks (e.g., [5,10,15]).
  • Style each resulting polygon using FromBreak to color-code by travel time.

Use-Case Examples:

  • Healthcare: Visualizing clinic coverage areas to identify underserved zones.
  • Retail: Defining marketing territories or delivery zones around store locations.
  • Real Estate: Showing how accessible a property is by driving (or walking), which is often a key value proposition for potential buyers.

Data Enrichment with Python: Study Areas & Demographics

While routing provides network analysis, data enrichment gives you context: who lives in or around a location, what their demographics are, and what behaviors or attributes characterize those communities.

The ArcGIS API for Python makes data enrichment accessible via the arcgis.geoenrichment module.

Defining Study Areas

The concept of a study area is fundamental to enrichment. Using Python, for example, you can construct study areas in multiple ways:

  • Single-line or multi-field street address: You can enrich a point specified by an address string or a collection of address components.
  • Geometries: Provide geometries such as points, lines, or polygons.
  • Buffered study areas: Around a point, you can define a drive-time or drive-distance buffer for enrichment.
  • Named statistical areas: Use standard geographies (e.g., census tracts) as study areas.

Use-Case Examples:

  • Real Estate: For a proposed development parcel, enrich with demographic variables (age, income, household size) to understand the local market.
  • Retail: Before selecting a site, compute drive-time coverage demographics to estimate store potential.
  • Financial Services, Insurance: For branch planning, evaluate socio-economic attributes of populations within certain service areas.
  • Healthcare: Analyze patient base potential for clinics, understanding age distributions or population density in drive-time zones.

Here’s a sketch in Python:

from arcgis.geoenrichment import enrich

from arcgis.geometry import Point, BufferStudyArea

# Example: define a point study area

pt = Point({“x”: -117.1956, “y”: 34.0572, “spatialReference”: {“wkid”: 4326}})

buffer_area = BufferStudyArea(pt, break_values=[5, 10], break_units=”esriDriveTime”)

# Enrich with selected variables

enriched = enrich(study_areas=[buffer_area], enrich_variables=[“Age”, “Households”, “Income”])

This returns a Spatially Enabled DataFrame or FeatureSet containing demographics around your study area.

Advanced Geocoding with Python

Geocoding—the process of converting human-readable addresses or place names into coordinates—is often the very first location service developers try. But the ArcGIS API for Python’s arcgis.geocoding module provides many advanced options that go far beyond simple single-line geocoding.

Flexible Input: Single-line vs. Multi-field

You can geocode using:

  • A single-line string (e.g., “20 W 34th, New York, NY”), or
  • A multi-field dict with structured components (“Address”, “City”, “Region”, “Postal”) to improve match precision.

Example snippet:

from arcgis.gis import GIS

from arcgis.geocoding import geocode

gis = GIS(“https://www.arcgis.com”, “username”, “password”)

# Single-line address

result1 = geocode(“20 W 34th St., New York, NY”, as_featureset=True)

# Multi-field address

multi = {

“Address”: “20 W 34th St.”,

“City”: “New York”,

“Region”: “NY”,

“Postal”: “10001”

}

result2 = geocode(multi, as_featureset=True)

Inspecting result2[0][‘attributes’] gives you not only coordinates but match score, address type (intersection, street, etc.), and more.

Advanced Parameters

Beyond the input format, geocoding supports fine-tuning:

  • search_extent: Restrict candidate results to a bounding box, helping improve relevance.
  • location + distance: Bias suggestions based on proximity to a given point. Useful in mobile apps where you want local results near the user.
  • category: Filter by place types (e.g., “Restaurant”, “Gas Station”).
  • max_locations: Limit the number of returned candidates.
  • lang_code: Request results in a specific language.
  • for_storage: If you plan to persist geocoding results in your own database, set this to True (note: this consumes credits).

Batch Geocoding

For high-volume workflows, the batch_geocode() function can process lists of addresses at once. You can pass:

Here is an example from Python API docs:

from arcgis.geocoding import batch_geocode

addresses = [

“20 W 34th St., New York, NY”,

{“Address”: “1 World Way”, “City”: “Los Angeles”, “Region”: “CA”, “Postal”: “90045”}

]

results = batch_geocode(addresses)

for r in results:

print(r[‘score’], r[‘address’], r[‘location’])

This is powerful for systems in Retail or Real Estate where you need to geocode many customers, properties, or prospects at once.

Common Issues & Debugging (and How to Avoid Them)

When working with these advanced services, it’s common to run into some pitfalls. These are a few frequently-seen issues users can run into and likely and how to address them.

  1. Invalid or expired token
    • If your API key or OAuth token expires, geocoding and routing calls will fail (e.g., “Invalid Token (Error Code: 498)”).
    • Fix: Re-authenticate your GIS object, ensure your credentials are refreshed, and wrap your calls in error handling to catch and retry.
  2. Overly broad search causing low-quality matches
    • If you pass in only a street address without city/region, you may get many candidates or poor matches.
    • Fix: Use multi-field addresses, set search_extent, and filter with max_locations or category to narrow candidates.
  3. Batch size limits
    • batch_geocode() has a SuggestedBatchSize; exceeding it may truncate or fail.
    • Fix: Use the suggestion size, split large jobs into chunks, and manage results incrementally.

Why This Matters Across Industries

Here are just some of the valuable ways the technical building blocks of ArcGIS Location Platform location services tie back to business outcomes:

Industry Business Implication Location Service Use-Case
Retail Define realistic coverage zones, tailor marketing segments, decide where to open new stores or delivery hubs. Service-area polygons around stores (drive-time) + demographic enrichment
Real Estate Help clients understand access, commute times, and community profile. Routing + enriched demographics for development parcels
Healthcare Identify underserved regions, optimize clinic placement, support grant or policy decisions. Drive-time access polygons + enriched population data
FSI (Finance) Plan secure field-team routes, understand socioeconomic risk in branch coverage zones. Routing for cash-in-transit, branch visits; demographic enrichment
IT / Product Development Build spatial intelligence directly into your systems for internal or external users—without building GIS from scratch. Geocoding and routing embedded in dashboards or SAAS

Next Steps & Resources

By now, you should see how much more you can do with the ArcGIS Location Platform beyond just dropping pins on a map. Here’s how to keep going:

  1. Explore the docs and tutorials
  2. Prototype
    Choose one of the services (routing, data enrichment, or geocoding) and build a small prototype app aligned with your business domain. For example:

    • A map that displays service-area polygons for your address list.
    • A small form that takes a list of customers/prospects (in CSV) and geocodes them in batch.
    • A dashboard that shows enriched demographic metrics around key store or office locations.
  3. Measure & iterate
    Track performance (how fast are responses?), monitor usage and costs along with data quality (match scores, enrichment variables). Use that feedback to refine your implementation.
  4. Join the community
    If you run into issues or curious use cases, join the ArcGIS Dev community. Other developers often share tips, and you can help shape best practices.

Your first days with ArcGIS Location Platform probably focused on maps, simple points, and basic geocoding. Now, with routing, service-area analysis, rich demographic enrichment, and flexible geocoding, you can evolve your apps or internal systems into truly innovative solutions with real business impact.

Whether you’re building a customer-facing app or business system integration for retail, healthcare, financial services, real estate, or IT/Product Development—you now have a richer toolkit. The advanced services within ArcGIS Location Platform allow you to predict, plan, and optimize using location in smarter ways.

Use the code, use the tutorials, prototype aggressively—and don’t forget: the documentation spans Native mobile and desktop apps, game engines, and more. You have the flexibility to build in your language of choice, without being locked in.

Happy building and may your next stage of development with ArcGIS Location Platform unlock real value in your solution.

 

Interested in furthering your knowledge and staying current with what’s happening with Esri Developer Technology? Sign up for the Esri Developer Newsletter and follow @EsriDevs on X to get the latest.

Share this article