Giter Club home page Giter Club logo

geometric-network-utility-soe's Introduction

Geometric Network Utility SOE Rest

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

Help

Live

Video

Live

Geometric Network

Live demo

Valve isolation

Live demo

FindLongest

Live demo

Pos Along

The geometric network must be simple edge with flow direction in same digitized direction of edges

Live demo

Samples

All samples are in folder data. You have projects and data for publish service and in client you have web apps js consume services):

  1. you create services with enabled capabilites Geometric Network.
  2. 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.

FAQ

Question:

I have this error when you publish the service: 'ClassFactory cannot supply requested class'

Answer:

The problem is that you didn't check the ".NET extension support" when you have installed ArcGIS Server

Question:

Can I use this soe in ArcGIS Server installed on Linux

Answer:

No, you need porting this code in java if you need install on Linux

geometric-network-utility-soe's People

Contributors

nicogis avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

geometric-network-utility-soe's Issues

No Return on Cominiatin Ranges In Bitgate

Hi Domenico,
Thanks for updating the V. 1.3 of Geometric Network Utility SOE. As we discussed this already, this version in working fine on some scenarios like when we pass only a weight like 04 or 0,4 . The SOE returning correct filtered values base on weight but when I pass a combinations like 0421 or 0,4,2,1 it return None!
I have already test a Junction with ABC wight range which is connected to many edges with ABC ranges in ArcMap and getting proper result back there but same Flag on SOE just returns None.

Here is a list of all possible filter weight ranges in ESRI Electric Facility map. As you can see SOE is qorking on single range but not on cominations

bitgates

Can We Run This SOE With A Network With Weight Filters

I just wonder if we can run this .soe file with a Network which has enabled with Weight Filters? For example in case of having a request like this

# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(WaterNet, WaterNet2, Flag, "TRACE_UPSTREAM", "", "", "Filter_Factor", "Filter_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Filter_Factor", "Filter_Factor", "3", "AS_IS")

how can I apply the weight in following request?

http://xxx/arcgis/rest/services/Electric/MapServer/exts/GeometricNetworkUtility/GeometricNetworks/1/TraceNetwork?
traceSolverType=TRACE_DOWNSTREAM
&flowMethod=
&flowElements=
&edgeFlags=
&junctionFlags=
&edgeBarriers=
&junctionBarriers=
&outFields=
&maxTracedFeatures=
&tolerance=
&traceIndeterminateFlow=
&shortestPathObjFn=
&disableLayers=
&junctionWeight=
&fromToEdgeWeight=
&toFromEdgeWeight=
&junctionFilterWeight=
&junctionFilterRanges=
&junctionFilterNotOperator=
&fromToEdgeFilterWeight=
&toFromEdgeFilterWeight=
&edgeFilterRanges=
&edgeFilterNotOperator=
&f=html

Thanks

How to Get The Counts and Name of Traced Junctions

The out put of result for Junctions looks like

   {  
      "displayFieldName":"",
      "fieldAliases":{  
         "OBJECTID":"OBJECTID"
      },
      "geometryType":"esriGeometryPoint",
      "spatialReference":{  
         "wkid":4326,
         "latestWkid":4326
      },
      "fields":[  
         {  
            "name":"OBJECTID",
            "type":"esriFieldTypeOID",
            "alias":"OBJECTID"
         }
      ],
      "features":[  
         {  
            "attributes":{  
               "OBJECTID":1101
            },
            "geometry":{  
               "x":-88.16815406499995,
               "y":41.79624553800005
            }
         }
      ]
   },
   {  
      "displayFieldName":"",
      "fieldAliases":{  
         "OBJECTID":"OBJECTID"
      },
      "geometryType":"esriGeometryPoint",
      "spatialReference":{  
         "wkid":4326,
         "latestWkid":4326
      },
      "fields":[  
         {  
            "name":"OBJECTID",
            "type":"esriFieldTypeOID",
            "alias":"OBJECTID"
         }
      ],
      "features":[  
         {  
            "attributes":{  
               "OBJECTID":1407
            },
            "geometry":{  
               "x":-88.16725130299994,
               "y":41.796718816000066
            }
         },
         {  
            "attributes":{  
               "OBJECTID":1413
            },
            "geometry":{  
               "x":-88.16639792099994,
               "y":41.79674986500004
            }
         },
         {  
            "attributes":{  
               "OBJECTID":1414
            },
            "geometry":{  
               "x":-88.16511888299999,
               "y":41.79660011900006
            }
         }
      ]
   }
]

As you can see  the displayFieldName node is empty "". Can you please let me know what I am missing in the request params settings to get the displayFieldName ? and how we can get them to be count?

ArcGIS Server Error ClassFactory cannot supply requested class with SOE

Hi,
sorry to adding this as a new Issue but I thought it is better to separate from last posted issue. Using VS 2015 Community with ArcGIS 10.4.1 with added ArcObjects SDK for NE Framework 1041_151832, I am able to Build , Clean and Rebuild the project without any error!
Here is solution explorer window

so

As you can see all Assemblies already listed on Add ArcGIS Reference Window

so2

but when ever I try to enable an existing server with uploaded SOE or Publish new service I am getting this error

5

Here are the Project Property Windows

so3

so4
Here the IIS Application pools window

iis

and this the output of VS console

1>  Studioat.ArcGis.Soe.Rest.GeometricNetworkUtility -> C:\Users\me\Desktop\Geometric-Network-Utility-SOE-1.3\bin\Debug\Studioat.ArcGis.Soe.Rest.GeometricNetworkUtility.dll
1>C:\Program Files (x86)\MSBuild\ESRI\ESRI.ArcGIS.Server.SDK.targets(41,5): warning : The 'TargetVersion '10.5' specified in the AddInPackage element is invalid -  The value is invalid according to the version of ArcGIS assemblies the project references - The value should be '10.4'
1>C:\Program Files (x86)\MSBuild\ESRI\ESRI.ArcGIS.Server.SDK.targets(41,5): warning : The project will continue to compile but the generated add-in may either fail to register or load properly in the ArcGIS application at runtime.
1>  Successfully created Add-in "Studioat.ArcGis.Soe.Rest.GeometricNetworkUtility" ->  'C:\Users\me\Desktop\Geometric-Network-Utility-SOE-1.3\bin\Debug\Studioat.ArcGis.Soe.Rest.GeometricNetworkUtility.soe'.
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== ````





How to get LayerName while Tracing geometric network

Hi Sir,

We are not able to get either layername nor the displayFieldName while tracing using above SOE in geometric network.

Any help or guidance will be fruitful of us in any circumstance.

Regards,
Sunny kumar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.