Elevation profile tool

2145
7
08-06-2019 11:42 PM
BinduBothra
New Contributor II

Hi everyone!

 

I'm looking to develop an elevation profile tool which would enable to select two points on the map and display a profile along the line segment. Profile to include contribution from buildings, vegetation, street furniture, etc. similar to below screenshot using ArcGIS Java SDK. If anyone can help me out with a solution it will be truly appreciated.

0 Kudos
7 Replies
MarkBaird
Esri Regular Contributor

Discussing the best solution with the team...  watch this space!

BinduBothra
New Contributor II

Hi Mark,

Thanks for the reply.

FYI-

I have found a rest API on this Profile Tool, you can refer the link below:

Profile—ArcGIS REST API: Elevation Analysis services | ArcGIS for Developers 

But I am not able to get a solution to render it on a 3D map by the help of the response send by this API.

Thanks and Regards,

Bindu

0 Kudos
nita14
by
Occasional Contributor III

Hi Bindu,

I remember developing the same functionality using ArcGIS Runtime for Java 10.2.4. At that time, we used a local geoprocessing service to accomodate DSM with better resulution. As an ouput we used z-enabled points which were generated using Densify and Feature Vertices to Points tools out of profile line. Next, we plotted the elevation profile, with distances and angles in the custom JPanel component. I reckon we used basic swing-comaptible library for this.

Hope this helps.

Adam

0 Kudos
BinduBothra
New Contributor II

Hi Adam,

Thanks for the reply.

Can you please name which local geoprocessing service you used while developing this functionality?

And can you also provide some links you used for this for reference?

Thanks,

Bindu

 

0 Kudos
nita14
by
Occasional Contributor III

Dear Bindu,

We developed a custom python script for that and use it (.gpk file) as a source for local geoprocessing service. Here are some resources:

General overview on sample profile tool:

Setting up your own Profile Service 

Most important tools are:

Densify—Help | ArcGIS Desktop 

Interpolate Shape—Help | ArcGIS Desktop 

Feature Vertices To Points—Help | ArcGIS Desktop 

Hope this helps.

Adam

MarkBaird
Esri Regular Contributor

The geoprocessing option presented here is a good one, that will work fine.

Another option you could consider which requires a little more development work would be:

 - Using a SceneView (3D control), draw a line where you want to do the elevation profile

 - Densify the line to get intermediate points

 - For each point along the line query the elevation to get the height 

 - Take the collection of heights and display them in a 3rd party graph control

This sample code shows how you can get the elevation at a single point:

arcgis-runtime-samples-java/src/main/java/com/esri/samples/scene/get_elevation_at_a_point at f19449c... 

BinduBothra
New Contributor II

Hi Mark,

Thanks for the reply.

By using the geoprocessing option Profile—ArcGIS REST API: Elevation Analysis services | ArcGIS for Developers , I am able to get the elevation which uses DEM data to derive surface information. For my application I have 3D(SceneView) models placed using collada(.dae) files. I need to built the Profile Tool functionality which shows the contribution of this 3D model data as well. Can you help regarding this scenario?

Regards,

Bindu

0 Kudos