Create a Network Dataset from OSM Data

Important: this functionality is only available in the ArcGIS Editor for OSM version 2.1.

A Network Dataset is a dataset that describes the travelling of an agent - e.g., pedestrian, truck driver, cyclist, etc. - along a route. See What is a Network Dataset? for more. Analyses such as the quickest route between two points, the area of service for a business, what barriers are in the path of a specific route, and more are possible when working with a network dataset. ArcGIS provides tools for such analysis through the Network Analyst extension.

This workflow describes how to use the ArcGIS Editor for OSM’s Create OSM Network Dataset tool to create a network dataset from OpenStreetMap data.

Important: Your network will only be as good as the underlying data. Some areas of the world simply do not have adequate information to facilitate creating a useful network dataset. While you are working with the network dataset tools for the first time, choose an area that is likely to have good routing information – a good place to start are some of the larger European cities. Once you are comfortable with working with the tool, then try other locations – you may discover there is a lot of important routing information you can contribute to OpenStreetMap for these areas!


Follow the steps below to Create a Network Dataset from OSM Data.

Verify that the Network Analyst extension is checked

The Create OSM Network Dataset tool leverages functionality native to the Network Analyst extension. This must be turned on to run the Create OSM Network Dataset tool successfully. To turn it on, click the "Customize" menu at the top of ArcMap, and select the "Extensions" submenu. Then verify that there is a check next to the Network Analyst extension.

Disable Background Processing in "Geoprocessing Options"

There is a known issue with running the Create OSM Network Dataset tool when background processing is enabled. The result will be ArcMap crashing or the tool not completing successfully. To disable background processing, follow instructions in the Foreground and background processing ArcGIS 10.1 help topic.

Acquire an OSM Feature Dataset

First, you will need to acquire a feature dataset that is based on OSM data. Two ways to acquire this data are:
  1. Run the Download, Extract, and Symbolize OSM Data tool. This will result in a feature dataset based on OSM data. One drawback here is that OpenStreetMap enforces a 50,000-node limit for data downloaded from their server in one session. 50,000 nodes will not be a large area in places like Europe, where the OSM data is quite detailed. Therefore you may discover your route area is small; this is ok while you are getting used to the tools but not ideal for more practical routing.
  2. Download an .osm file and load it as a feature dataset using the Load OSM File tool. You can acquire a .osm file from a variety of online sources, or you can use the Download OSM Data (XAPI) tool in the OpenStreetMap toolbox to create one. After acquiring the file, run the Load OSM File tool on the .osm file to translate the .osm into a feature dataset.

Use the Create OSM Network Dataset tool

After you've acquired a feature dataset from OSM, and a Network Configuration File, you can run the Create OSM Network Dataset tool. Browse to the tool in your OpenStreetMap Toolbox, and doubleclick to launch it.

Fill in the parameters as described below:
  • Input OSM Feature Dataset: Browse to your OSM Feature Dataset.
  • Network Configuration File: The Network Configuration File defines the rules for generating your network dataset from the OSM data. The way you will use your network will determine which config file you use - and how you might want to adjust it to better suit your needs. For example, a riverbank can be a barrier if you’re defining a road network, or it can be a thoroughfare if you’re doing ship navigation. There is no automatic way to set these rules, but the OpenStreetMap toolbox contains network configuration sample files you can use to get started. Alternatively, if you want to generate a configuration file from scratch, see Generate a custom Network Configuration File Script. When you're first getting familiar with this tool, we recommend you use the configuration file that come with the OpenStreetMap toolbox. Browse to them from this Network Configuration File field in the tool dialog:<ArcGIS Installation Directory>\ArcGIS\Desktop10.1\ArcToolbox\Toolboxes\ND_ConfigFiles Which file you use depends on your use case - use CycleGeneric.xml for bicycle routing, DriveGeneric.xml for automobile routing regardless of spatial reference, or DriveMeters.xml for automobile routing in meters (e.g., NOTE: if the spatial reference of your osm feature dataset has a linear unit of meters; will result in faster routing performance. Will not work if linear unit is not meters).
  • Output Network Dataset: This field will auto-populate after the first parameter is filled in, and is the name of the network dataset that will be created.

Important: After running this tool, your OSM feature dataset will be transformed into a Network dataset. You will be able to use all the functionality available for ArcGIS Network Datasets with your resulting network dataset. Your new network dataset will also include feature classes for barriers, turns, junctions, and roads. After generating the network dataset, you can use the ArcGIS Network Analyst extension tools to work with the dataset. The OSM-specific tools in the OpenStreetMap Toolbox can be used on your source data, but not on the resulting network dataset.

Back to Code In-Progress Notes

Last edited Feb 5, 2013 at 3:53 PM by eggwhites, version 11


No comments yet.