5

I want to calculate the coordinates of a new point.

What I have: The source point coordinates, the distance (meters) and the angle

For example: I want to create a point within 100 meters and 45 degree from my source point

I use wgs84 as coordinate system. My question now is if it's possible to calculate a new point with the given attributes above and when its possible how I can do that.

I use the ArcGIS iOS SDK, but I haven't found any method in there to solve my problem.

PolyGeo
  • 65,136
  • 29
  • 109
  • 338
E. Lüders
  • 363
  • 1
  • 3
  • 7
  • 1
    What software are you using? Is this a question about programming or just about using a GIS? – MerseyViking Aug 22 '12 at 10:31
  • I use the ArcGIS iOS SDK, but I haven't found any method in there to solve my problem. – E. Lüders Aug 22 '12 at 11:09
  • 4
    What if your source point is at the north pole? What direction is 45 degrees? There's no meaningful x-axis in WGS84 at the poles. – Spacedman Aug 22 '12 at 12:30
  • 2
    This is an FAQ whose answer can be found by searching the site using keywords including "distance", "coordinates", and "angle". Although nobody would be expected to find this, working code for the solution appears in the goto function posted at http://gis.stackexchange.com/a/31401. – whuber Aug 22 '12 at 14:16
  • @Spacedman You're right. At the poles bearings have to be defined by convention, such as designating a meridian. But such exceptions are unavoidable as shown by applying the hairy ball theorem to the 2-sphere. It implies that no matter how you try to define a consistent, continuously varying set of standard reference directions, there will always be at least one point on earth where that's not possible. – whuber Aug 22 '12 at 14:29
  • 1
    @whuber - Another almost identical question, with answer can be found here: Convert (Bearing, distance, xy coordinate measurement) to point shapefile – Get Spatial Aug 22 '12 at 16:31

2 Answers2

3

If the data you will be using is on the scale of the given example, you can treat the problem and Earth as flat without significant accuracy loss. If that does not violate your use case, then calculate the metric shift for both dimensions like you had a triangle and convert it back to degrees. The only tricky part is that the longitude degrees are not of constant length (narrowing from the equator to the poles) and you have to multiply them by the cosine of the (freshly computed) latitude to compensate before using them as a conversion factor. You end up with the coordinate shift in degrees, which you then just add to the first point's coordinates.

lynxlynxlynx
  • 4,247
  • 3
  • 29
  • 45
3

I have attached a simple ArcGIS model that converts 1) source point coordinates 2) a bearing distance (angle) and 3) distance to a point shapefile. The only input is a .dbf or .csv file of your source point coordinates, bearing and distance. The output should be exactly what you are looking for. Best of luck!

enter image description here

Aaron
  • 51,658
  • 28
  • 154
  • 317
  • Does this work correctly for source data in geographic coordinates? – whuber Aug 22 '12 at 14:30
  • 1
    @whuber It should handle GCS fine. The default spatial reference for the bearing distance to line tool is GCS_WGS_1984. – Aaron Aug 22 '12 at 14:44
  • Thanks: I looked up the help at http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//0017000000ts000000 and it looks like it handles a GCS properly, but it's not perfectly clear. – whuber Aug 22 '12 at 14:52