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.
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
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
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
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:
Interpolate Shape—Help | ArcGIS Desktop
Feature Vertices To Points—Help | ArcGIS Desktop
Hope this helps.
Adam
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:
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