<?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: measure 3d Available ..? in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592608#M55426</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do you mean it's possible now to measure in 3D using GeometryEngine? I had look the Javascript APIs but couldn't find anything specifically about measure in 3D. could you please direct me to some examples? Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 May 2017 05:19:55 GMT</pubDate>
    <dc:creator>Jack_Zhang</dc:creator>
    <dc:date>2017-05-12T05:19:55Z</dc:date>
    <item>
      <title>measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592602#M55420</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Is the measure in 3D Available for JS 4.0 ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Jawadh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 06:51:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592602#M55420</guid>
      <dc:creator>JawadhHabeeb1</dc:creator>
      <dc:date>2016-06-23T06:51:02Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592603#M55421</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;if you see on JS API 4.0 functionallity matrix&amp;nbsp; Measurement is Coming soon.&lt;/P&gt;&lt;P&gt;&lt;A href="https://developers.arcgis.com/javascript/latest/guide/functionality-matrix/index.html#widgets" title="https://developers.arcgis.com/javascript/latest/guide/functionality-matrix/index.html#widgets"&gt;Functionality matrix | ArcGIS API for JavaScript 4.0&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;so we are waiting for measurement on 3D API.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jun 2016 07:05:29 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592603#M55421</guid>
      <dc:creator>PanagiotisPapadopoulos</dc:creator>
      <dc:date>2016-06-23T07:05:29Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592604#M55422</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the response, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope they release it very soon &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 09:48:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592604#M55422</guid>
      <dc:creator>JawadhHabeeb1</dc:creator>
      <dc:date>2016-06-28T09:48:09Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592605#M55423</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;me too, there is a lot of functionality coming on next release, so we are waiting...... &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Jun 2016 12:13:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592605#M55423</guid>
      <dc:creator>PanagiotisPapadopoulos</dc:creator>
      <dc:date>2016-06-28T12:13:47Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592606#M55424</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well it's almost about a year now for that "Coming soon" be there. &amp;nbsp;don't think a year long of time could be called "soon" for a basic 3D function. very disappointed. To me web scene is a half baked product that I would not even refer to my users.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2017 01:14:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592606#M55424</guid>
      <dc:creator>Jack_Zhang</dc:creator>
      <dc:date>2017-05-10T01:14:39Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592607#M55425</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In the meantime, you can use the geometry engine for measurements. &amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngine.html"&gt;geometryEngine | API Reference | ArcGIS API for JavaScript 4.3&lt;/A&gt;&amp;nbsp; or&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngineAsync.html" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-geometryEngineAsync.html"&gt;geometryEngineAsync | API Reference | ArcGIS API for JavaScript 4.3&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2017 13:10:10 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592607#M55425</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-05-10T13:10:10Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592608#M55426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do you mean it's possible now to measure in 3D using GeometryEngine? I had look the Javascript APIs but couldn't find anything specifically about measure in 3D. could you please direct me to some examples? Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 May 2017 05:19:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592608#M55426</guid>
      <dc:creator>Jack_Zhang</dc:creator>
      <dc:date>2017-05-12T05:19:55Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592609#M55427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It depends on what you mean by "measure in 3D."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can measure the distance&amp;nbsp;between 2 points using the geometry engine:&amp;nbsp;&lt;A class="link-titled" href="https://jsbin.com/bisebarowo/edit?html,output" title="https://jsbin.com/bisebarowo/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That example uses the geodesicLength method, so it includes the earth's curvature. &amp;nbsp;There are also planar methods that don't. &amp;nbsp;Measuring in 3D isn't really any different from&amp;nbsp;measuring in 2D as long as you're measuring along the surface of the earth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Things get more complicated&amp;nbsp;if you're interested in finding the distance between two points with z values. &amp;nbsp;I agree that this is an area where the JS API lacks support.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 May 2017 14:12:54 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592609#M55427</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-05-12T14:12:54Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592610#M55428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;so this won't help us measuring 3D object or distance between any two points that not on the ground. WTH&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 May 2017 08:33:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592610#M55428</guid>
      <dc:creator>Jack_Zhang</dc:creator>
      <dc:date>2017-05-25T08:33:03Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592611#M55429</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm by no means an expert in this area but here's a brief rundown of my understanding.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To start with, I would say that all of these measurements are approximations. &amp;nbsp;None of them take variations in elevation into account (obviously). &amp;nbsp;My understanding is that,&amp;nbsp;for very sensitive measurements, other methods are used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;That said, you can get pretty good approximations of the &lt;A href="https://en.wikipedia.org/wiki/Great-circle_distance"&gt;great-circle distance&lt;/A&gt;&amp;nbsp;between two points on the earth's surface using the geometry engine. &amp;nbsp;If you have two points with a longitude, latitude, and altitude, the geometry engine won't help (it appears to ignore the altitude), but you have some other options.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;One of them is to take the average of the altitudes of the two&amp;nbsp;points and find the great-circle distance between the two new points. &amp;nbsp;In practice this gives reasonably good results. &amp;nbsp;The farther the distance between the two points, the greater the error. &amp;nbsp;I would say this is acceptable for most normal use cases.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another is to convert from a long, lat, z coordinate system into a 3 dimensional cartesian coordinate system (&lt;A href="https://en.wikipedia.org/wiki/ECEF"&gt;ECEF&lt;/A&gt;&amp;nbsp;is a commonly used one). &amp;nbsp;Once you have two points in ECEF, you can use the distance formula&amp;nbsp;to calculate the straight-line distance between the two points:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-javascript line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;let&lt;/SPAN&gt; d &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; Math&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;sqrt&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;Math&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;pow&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;x1&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;x2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; Math&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;pow&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;y1&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;y2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; Math&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;pow&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;z1&lt;SPAN class="operator token"&gt;-&lt;/SPAN&gt;z2&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's a stackoverflow question and answer that provides some code that may be helpful if you want to implement either of these options: &lt;A class="link-titled" href="https://stackoverflow.com/questions/1108965/taking-altitude-into-account-when-calculating-geodesic-distance" title="https://stackoverflow.com/questions/1108965/taking-altitude-into-account-when-calculating-geodesic-distance"&gt;geometry - Taking altitude into account when calculating geodesic distance - Stack Overflow&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 May 2017 13:11:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592611#M55429</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-05-25T13:11:38Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592612#M55430</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thomas, thanks for your reply. that gave me some light. The first method probably won't work for measuring vertical distance, but I'll give a try on the second method you mentioned. appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 May 2017 06:16:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592612#M55430</guid>
      <dc:creator>Jack_Zhang</dc:creator>
      <dc:date>2017-05-26T06:16:02Z</dc:date>
    </item>
    <item>
      <title>Re: measure 3d Available ..?</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592613#M55431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Jack,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was thinking about this and I realized that there must be a way to transform between ECEF and long/lat/z in the JS API.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sure enough, the esri/views/3d/externalRenderers module exposes this functionality. &amp;nbsp;Normally this module is for creating your own scene and placing it in the same rendering pipeline as the main scene, but you should also be able to use it for coordinate conversions to (and from) ECEF. &amp;nbsp;This functionality is implemented in webGL, which means inputs and outputs are a bit weird:&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-externalRenderers.html#toRenderCoordinates" title="https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-externalRenderers.html#toRenderCoordinates"&gt;externalRenderers | API Reference | ArcGIS API for JavaScript 4.3&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Coordinates are input as an array like this: [longitude1, latitude1, z1, longitude2, latitude2, z2, ...] for as many points as you like.&amp;nbsp; The results will be output in an array with [x1, y1, z1, x2, y2, z2, ...] in meters. &amp;nbsp;You can pass in an empty array and the results be placed in that. &amp;nbsp;You specify the starting index (in your input array) and how many points you want to transform in the function params.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here's an example of how you could find the distance between two points with the same long/lat but a different z:&amp;nbsp;&lt;A class="link-titled" href="http://jsbin.com/filarukedi/edit?html,output" title="http://jsbin.com/filarukedi/edit?html,output"&gt;JS Bin - Collaborative JavaScript Debugging&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This should work for any two points with long/lat/z (must be wgs84 or web mercator), but keep in mind it's the straight line distance, which isn't always what you want. &amp;nbsp;There's also going to be some error here, but, in general, I think this should be pretty good. &amp;nbsp;Also, ECEF is in meters, so the output distance will all be in meters.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 May 2017 15:23:19 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/measure-3d-available/m-p/592613#M55431</guid>
      <dc:creator>ThomasSolow</dc:creator>
      <dc:date>2017-05-30T15:23:19Z</dc:date>
    </item>
  </channel>
</rss>

