So I have tried to use Stack Profile in order to get a profile of beach DEM and get a projected intersection of cross-profiles.shp with coastline shapefile(coastlinewithZ.shp).
arcpy.StackProfile_3d('C:/Data/cross-profiles.shp', profile_targets=['C:/Data/DEM.tif', 'C:/Data/coastlinewithZ.shp'], out_table='profile_values.dbf')
But looks like Stack Profile does not work that way, so I got an error:
ExecuteError: Failed to execute. Parameters are not valid.
ERROR 000366: Invalid geometry type
ERROR 000840: The value is not a TIN Layer.
ERROR 000840: The value is not a Raster Layer.
ERROR 000840: The value is not a Mosaic Layer.
ERROR 000840: The value is not a Terrain Layer.
ERROR 000840: The value is not a LAS Dataset Layer.
Failed to execute (StackProfile).
So what is the easiest way to achieve it? I guess I should just do a casual Stack Profiles of DEM, then measure distances where cross-profiles.shp meets with coastlinewithZ.shp and add that distance to profile_values.dbf. If it is the right workflow, then what functions should I use for measuring distances and adding info to profile_values.dbf?