Contribute Your Dataset to OSM
If you're reading this, you likely have data existing in a feature class that you'd like to contribute to OpenStreetMap. This topic will guide you through steps on how to do so; however, it is
that you first understand some things about contributing to OSM this way.
Very Important Note about Imports
In the OSM community, contributing an existing dataset to OSM is called Importing
. In general, importing data into to OSM is not encouraged by the OSM community for a variety of reasons (see the
OpenStreetMap article on Importing
). If you understand the reasons and still believe your dataset will enhance the OSM dataset, then please also do the following before you import:
- Read the Import Guidelines topic on the OpenStreetMap documentation site. Verify that your contribution follows those guidelines. It is especially important to look at the latest edits in
the area to which you will import your edits, and not import your dataset if it will overwrite existing OSM data that is more detailed, accurate, and/or up-to-date than yours.
- Get permission from the OSM community first before importing. The
Import Guidelines require you to do this by posting to the
Imports mailing list, and advising you also to communicate with the local OSM community at the location of the dataset you want contribute. The community will appreciate your openness to feedback, and opening the conversation can head off problems before
Steps Using ArcGIS Editor for OSM Desktop
- First, make sure you read the
Very Important Note about Imports above.
- Next, check that your dataset is free from
licensing restrictions that would prevent you from contributing it to OSM.
- Now you are ready to proceed. What you will do at a high level is prepare your dataset for uploading to OSM by appending it to a container dataset with an OSM-enabled structure. During the append process, the ArcGIS Editor for OSM tools will track the append
into the revision table (auto-created when you download data from OSM using these ArcGIS tools) that will be uploaded to OSM to officially contribute your data. Follow these steps in detail below.
Step 1: Download an area from OSM
OSM data has a specific structure that your existing ArcGIS feature class likely does not have. You will need to get a skeleton OSM-enabled ArcGIS dataset into your ArcMap environment to which you can add your dataset. The ArcGIS Editor for OSM tools translate
the OSM data into an OSM-enabled ArcGIS feature class. To get this OSM-enabled ArcGIS feature class, use one of the methods for Downloading data from OSM as described in the
Download Data from OSM
documentation. Note, if you used the .OSM file method, you'll need to run the "Load OSM File" tool afterwards. Once you have finished downloading data from OSM with the ArcGIS Editor for OSM tools, the result should
be that you have a feature dataset that will be the "Target" OSM-enabled ArcGIS feature dataset to which you will append your data.
From this point on, we will refer to this resulting OSM-enabled dataset as the Target, and the data you want to contribute as the Source. Now, add your source data to the map document, such that you can now see your source data and the downloaded OSM feature
classes in the same view.
Step 2: Recalculate the Spatial Grid Index of your Target dataset (optional)
It is possible that the target feature classes do not contain features that are as large as your source data. To avoid errors later on, you may need to recalculate the spatial grid index of the target dataset. This step is optional, but if you don't do
it and you get an error about the spatial grid index, then remember to come back to this step. To recalculate the spatial grid index, follow the instructions at the
Esri Knowledge Base Article 35007
Step 3: Investigate field mappings and Add missing fields to the target
Identify what type of feature class is your source data - point, line, or polygon. Open the Attribute table for the target feature class that corresponds to that type - e.g., targetDatasetName_pt, targetDatasetName_ln, or targetDatasetName_ply. Now open the
Attribute table for your source dataset. Compare the attributes for each dataset. Does the information in your source table map to any of the columns defined by OSM in the target dataset? Write down these mappings. Is there data in your source dataset that
you know exists as a tag
in OSM but is not in the table? If so and you want that information to be added to OSM, use the OSM Attribute Selector tool to browse to the target feature class and select tags
from OSM that should be added to the target's table. Add this mapping from your source dataset to this new column in the list of mappings you're writing down.
Step 4: Append the Source to the Target
After adding any missing fields to the target feature class, you are ready to append your source data to the target. In the ArcToolbox Window, Open the 'Data Management Tools' toolbox, and then the 'General' toolset. Select the 'Append'
tool. In the 'Append' dialog, fill in the following:
- Input Datasets: browse to your source feature class
- Target Dataset: browse to your target feature class (e.g., targetDatasetName_ln, pt, or ply)
- Schema Type: select 'NO_TEST' from the drop down
- Field Map: if you identified mappings between your source and target it in Step3, here is where you make that mapping clear. Right click on the first field name in the list for which you wrote down a mapping and select 'Add Input Field'.
From the list of available fields shown from the source dataset, select the one that maps to this field. Click OK. Repeat for each field in the list for which you identified a mapping. When finished with this field mapping, you can skip the next parameter
-Subtype- and click OK to initiate the Append.
When the Append has finished successfully, open your Attribute table for the target feature class, and note that the data from your source has been added to the bottom of the table.
Step 5: Make further data edits to the target feature class (optional)
If there are edits that you want to add to the data you appended to the target, start an editing session and proceed with editing. If not, proceed with the next step.
Step 6: Run the "Combine OSM Attributes" tool - mandatory if you added tags/columns to your Target
If you ran the "OSM Attribute Selector" tool earlier, or if you manually added a field to your Target feature dataset, then you will need to run the "Combine OSM Attributes" tool on all added tags/fields before Uploading to OSM. If you do
not run the tool on the fields, it is possibly that your data will not upload or that it will upload but you'll lose the values of those fields. The "Combine OSM Attributes" ports standalone attributes back to the data structure uploadable to
Step 7: Upload OSM Data
Now that your dataset is integrated with an OSM-enabled feature class, you can upload it to OpenStreetMap. Click the Upload OSM Data tool, and follow instructions at the
Upload to OSM
documentation. Note that in this step you are not re-uploading the data that you downloaded from OSM; what really happens is the information in the table that tracked the revisions, including your append and any of the edits afterwards, is