What is the alternative for Geometric Network in ArcGIS Pro?

4738
6
Jump to solution
10-16-2018 04:30 AM
ÁkosHalmai
Occasional Contributor II

What is the alternative for Geometric Network in ArcGIS Pro? I’d like to deal with water courses (river kilometers, segments and events based on measurement values on polyline, some topology for connectivity, upstream & downstream selection). I’d like to work on a local machine, in File Geodatabase. I have 3D, Spatial and Geostatistical lic. on Advenced level.

How can I query the measurement value along a polyline by clicking (like in ArcMap)?

If I have an M-aware polyline feature class, how can I define the start & end M value during the (always existing) edit session? (In ArcMap there was a right click --> Measurement --> From/To option).

0 Kudos
1 Solution

Accepted Solutions
KoryKramer
Esri Community Moderator

There are a few different things going on in the question.  The title is asking about geometric networks, but the description really seems to be focused on linear referencing.  

As you've already mentioned, the Utility Network is the next generation of the geometric network for ArcGIS Pro.   But based on your description of working with M values and clicking to identify M, that isn't currently available in Pro.  There are a few different ideas around linear referencing functionality in Pro.

Find - Linear Referencing Tool for ArcGIS Pro

Port "Identify Route Locations" and "Set From/To" Linear Referencing Tools from ArcGIS 10.x to ArcGI...

Display Route Measure Anomalies in ArcGIS Pro

That last one has a link to help explaining how to set up hatching with the measure value.  It doesn't give you the click to identify M functionality, but might be a workaround until the functionality is built in Pro.

I hope this helps.

View solution in original post

6 Replies
DanPatterson_Retired
MVP Emeritus

Tools that are not available in ArcGIS Pro—Appendices | ArcGIS Desktop 

which states

Note:

Geometric networks are a read-only dataset in ArcGIS Pro. The capability to manage, model, and analyze network systems for water, gas, electric, telecom, sewer, storm water, and other utilities has been replaced by the Utility Network.

ÁkosHalmai
Occasional Contributor II

Utility Network is designed for Enterprise environments only. ArcGIS Pipeline Referencing looks more promising -- if there is no better option.

0 Kudos
KoryKramer
Esri Community Moderator

There are a few different things going on in the question.  The title is asking about geometric networks, but the description really seems to be focused on linear referencing.  

As you've already mentioned, the Utility Network is the next generation of the geometric network for ArcGIS Pro.   But based on your description of working with M values and clicking to identify M, that isn't currently available in Pro.  There are a few different ideas around linear referencing functionality in Pro.

Find - Linear Referencing Tool for ArcGIS Pro

Port "Identify Route Locations" and "Set From/To" Linear Referencing Tools from ArcGIS 10.x to ArcGI...

Display Route Measure Anomalies in ArcGIS Pro

That last one has a link to help explaining how to set up hatching with the measure value.  It doesn't give you the click to identify M functionality, but might be a workaround until the functionality is built in Pro.

I hope this helps.

ÁkosHalmai
Occasional Contributor II

Dear Kory,

I can't miss the route identify function, so I tried to write my own. Is this code OK, or there is a better/shorter option?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Core.CIM;
using ArcGIS.Core.Data;
using ArcGIS.Core.Geometry;
using ArcGIS.Desktop.Catalog;
using ArcGIS.Desktop.Core;
using ArcGIS.Desktop.Editing;
using ArcGIS.Desktop.Extensions;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;
using ArcGIS.Desktop.Framework.Dialogs;
using ArcGIS.Desktop.Framework.Threading.Tasks;
using ArcGIS.Desktop.Mapping;

namespace T2
{
internal class MT2 : MapTool
{
public MT2()
{
IsSketchTool = true;
SketchType = SketchGeometryType.Point;
SketchOutputMode = SketchOutputMode.Map;
}

protected override Task OnToolActivateAsync(bool active) => base.OnToolActivateAsync(active);

protected override async Task<bool> OnSketchCompleteAsync(Geometry geometry)
{
if (geometry != null && !geometry.IsEmpty && ActiveMapView != null)
{
string RetString = await QueuedTask.Run(() =>
{
IReadOnlyList<Layer> LayerList =
ActiveMapView.Map.GetLayersAsFlattenedList();
int LayerCount = LayerList.Count;

if (LayerCount <= 0)
return "There is no layer on this map/scene!";

List<FeatureLayer> M_Layers = new List<FeatureLayer>(LayerCount);
for (int i = 0; i < LayerCount; i++)
{
FeatureLayer featureLayer = (FeatureLayer)LayerList;
if (featureLayer != null)
using (FeatureClassDefinition featureClassDefinition = featureLayer.GetFeatureClass().GetDefinition())
if (featureClassDefinition.HasM())
M_Layers.Add(featureLayer);
}

if (M_Layers.Count <= 0)
return "There is no M-aware layer on this map/scene!";

IGeometryEngine engine = GeometryEngine.Instance;
MapPoint mapPoint = (MapPoint)geometry;
StringBuilder stringBuilder = new StringBuilder();

var LayerDictionary = ActiveMapView.GetFeatures(geometry);
foreach (var item in M_Layers)
if (LayerDictionary.ContainsKey(item))
{
stringBuilder.AppendLine(item.Name + ":");
using (RowCursor cursor = item.Search(new QueryFilter()
{ ObjectIDs = LayerDictionary[item].AsReadOnly() }))
while (cursor.MoveNext())
using (Feature feature = (Feature)cursor.Current)
stringBuilder.AppendLine("\t" + engine.NearestPoint(feature.GetShape(), mapPoint).Point.M.ToString("0.####"));
}
return stringBuilder.ToString();
});
MessageBox.Show(RetString,"Hit results");
}
return true;
}
}
}

0 Kudos
KoryKramer
Esri Community Moderator

Hi Ákos Halmai‌ I applaud the effort, but I'm not the right person to ask.  Maybe open a discussion in ArcGIS Pro SDK

0 Kudos
Maria_AlejandraArango_Zambrano
New Contributor

Hi,

 

Geometric Networks or Utility Network are sported in ArcGIS Online?  

0 Kudos