Host vector tiles on Internet Information Services (IIS)

Vector tiles can be hosted locally or in the cloud. This tutorial shows how to configure Internet Information Services (IIS) and use it to host vector tiles.

Prerequisites

To complete the following steps, you will need:

  1. A running Spark session configured with ArcGIS GeoAnalytics Engine.
  2. A notebook connected to your Spark session (e.g. Jupyter, JupyterLab, Databricks, EMR, etc.).
  3. A Windows machine with IIS.

Steps

Configure IIS

You will need to create a website on IIS and provide the path to the vector tile result as the physical path. Some settings need to be configured on IIS first.

  1. Add pbf file types in the MIME types.

    1. Click on the Default Web Site on IIS.

    2. On the properties on the right, open MIME types.

    3. Add a new action as: File name extension: .pbf / MIME type: application/x-protobuf

  2. Enable CORS.

    1. Click on the web site you created.

    2. On the properties, open HTTP Response Headers.

    3. Add a new action as: Name: Access-Control-Allow-Origin / Value: *

Update the vector-tile.json file to use the hosted location

  1. The vector-tile.json file has a tiles property which is empty. Update it to point to the folder where the .pbf files are hosted. 

    Here is how the tiles property in the json file looks after it is generated by GeoAnalytics Engine:

    "tiles" : ["{z}/{y}/{x}.pbf" ]

    Change it something like the following:

    "tiles" : [ "http://<server>/vector_tiles/earthquakes/{z}/{y}/{x}.pbf" ]

    Where <server> is your IIS web server in this case and vector_tiles is the website that points to the physical location where the vector tiles are written.

You should now be able to view the vector tile result in client applications with access to your web server. The steps outlined in the Vector tiles core topic explain how to add hosted vector tiles to a map in ArcGIS Pro or a MapBox web app.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.