Bearing distance to line with X/Y/Z

02-27-2019 11:53 AM
Occasional Contributor III

I have a fc that looks a bit like the following:

01    first   60.5       28.3         100
02    second  125.2      14           100
03    third   90         7.8          100

Azimuth and Elevation are expressed in degrees.

I would like to create lines between these points (themselves with no Z value) and paired points that must be calculated along a trajectory from the starting point, for n meters (the DIST field).

Creating the lines once I have the paired XYZ is easy.  Getting to the XYZ is harder.  Math is not my strong suit, and I am curious how I would accomplish it in python.

Distance unit of measurements are in meters.  I want to keep this simple and relative, i.e., no need to account for curvature of the earth or terrain.  Just calculating a new point 100 meters away from the origin point in xyz space, assuming the trajectory provided by the azimuth and elevation angles and a flat X plane. 

0 Kudos
3 Replies
MVP Legendary Contributor

You have ruled out using....

Bearing Distance To Line—Data Management toolbox | ArcGIS Desktop 

Projected coordinates? 

what is your start point?

bearing... are they azimuth's from North? (bearings has several meanings

related to show it is doable


0 Kudos
Occasional Contributor III

start point for each calculation is the XY for each row in the point feature class.  I guess we just assume Z is 0 since it's not included in the data.

no local projection just 4326.

And yes, azimuth from North.

Your blog makes my head hurt but it's good stuff, thanks 

0 Kudos
MVP Legendary Contributor

Well to make it hurt more, I don't use geodesic (aka 4326, aka longitude/latitude), only planar coordinates (like utm, etc, aka, projected)

Since you already have the Long/Lat values, you should look at the

Bearing Distance To Line—Data Management toolbox | ArcGIS Desktop  tool

0 Kudos