This solution (developed in c#) creates a SOE Rest in arcgis server 10.7.1 or superior for these operations:
- TraceNetwork
- ValveIsolation
- TraceNetworkPosAlong
Installation:
a) upload file Studioat.ArcGis.Soe.Rest.GeometricNetworkUtility.soe (see help)
b) create a service map and enable in capabilities the extension. In your mxd you must have at least a geometric Network
c) from service directory you can see all your Geometric Network
https://hostname/arcgis/rest/services/yourservice/MapServer/exts/GeometricNetworkUtility
d) TraceNetwork, IsolateValve and TraceNetworkPosAlong operation for Geometry Network
(example with id=1. To know id use request c)
https://hostname/arcgis/rest/services/myservice/MapServer/exts/GeometricNetworkUtility/GeometricNetworks/1/TraceNetwork
https://hostname/arcgis/rest/services/myservice/MapServer/exts/GeometricNetworkUtility/GeometricNetworks/1/IsolateValve
To see weights:
https://hostname/arcgis/rest/services/myservice/MapServer/exts/GeometricNetworkUtility/GeometricNetworks/1
The geometric network must be simple edge with flow direction in same digitized direction of edges
All samples are in folder data. You have projects and data for publish service and in client you have web apps js consume services):
- you create services with enabled capabilites Geometric Network.
- open config.js and set config.host, config.instance and config.operationalLayers = {GNLayer:'yourService'};
In ArcCatalog in capabilities (operations allowed) you can allow these operations (TraceNetwork, IsolateValve, PosAlong).
The solutions are checked 100% with stylecop and fxcop.
I have this error when you publish the service: 'ClassFactory cannot supply requested class'
The problem is that you didn't check the ".NET extension support" when you have installed ArcGIS Server
Can I use this soe in ArcGIS Server installed on Linux
No, you need porting this code in java if you need install on Linux