<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: code for distance between points in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237159#M6132</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Li,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are looking to return the distance between geometries then have a look at the &lt;/SPAN&gt;&lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#/IProximityOperator_Interface/002m0000031w000000/"&gt;IProximityOperator&lt;/A&gt;&lt;SPAN&gt; Interface.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 05 Apr 2013 22:17:07 GMT</pubDate>
    <dc:creator>DuncanHornby</dc:creator>
    <dc:date>2013-04-05T22:17:07Z</dc:date>
    <item>
      <title>code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237158#M6131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am a beginner of arcobjects.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;My question is to write code for Calculation of Distance Matrix between different locations (different spots) and save it automatically in a table or a *csv file. The basic data is vetor map data with points, polygons and line.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very very very much for help.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Apr 2013 14:05:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237158#M6131</guid>
      <dc:creator>Lizhang1</dc:creator>
      <dc:date>2013-04-05T14:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237159#M6132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Li,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are looking to return the distance between geometries then have a look at the &lt;/SPAN&gt;&lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#/IProximityOperator_Interface/002m0000031w000000/"&gt;IProximityOperator&lt;/A&gt;&lt;SPAN&gt; Interface.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Apr 2013 22:17:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237159#M6132</guid>
      <dc:creator>DuncanHornby</dc:creator>
      <dc:date>2013-04-05T22:17:07Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237160#M6133</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Duncan.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I need to return the distance between different points. The points are read from the point layer of map and the coordinates (x,y) are stored in an array. Then I need to calculate the distance using the array of the coordinates and return the distance matrix into a table or a .csv file.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have written the following part of the code, and couldn't keep going, so I would like to ask for help.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;[INDENT]Private Sub UIToolControl1_DblClick()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pMxdoc As IMxDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pMxdoc = ThisDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pmap As IMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pmap = pMxdoc.FocusMap&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeatLayer As IFeatureLayer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeatLayer = player&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeatClass As IFeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeatClass = pFeatLayer.FeatureClass&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Get point features&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pGeometry As IGeometry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pPoint As IPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pTable As ITable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'different point has different accordant field name which shoud be the same with the output field name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pfield As IField&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;'Count point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pFeatureCursor As IFeatureCursor&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pFeatCursor = pFeatClass.Search(Nothing, False)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fcount = pFeatClass.FeatureCount(Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim parray(2, fcount - 1) As Variant&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pfeature As IFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Set pfeature = pFeatCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim prowbuff As IRowBuffer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dim pgeom As IPoint&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;xcount = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do While Not pfeature Is Nothing&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set prowbuff = pfeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; parray(2, xcount) = prowbuff.Value(1) 'here 1 is the field with the name you want for each point&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set pPoint = pfeature.ShapeCopy&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; parray(0, xcount) = pPoint.X&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; parray(1, xcount) = pPoint.Y&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; Set pfeature = pFeatCursor.NextFeature&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; xcount = xcount + 1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Loop&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If fcount = 0 Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color:&amp;quot;#FF0000&amp;quot;;"&gt;'Set up a loop to calculate the distance of different points&lt;BR /&gt;? ? ?&lt;BR /&gt;&lt;BR /&gt;'return the distance matrix into a table or a .csv file&lt;BR /&gt;? ? ?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Sub[/INDENT]&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; Li,&amp;nbsp; &lt;BR /&gt; &lt;BR /&gt;If you are looking to return the distance between geometries then have a look at the&amp;nbsp;&amp;nbsp; &lt;A href="http://resources.arcgis.com/en/help/arcobjects-net/componenthelp/index.html#/IProximityOperator_Interface/002m0000031w000000/" rel="nofollow"&gt;IProximityOperator&lt;/A&gt; Interface.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 06 Apr 2013 00:10:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237160#M6133</guid>
      <dc:creator>Lizhang1</dc:creator>
      <dc:date>2013-04-06T00:10:01Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237161#M6134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Code for calculating distance and angle between two points in C#:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
PointClass p1 = new PointClass();
PointClass p2 = new PointClass();
// Add data to points for test
p1.PutCoords(34.481560, 41.515391);
p2.PutCoords(34.702832, 41.795668);

IMeasurementTool measurementTool = new MeasurementToolClass();
measurementTool.ConstructByPoints(p1, p2);
// Here we calculate distance between two points: (p1, p2)
double distance = measurementTool.Distance;

ILine lineForAngle = new Line();
GeometryEnvironment geoEnv = new GeometryEnvironment();
IConstructAngle angleCalculator = (IConstructAngle)geoEnv;

lineForAngle.PutCoords(p1, p2);
// Here we calculate angle of line between (p1, p2) and the positive x-axis
double angle = angleCalculator.ConstructLine(lineForAngle);
// Convert radian to degree
angle *= 180 / Math.PI;
&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;Sinrecely&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 16:13:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237161#M6134</guid>
      <dc:creator>oyleiste</dc:creator>
      <dc:date>2021-12-12T16:13:34Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237162#M6135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Oyleiste,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you know the code &lt;/SPAN&gt;&lt;STRONG&gt;in VBA&lt;/STRONG&gt;&lt;SPAN&gt;. I am writing it in VBA and difficulities still exist.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you very much!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt; Code for calculating distance and angle between two points in C#:&amp;nbsp; &lt;BR /&gt; &lt;PRE class="lia-code-sample line-numbers language-none"&gt;
PointClass &lt;SPAN style="color:&amp;quot;#0000FF&amp;quot;;"&gt;p1&lt;/SPAN&gt; = new PointClass();
PointClass &lt;SPAN style="color:&amp;quot;#0000FF&amp;quot;;"&gt;p2&lt;/SPAN&gt; = new PointClass();
// Add data to points for test
p1.PutCoords(34.481560, 41.515391);
p2.PutCoords(34.702832, 41.795668);

IMeasurementTool measurementTool = new MeasurementToolClass();
measurementTool.ConstructByPoints(p1, p2);
// Here we calculate distance between two points: (p1, p2)
double &lt;SPAN style="color:&amp;quot;#0000FF&amp;quot;;"&gt;distance&lt;/SPAN&gt; = measurementTool.Distance;

ILine lineForAngle = new Line();
GeometryEnvironment geoEnv = new GeometryEnvironment();
IConstructAngle angleCalculator = (IConstructAngle)geoEnv;

lineForAngle.PutCoords(p1, p2);
// Here we calculate angle of line between (p1, p2) and the positive x-axis
double &lt;SPAN style="color:&amp;quot;#0000FF&amp;quot;;"&gt;angle&lt;/SPAN&gt; = angleCalculator.ConstructLine(lineForAngle);
// Convert radian to degree
angle *= 180 / Math.PI;
&lt;/PRE&gt; &lt;BR /&gt;Sinrecely&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 11:57:22 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237162#M6135</guid>
      <dc:creator>Lizhang1</dc:creator>
      <dc:date>2021-12-11T11:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237163#M6136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;You can convert the code to VB easily.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;for example&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;PointClass p1 = new PointClass();&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;should be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;Dim p1 as PointClass
Set p1 = new PointClass&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;or&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;p1.PutCoords(34.481560, 41.515391);&lt;/PRE&gt;&lt;SPAN&gt; should be:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;p1.PutCoords 34.481560, 41.515391&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;convert other lines like this. It's not hard. Tell me if you couldn't&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 11:57:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237163#M6136</guid>
      <dc:creator>oyleiste</dc:creator>
      <dc:date>2021-12-11T11:57:24Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237164#M6137</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I am a beginner of arcobjects.&lt;BR /&gt;My question is to write code for Calculation of Distance Matrix between different locations (different spots) and save it automatically in a table or a *csv file. The basic data is vetor map data with points, polygons and line.&lt;BR /&gt;&lt;BR /&gt;Thank you very very very much for help.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want euclidean distances of each point to all other points in a Featureclass then same can be done by OD Matrix which is available in Network Analyst. The same can be called programatically too.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It automatically creates table with Origin and Destination and its distances&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Check this link : &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/arcgisdesk...0000004r000000"&gt;http://help.arcgis.com/en/arcgisdesk...0000004r000000&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hope this helps, Best Luck&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Apr 2013 09:12:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237164#M6137</guid>
      <dc:creator>sameerpuppal</dc:creator>
      <dc:date>2013-04-17T09:12:07Z</dc:date>
    </item>
    <item>
      <title>Re: code for distance between points</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237165#M6138</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;public static double Calc(double Lat1, double Long1, double Lat2, double Long2)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The Haversine formula according to Dr. Math.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;A href="http://mathforum.org/library/drmath/view/51879.html"&gt;http://mathforum.org/library/drmath/view/51879.html&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dlon = lon2 - lon1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dlat = lat2 - lat1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; c = 2 * atan2(sqrt(a), sqrt(1-a)) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; d = R * c&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Where&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * dlon is the change in longitude&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * dlat is the change in latitude&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * c is the great circle distance in Radians.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * R is the radius of a spherical Earth.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * The locations of the two points in &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; spherical coordinates (longitude and &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; latitude) are lon1,lat1 and lon2, lat2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dDistance = Double.MinValue;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLat1InRad = Lat1 * (Math.PI / 180.0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLong1InRad = Long1 * (Math.PI / 180.0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLat2InRad = Lat2 * (Math.PI / 180.0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLong2InRad = Long2 * (Math.PI / 180.0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLongitude = dLong2InRad - dLong1InRad;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double dLatitude = dLat2InRad - dLat1InRad;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Intermediate result a.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double a = Math.Pow(Math.Sin(dLatitude / 2.0), 2.0) +&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Math.Cos(dLat1InRad) * Math.Cos(dLat2InRad) *&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Math.Pow(Math.Sin(dLongitude / 2.0), 2.0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Intermediate result c (great circle distance in Radians).&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; double c = 2.0 * Math.Asin(Math.Sqrt(a));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Distance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // const Double kEarthRadiusMiles = 3956.0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const Double kEarthRadiusKms = 6376.5;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dDistance = kEarthRadiusKms * c;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return dDistance;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 23 Apr 2013 21:55:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/code-for-distance-between-points/m-p/237165#M6138</guid>
      <dc:creator>JohnNelson3</dc:creator>
      <dc:date>2013-04-23T21:55:54Z</dc:date>
    </item>
  </channel>
</rss>

