Measure distance between points across polygon. Least Cost Path?

427
7
01-22-2020 11:44 AM
Highlighted
New Contributor

How do I measure distance around an object?

Here is my situation. I am trying to measure distance between points across an area of water. The water area is broken by swamps, islands, and other pieces of land. I cannot measure Euclidean (straight line) distance between points because I need to take land into account in this scenario.

I want to do something like I've illustrated below. I have drawn a line between two points across the water, moving through islands. The screen shot is just an example but you get the idea.

I have a feature class containing the points and a feature class of the water area. 

Least-Cost path solutions seem like they might be a solution. Two problems with this are... a lot of examples rely on a DEM, which I don't have because sea level elevation is 0. I've tried converting my water polygon to a raster object and using this as my surface raster, but have not gotten the desired result.

I think I don't understand the least-cost path tool in ArcGIS Pro

I've read the docs for this tool. A couple things I fundamentally don't understand are...

-There is an input field for the destination data, but how about the starting point?  How does this know what to measure between?  (I have many points)

-What is the input cost backlink raster? 

Of course, the cost path tool may not be what I need after all. Can anyone offer input? 

Reply
0 Kudos
7 Replies
Highlighted
Esri Esteemed Contributor

Hi Erich Purpur ,

The cost path is normally one of the last tools you use in a sequence of tool to get the result. You will have to use the Cost Distance tool (that uses the origin) to generate the cost distance raster and back link raster which are needed in the cost path tool.  In ArcGIS Pro 2.5 (to be released February 3rd) there will be better and enhanced tools to do this more easily. 

See also: Understanding cost distance analysis—Help | ArcGIS Desktop 

Reply
0 Kudos
Highlighted
MVP Regular Contributor

A quick and effective solution would be to create a network as a tesselation of lines inside your area of interest. You then plan arise these lines, this splits the lines where they meet. You then create a simple network from the lines. You can either erase the lines on the land then build the network, or use a land polygon as a barrier or cost. Then use network analyst to do the route solving.

Reply
0 Kudos
Highlighted
Esri Contributor

Erich

at 10.7.1 and 2.4, you can use enhancements to the euclidean distance tools to accomplish this. Please see this blog post.

Regards,

James Tenbrink

spatial analyst team

esri

Highlighted
New Contributor

Thank you for the link to the blog post Jim Tenbrink‌. This looks like exactly what I want to do. However, it appears I do not have the same Euclidean Distance tool as you do in the article.  Also, I have verified that I am using ArcGIS Pro 2.4 (also have 10.7 available).

Your Euclidean Distance tool looks like this: 

While mine looks like this (I'm searching for it as I would any other geoprocessing tool):

As you can see I do not have fields for 'input raster or feature barrier data', 'out back direction raster', and so on.

Am I missing something really obvious here?

Reply
0 Kudos
Highlighted
Esri Contributor

Erich:

I've installed 2.4 and verified the new parameters are there. On your machine's install of Pro, under Project Tab`About, please double check the version of pro you're at:

Regards,

-jt

Reply
0 Kudos
Highlighted
New Contributor

Thank you Jim Tenbrink‌ I was at version 2.4.0 but upgraded to 2.4.3 and it works now. The process works, except I am getting a polyline result for just one 'starting point'. I have multiple start points and one destination. After reading the documentation for the cost path as polyline tool, it is unclear to me if the output can be more than one line. It is a polyline object so multiple lines as output should be possible...  

Here is an example screenshot of my output polyline and parameters for the cost path as polyline tool. As you can see I just have the one polyline as a result:

Reply
0 Kudos
Highlighted
Esri Contributor

Erich:

For the "source" parameter of Euclidean Distance, you need to specify the "EndPoint" feature class and for the "input_raster_or_feature_destination_data" parameter fo Cost Path As Polyline, you need to specify the "StartingPoint" feature class. One polyline feature will then be emitted into the output feature class for each DATA cell in the StartingPoint feature class.

Also, once you get the process debugged and working ok, you might want to increase the resolution (decrease the cell size) of the process.

Regards,

-jt

Reply
0 Kudos