Support for 3D methods and M values on ArcPy geometries

Idea created by xander_bakker on Feb 24, 2016
    • mvolz47
    • kjetil4
    • Hornbydd
    • ckrebs
    • dmaclean_gljpc
    • Dan_Patterson
    • xander_bakker
    Currently (ArcMap 10.3.1 and probably 10.4 too, ArcGIS Pro 1.2) the methods on the arcpy geometries do not support 3D or M values. For instance the method to determine a position on a line will do this 2D and not take into account the third dimension, if the geometry has it:

    arcpy.Polyline()::positionAlongLine (value, {use_percentage})

    See discussion:

    Neither is it possible to extract a part of a polyline based on the M values with

    arcpy.Polyline()::segmentAlongLine (start_measure, end_measure, {use_percentage})

    ... since the measures mentioned as parameters are distances (absolute or in percentage of the total length of the polyline). 

    See discussion:

    My request is to add additional methods and properties to ArcPy geometries to support Z and M values. 
    Perhaps initially additional methods for using M values for:
    arcpy.Polyline()::segmentAlongLineM(start_measure, end_measure, {use_percentage})
    arcpy.Polyline()::positionAlongLineM(value, {use_percentage})

    Additional methods for using 3D length values for:
    arcpy.Polyline()::segmentAlongLine3D(start_measure, end_measure, {use_percentage})
    arcpy.Polyline()::positionAlongLine3D(value, {use_percentage})
    arcpy.Polyline()::getLength3D({measurement_type}, {units})

    ... but I can imagine that these would be helpful too:
    measureOnLineM(in_point, {as_percentage})
    measureOnLine3D(in_point, {as_percentage})
    pointFromAngleAndDistance3D(angle, distance, {method})
    queryPointAndDistance3D(in_point, {as_percentage})

    ... and others