Skip to content

Add or change OSM features

Christine White edited this page Jul 8, 2013 · 1 revision

Note: In most circumstances, you would not need to do this customization. This customization is for fundamental changes - e.g., you are downloading OSM data from a different endpoint than the openstreetmap.org endpoint and you therefore want to map to a different data model than the OSM data model supported out of the box.

To support this, you will create a new version of the "osm_domains.xml" file, edit it, and then update the Editor Options in ArcMap to reference your customized file. The "osm_domains.xml" file, found in the \\OSMEditor\bin folder, describes the main features of the data model and what type of geometry they represent. The XML file has the following outline:

  • OSMDomains: the root level
  • domain name=””: name of domain level
  • domainvalue value=””: each domain level has one or more values
  • description: brief description of what this value represents, currently not used
  • geometrytype: one or more geometry types for the value as in point, line, polygon
Here is an example of the default feature domain description:
<OSMDomains>
  <domain name="highway">
    <domainvalue value="motorway">
      <description>A restricted access major divided highway, normally with 2 or more running lanes plus emergency hard shoulder. Equivalent to the Freeway, Autobahn, etc..</description>
      <geometrytype>line</geometrytype>
    </domainvalue>
...
  <domain name="barrier">
    <domainvalue value="hedge"> 
      <geometrytype>line</geometrytype>
      <geometrytype>polygon</geometrytype>
      <description>is a line of closely spaced shrubs and bushes, planted and trained in such a way as to form a barrier or to mark the boundary of an area.</description>
    </domainvalue>
...
The domain elements are translated into attribute fields in the geodatabase using the XML attribute name as the field name and the XML domainvalue elements as an associated domain of the respective geometry type. In the snippet above, highway_ln, barrier_pt, and barrier_ply are generated as domain tables in the geodatabase. The geodatabase fields and the associated domain tables are used to derive the feature templates for the editor.

Make a copy of this file, and give it a name that will distinguish it to you, e.g., osm_domains_emergency.xml. You can add additional domain values to this file, or delete existing ones that you will never use. Then, you will point to this file instead of the default osm_domains.xml file when using the OpenStreetMap tools in ArcMap.

Important: if you add domain values to this file, the domain values cannot contain special characters (e.g., punctuation marks, symbols, etc.) . ArcGIS will convert the special characters into underscores, or simple report an error.

After you have updated the domain values, you may want to make specific feature properties available for those domains. To do this, you will need to create a customized OSMFeatureProperties.xml file. See Add or Change Feature Properties.

Update Feature Templates Each attribute field is broken into its own layer with an associated unique value renderer (see http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00s50000003m000000.htm) using the domain table as the driver for elements in the Table of Contents. Each layer and each feature is then used to create the feature templates (see http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/About_feature_templates/001t000003zm000000/). The resulting feature templates with the appropriate symbology are then the second entity for the data model. So if you add new domains to the osm_domains.xml file, you will need to update the feature template as well.

Please note that point layers also have a definition query applied ("osmSupportingNode" = 'no') such that only point features are rendered as opposed to points that are essentially vertices in other cartographic features. The feature templates are grouped by geometry (points, lines, polygons) and they are stored as layer files on disk for use in the OSM Feature Symbolizer geoprocessing tool.

Using the Updated Data Model Once you've created new updated configuration files, you can reference them in the editor options on the OpenStreetMap tab. To do this, see Change OSM Editing Options.


Back to Documentation