Some networks come encoded with Z and\or M values.  These are additional properties of the geometry and are not something you can see from the attribute table. Organisations sometime create these extra geometry properties but don't actually set them. For example, an organisation may have created their river network with Z values, but they are not set so they are given a default NaN value which stands for "Not a Number".

Not only do ZM values consume more disk space, they can cause the shapely module to error if not set.  This page shows you how to identify ZM enabled data and how to remove these ZM properties from the network.

  1. You can very easily check if your network is "Z" or "M" aware by opening up the attribute table. In the Shape field you will see either Polyline, PolylineZ, PolylineM or PolylineZM.  The same naming convention occurs for Point and Polygon Feature Classes.

ZM properties

  1. You can only remove ZM properties by copying the data to a new Feature Class. I recommend you create a new folder and copy your data into a new file geodatabase as described below.
  • You have created a new File GeoDatabase in a new folder. 

  • In the Catalog Pane, right click on your new GeoDatabase and choose Import > Feature Class(es).

  • For the Input Features parameter set this to be your dataset with the ZM values.

  • Click on the Environments tab. Set both M and Z values to be disabled.

  • Running the tool will import your data dropping any Z or M values.  You can visually check the results by opening the attribute table of your new Feature Class, it will show only the word Polyline in the Shape Field.

Environment Settings of tool