Bearing distance to line with X/Y/Z

582
3
02-27-2019 11:53 AM
орел
Occasional Contributor II

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

ID    NAME    AZIMUTH    ELEVATION    DIST
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
DanPatterson_Retired
MVP Esteemed 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

/blogs/dan_patterson/2019/02/21/measuring-distance-in-3d 

0 Kudos
орел
Occasional Contributor II

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
DanPatterson_Retired
MVP Esteemed 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