The ArcGIS Location Services are services hosted by Esri that provide geospatial functionality and data for building mapping applications. You can use the service APIs to display maps, access basemaps styles, visualize data, find places, geocode addresses, find optimized routes, enrich data, and perform other mapping operations. The services also support advanced routing operations such as fleet routing, calculating service areas, and solving location-allocation problems. To build applications you can use ArcGIS Maps SDKs, open source libraries, and scripting APIs.
This process also can be replicated if users have [ArcGIS Enterprise] (https://enterprise.arcgis.com/en/)
A service area, also known as an isochrone, is a polygon that represents the distance that can be reached when driving or walking on a street network. This type of analysis is common in real estate search or determining the driving proximity to schools, businesses, or other facilities. For example, you can create a drive time polygon that represents how far you can drive in any direction from the center of a city in 20 minutes.
You can use service areas to build applications that:
In this Quickstart you will be go over the steps of calculating servicearea/isochrones using the ArcGIS Location Services. You will also be visualizing them using ArcGIS Pro.
It is assumed that you have the following skills:
This tutorial requires ArcGIS account, preferrably with appropriate privileges to create API key and optionally to connect via ArcGIS pro. If you do not have those privileges or wish to create one, you can sign up for an ArcGIS Online Trial account.
You will be invoking API services in ArcGIS, using Snowpark UDF. For this, you will need to create an API key with appropriate privileges as found in the documentation: Create API key credentials.
Keep the API key saved in a secure location. You will need it in the folowing steps.
You will be visualizing the service area using ArcGIS Pro. To do that, you will need to connect to your Snowflake account from ArcGIS Pro.
Follow the instructions in the documentation: Connect to Snowflake from ArcGIS.
In this step, you will create a new database, schema, and warehouse to store the data and run the queries.
NOTE: To keep it simple, we will using the accountadmin by default. But in real world, you should be using a custom role with the appropriate privileges.
Open up a new SQL worksheet and run the following commands. To open up a new SQL worksheet, select Projects » Worksheets, then click the blue plus button and select SQL worksheet.
use role accountadmin;
-- you can create the warehouse as below or use any
-- existing warehouse that you have access to.
create warehouse if not exists compute_wh
warehouse_type = standard
warehouse_size = xsmall
auto_suspend = 600
auto_resume = true
initially_suspended = true
;
create database if not exists arcgis_db;
-- a default schema 'public' is created by default when a database is created.
The codebase needed for the quickstart is available in the notebook. You will need to import it into your Snowflake account as follows:
Download raw file
from the top right. Project
> Notebooks
from the left menu bar.Import from .ipynb
from the dropdown.Open
.Create Notebook
dialog will show up. Select database, schema, and warehouse for the Notebook and click Create
. Once all the cell has been executed successfully, you will see the following objects in the database.
The notebook also creates an quick visualization of the service area also:
In this step, you will be connecting to your Snowflake account from ArcGIS Pro and visualize the service areas.
Once you have added the features to the map, you will see the service area and the warehouse location as shown below:
Having gone over the tutorial, you now have seen how to communicate with ArcGIS Location services and enrich your data.
Snowflake provides powerful solutions when you bring Snowflake's advanced analytics, a rich set of geospatial functions, Cortex (Generative AI), Snowpark and Streamlit's visualization capabilities together. With a rich dataset of marketplace providers, and the ability to enrich and derive insights on your data and new use case is easier.