I need to create three distance matrices for around 550 points spread throughout Africa, Europe and Asia. The first matrix represents great circle distances, the second is the shortest distance along a network of trade routes, and the third is the shortest great circle distance via a way point.

I've completed the first two and was wondering if anyone knew of a method in ArcGIS 10.3 to calculate the distances between every point in two point layers via a single point. For instance, I have a group of points in southern Africa (Layer 1) and another group of points in Kazakhstan (Layer 2). I have a waypoint in Cairo, Egypt (Layer 3). I need to calculate the great circle distance from each point in Layer 1 to the waypoint in Layer 3 and then the great circle distance to each point in Layer 2.

Right now I'm planning on using the Generate Near Table tool twice, once between Layer 1 and the waypoint in Layer 3, and then again with Layer 2 and the waypoint in Layer 3. I'll then combine the distances accordingly in excel. This will take a very long time since the distance matrix has roughly 250,000 lines, so if there is a tool that could calculate great circle distance via waypoints it would save me a ton of time.

Please let me know if you need any more information.

  • "This will take a very long time" -- how so? 250,000 results is quite a small dataset and number crunching it should be very quick. There shouldn't be a need for an intermediate step in Excel. – Paul Dec 3 '16 at 18:52
  • There are 15 layers. Since it's a matrix, and I need to measure the distance of all points in each layer to all points in every other layer, that's 210 times running a distance tool if there's one that allows for distance calculations with a waypoint. Without a tool that allows for the use of a waypoint, that 210 goes up considerably. This will take a very long time. – A2_Z2 Dec 4 '16 at 20:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.