{"id":597982,"date":"2019-08-29T13:16:59","date_gmt":"2019-08-29T20:16:59","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=597982"},"modified":"2020-02-19T07:21:53","modified_gmt":"2020-02-19T15:21:53","slug":"utility-network-is-now-on-arcgis-runtime-100-6","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6","title":{"rendered":"Utility Network is now on ArcGIS Runtime 100.6"},"author":7511,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23341,25741],"tags":[23451,36071],"industry":[],"product":[36571,515312],"class_list":["post-597982","blog","type-blog","status-publish","format-standard","hentry","category-analytics","category-electric-gas","tag-arcgis-runtime","tag-arcgis-utility-network-management-extension","product-arcgis-enterprise","product-utility-network"],"acf":{"short_description":"The utility network api is available on ArcGIS Runtime allowing the developers to build interesting utility specific mobile applications","flexible_content":[{"acf_fc_layout":"content","content":"<p>You guys asked, and we delivered.<\/p>\n<p>We have been working hard on bringing the utility network capabilities to your devices via ArcGIS Runtime. I\u2019m pleased to say that the first cut of the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/developers\/announcements\/welcome-to-arcgis-runtime-100-6\/\">utility network API is now available on ArcGIS Runtime 100.6<\/a>. In this blog post we will discuss what\u2019s new in ArcGIS Runtime 100.6 API\u00a0 with regards to utility network. We will go through a few code samples from different programming languages that the ArcGIS Runtime supports such as .NET, IOS-Swift, Qt and Android-Java. Finally we will discuss what\u2019s coming for future releases.<\/p>\n<p>This blog assumes you know the basics of the utility network, to learn about more visit our core help page <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/utility-network\/what-is-a-utility-network-.htm\">here<\/a>.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>What\u2019s new for utility network in ArcGIS Runtime 100.6?<\/strong><\/h1>\n<p>In ArcGIS Runtime 100.6 we support the ability to open a feature service that has a utility network through services only, read the metadata and perform connected tracing. We will go through both of these features in detail.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2>Reading utility network metadata<\/h2>\n<p>We have added the ability to open a feature service containing a utility network from runtime and read its metadata such as network sources, asset groups, etc. This allows developers to access the utility network properties and use this to build interesting generic mobile applications and frameworks that works with any utility network out there.<\/p>\n<p>&nbsp;<\/p>\n<p>Here is a snippet of how to open a utility network using <a href=\"https:\/\/developers.arcgis.com\/net\/\">ArcGIS Runtime for .NET<\/a><\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/\/The feature server url of a feature service that has a utility network.<\/span>\r\nstring url = <span style=\"color: #d14\">\"https:\/\/sampleserver7.arcgisonline.com\/arcgis\/rest\/services\/UtilityNetwork\/NapervilleElectric\/FeatureServer\"<\/span>;\r\n<span style=\"color: #998;font-style: italic\">\/\/create a utility network object and pass in the url. <\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> utilitynetwork = <span style=\"color: #333;font-weight: bold\">new<\/span> UtilityNetwork(<span style=\"color: #333;font-weight: bold\">new<\/span> Uri(url));\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/This will attempt to load the utility network meta data and open the associated network sources and feature tables.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">await<\/span> utilitynetwork.LoadAsync();\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/print the version of the utility network (2)<\/span>\r\nConsole.WriteLine(utilitynetwork.Definition.SchemaVersion);\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>The following metadata is available for 100.6 which can be accessed through the <strong>utility network definition<\/strong> object. We are continuing to add additional utility network metadata to future releases of ArcGIS Runtime.<\/p>\n<ul>\n<li>Network sources \u2013 The backend source classes that make up the utility network. You can ask a network source for its corresponding feature table which points to a layer in the feature service. Here is a snippet showing how to get the list of network sources.<\/li>\n<\/ul>\n<p>Here is a snippet of how to work with network sources using <a href=\"https:\/\/developers.arcgis.com\/ios\/\">ArcGIS Runtime Swift<\/a><\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/\/ Get the network definition object.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">let<\/span> utilityNetworkDefinition = utilityNetwork.definition\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/ Print the number of sources (8).<\/span>\r\nprint(<span style=\"color: #d14\">\"The utility network has \\(utilityNetworkDefinition.networkSources.count) network source(s).\"<\/span>)\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/ If you know the name of the class you can call networkSource(withName:).<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> <span style=\"color: #333;font-weight: bold\">let<\/span> structureLineClass = utilityNetworkDefinition.networkSource(withName: <span style=\"color: #d14\">\"Structure Line\"<\/span>) {\r\n        print(<span style=\"color: #d14\">\"The Structure line class name is '\\(structureLineClass.name)' and has id \\(structureLineClass.sourceID)\"<\/span>)\r\n}\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/ If you don't know the name of the source you can use the sourceUsageType.<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/ Note: you might get multiple results for certain usage types if you have more than 1 domain network.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> <span style=\"color: #333;font-weight: bold\">let<\/span> structureLineClass = utilityNetworkDefinition.networkSources.first(where: { $<span style=\"color: #008080\">0.<\/span>sourceUsageType == .structureLine }) {\r\n        print(<span style=\"color: #d14\">\"The Structure line class name is '\\(structureLineClass.name)' and has id \\(structureLineClass.sourceID)\"<\/span>)\r\n}\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<ul>\n<li>Asset Group \u2013 This is the subtype of the network source, the asset group code and name.<\/li>\n<\/ul>\n<p>Here is a snippet of how to work with asset groups using <a href=\"https:\/\/developers.arcgis.com\/qt\/\">ArcGIS Runtime Qt<\/a><\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n\r\n<span style=\"color: #998;font-style: italic\">\/* Asset Group *\/<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/get the Aerial Support asset group<\/span>\r\nUtilityAssetGroup* aerialsupportAssetgroup = structurelineClass-&gt;assetGroup(<span style=\"color: #d14\">\"Aerial Support\"<\/span>);\r\n<span style=\"color: #998;font-style: italic\">\/\/print the subtype code (103)<\/span>\r\nqDebug() &lt;&lt; QString(<span style=\"color: #d14\">\"Subtype code of %0 is %1\"<\/span>).arg(aerialsupportAssetgroup-&gt;name(), aerialsupportAssetgroup-&gt;code());\r\n \r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<ul>\n<li>Asset Type \u2013 This is the discriminator for the asset group that defines an asset in the utility network. It\u2019s at this level where the most interesting properties are set such as categories or terminal configuration.<\/li>\n<\/ul>\n<p>Here is a snippet of how to work with asset types using <a href=\"https:\/\/developers.arcgis.com\/qt\/\">ArcGIS Runtime Qt<\/a><\/p>\n<p>&nbsp;<\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/* Asset Type *\/<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/get the first asset type that supports being a Structure.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">const<\/span> auto assetTypes = aerialsupportAssetgroup-&gt;assetTypes();\r\nauto structureAssettypeIt = std::find_if(assetTypes.cbegin(), assetTypes.cend(), [](UtilityAssetType* assetType) -&gt; bool\r\n{\r\n  <span style=\"color: #333;font-weight: bold\">return<\/span> assetType-&gt;associationRole() == UtilityAssociationRole::Structure;\r\n});\r\n \r\nqDebug() &lt;&lt; QString(<span style=\"color: #d14\">\"Asset type %0 code %1 supports being a structure\"<\/span>).arg((*structureAssettypeIt)-&gt;name(), (*structureAssettypeIt)-&gt;code());\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>We also support additional properties as follows.<\/p>\n<ul>\n<li>TerminalConfiguration \u2013 This is the terminal configuration for a given asset group \/ asset type pair.<\/li>\n<li>AssociationRole \u2013 Whether this asset group\/asset type supports being a container or structure or none.<\/li>\n<li>Terminal \u2013 This is the terminal object. Terminals can be used to create feature elements which can in turn be used to place starting points for tracing, set valid paths, modify associations, and much more.<\/li>\n<li>Network Attribute \u2013 This is the persisted network attribute in the network topology, used for fast access during tracing.<\/li>\n<li>Category \u2013 Categories act like tags for an asset group\/tag. A category can be assigned to multiple asset group\/asset type.<\/li>\n<\/ul>\n"},{"acf_fc_layout":"content","content":"<h2>Connected tracing with services through starting points and barriers<\/h2>\n<p>For release 100.6 we have also added the ability to run connected tracing through a feature service that supports a utility network. You can place starting points, barriers and call the connected trace to have the server return the trace results as feature elements.<\/p>\n<p>Here is a snippet of how to perform a connected trace on a utility network using <a href=\"https:\/\/developers.arcgis.com\/java\/\">ArcGIS Runtime for Java<\/a><\/p>\n<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/* Connected Trace *\/<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/We want to place starting point and barrier on two well known features on naperville<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/ The starting point is a load side of a circuit breaker, three phase with globalId {B8493B23-B40B-4E3E-8C4B-0DD83C28D2CC}<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/ The barrier is on a line with globalId  {95F1FD0E-CD70-4020-9CC6-FA76D21A6AC4}<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/build the starting point<\/span>\r\n\r\nUtilityNetworkSource deviceClass = utilityNetworkDefinition.getNetworkSource(<span style=\"color: #d14\">\"Electric Distribution Device\"<\/span>);\r\n\r\nUtilityAssetType circuitBreakerAssetType = deviceClass\r\n        .getAssetGroups().stream().filter((ag -\u02c3 ag.getName().equals(<span style=\"color: #d14\">\"Circuit Breaker\"<\/span>))).findFirst().get()\r\n        .getAssetTypes().stream().filter((at -\u02c3 at.getName().equals(<span style=\"color: #d14\">\"Three Phase\"<\/span>))).findFirst().get();\r\n\r\nUtilityTerminal loadTerminal = circuitBreakerAssetType.getTerminalConfiguration()\r\n        .getTerminals().stream().filter((ut -\u02c3 ut.getName().equals(<span style=\"color: #d14\">\"Load\"<\/span>))).findFirst().get();\r\n\r\nUtilityElement startingPointElement = utilityNetwork.createElement(circuitBreakerAssetType,\r\n        UUID.fromString(<span style=\"color: #d14\">\"B8493B23-B40B-4E3E-8C4B-0DD83C28D2CC\"<\/span>),\r\n        loadTerminal);\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/build the barrier<\/span>\r\nUtilityNetworkSource lineClass = utilityNetworkDefinition.getNetworkSource(<span style=\"color: #d14\">\"Electric Distribution Line\"<\/span>);\r\nUtilityAssetType mvAssetType = lineClass\r\n        .getAssetGroups().stream().filter((ag -\u02c3 ag.getName().equals(<span style=\"color: #d14\">\"Medium Voltage\"<\/span>))).findFirst().get()\r\n        .getAssetTypes().stream().filter((at -\u02c3 at.getName().equals(<span style=\"color: #d14\">\"Underground Three Phase\"<\/span>))).findFirst().get();\r\nUtilityElement barrierElement = utilityNetwork.createElement(mvAssetType,\r\n        UUID.fromString(<span style=\"color: #d14\">\"95F1FD0E-CD70-4020-9CC6-FA76D21A6AC4\"<\/span>),\r\n        loadTerminal);\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/build trace parameters<\/span>\r\nUtilityTraceParameters traceParameters = <span style=\"color: #333;font-weight: bold\">new<\/span> UtilityTraceParameters(UtilityTraceType.CONNECTED, Collections.singletonList(startingPointElement));\r\ntraceParameters.getBarriers().add(barrierElement);\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/run the trace and get the result<\/span>\r\nListenableFuture&lt;List&lt;UtilityTraceResult\u02c3\u02c3 traceResultFuture = utilityNetwork.traceAsync(traceParameters);\r\ntraceResultFuture.addDoneListener(() -\u02c3 {\r\n  <span style=\"color: #333;font-weight: bold\">try<\/span> {\r\n    List&lt;UtilityTraceResult\u02c3 traceResults = traceResultFuture.get();\r\n    <span style=\"color: #998;font-style: italic\">\/\/You get a array of results since it is possible to get multiple results such as functions, elements.<\/span>\r\n    UtilityElementTraceResult elementTraceResult = (UtilityElementTraceResult) traceResults.get(<span style=\"color: #008080\">0<\/span>);\r\n\r\n    <span style=\"color: #998;font-style: italic\">\/\/print the trace result (239)<\/span>\r\n    System.out.println(<span style=\"color: #0086b3\">String<\/span>.format(<span style=\"color: #d14\">\"Trace successful returned %d elements\"<\/span>, elementTraceResult.getElements().size()));\r\n\r\n  } <span style=\"color: #333;font-weight: bold\">catch<\/span> (InterruptedException | ExecutionException e) {\r\n    e.printStackTrace();\r\n  }\r\n});\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>The following series of gifs, is a demo of the connected trace authored with ArcGIS Runtime on .NET<\/p>\n<p>In this animated gif, we place a starting point on a line and you can see that we detect where exactly we clicked on the line, then we place a barrier on another line and then run a connected trace.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":598332,"id":598332,"title":"Utility network connected trace","filename":"trace-1.gif","filesize":827797,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\/trace-1","alt":"Utility network connected trace","author":"7511","description":"Utility network connected trace","caption":"Utility network connected trace start from line","name":"trace-1","status":"inherit","uploaded_to":597982,"date":"2019-08-30 15:59:44","modified":"2019-08-30 16:09:59","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":954,"height":710,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","medium-width":351,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","medium_large-width":768,"medium_large-height":572,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","large-width":954,"large-height":710,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","1536x1536-width":954,"1536x1536-height":710,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","2048x2048-width":954,"2048x2048-height":710,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1-625x465.gif","card_image-width":625,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-1.gif","wide_image-width":954,"wide_image-height":710}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In this animated gif, we place a starting point on a device that has multiple terminals (Source and Load) and we actually place the starting point on the load side. We place a barrier on a line feature and run the trace. Notice that we are getting upstream result, this is something we will fix next.<\/p>\n<p>Learn more about terminals <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/utility-network\/device-terminals.htm\">here<\/a>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":598342,"id":598342,"title":"utility network connected trace","filename":"trace-2.gif","filesize":1083568,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\/trace-2","alt":"utility network connected trace","author":"7511","description":"utility network connected trace","caption":"utility network connected trace start from a terminal","name":"trace-2","status":"inherit","uploaded_to":597982,"date":"2019-08-30 15:59:58","modified":"2019-08-30 16:10:23","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":954,"height":710,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","medium-width":351,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","medium_large-width":768,"medium_large-height":572,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","large-width":954,"large-height":710,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","1536x1536-width":954,"1536x1536-height":710,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","2048x2048-width":954,"2048x2048-height":710,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2-625x465.gif","card_image-width":625,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-2.gif","wide_image-width":954,"wide_image-height":710}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In this animated gif, we prevent upstream features from being selected by placing a barrier on the source side terminal so the trace doesn&#8217;t select the substation features.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":598362,"id":598362,"title":"Utility Network connected trace stop at terminal","filename":"trace.gif","filesize":964957,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\/trace","alt":"Utility Network connected trace stop at terminal","author":"7511","description":"Utility Network connected trace stop at terminal","caption":"Utility Network connected trace stop at terminal","name":"trace","status":"inherit","uploaded_to":597982,"date":"2019-08-30 16:04:22","modified":"2019-08-30 16:04:44","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":954,"height":710,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","medium-width":351,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","medium_large-width":768,"medium_large-height":572,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","large-width":954,"large-height":710,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","1536x1536-width":954,"1536x1536-height":710,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","2048x2048-width":954,"2048x2048-height":710,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace-625x465.gif","card_image-width":625,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/trace.gif","wide_image-width":954,"wide_image-height":710}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p><a href=\"https:\/\/github.com\/Esri\/arcgis-runtime-samples-dotnet\/tree\/master\/src\/WPF\/ArcGISRuntime.WPF.Viewer\/Samples\/Network%20Analysis\/FindFeaturesUtilityNetwork\">This<\/a> interactive connected trace sample provides an example of usage as well.<\/p>\n<p>&nbsp;<\/p>\n<h2>What\u2019s Next?<\/h2>\n<p>We are excited to continue bringing additional utility network functionality to ArcGIS Runtime. For upcoming near-term releases, we are planning to provide the ability to specify trace configuration such as traversability, function barriers, and propagation. We also plan to add additional metadata such as domain networks, tiers, and subnetwork management and much more.<\/p>\n<p>&nbsp;<\/p>\n<p>What do you want to see next?<\/p>\n"}],"authors":[{"ID":7511,"user_firstname":"Hussein","user_lastname":"Nasser","nickname":"Hussein Nasser","user_nicename":"hussein-nasser","display_name":"Hussein Nasser","user_email":"HNasser@esri.com","user_url":"http:\/\/www.husseinnasser.com","user_registered":"2018-03-21 18:21:21","user_description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/Water-Network-Editor-banner-826x465.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/Runtime-100.6.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Utility Network is now on ArcGIS Runtime 100.6 - You can now trace on runtime<\/title>\n<meta name=\"description\" content=\"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Utility Network is now on ArcGIS Runtime 100.6\" \/>\n<meta property=\"og:description\" content=\"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-19T15:21:53+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\"},\"author\":{\"name\":\"Hussein Nasser\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\"},\"headline\":\"Utility Network is now on ArcGIS Runtime 100.6\",\"datePublished\":\"2019-08-29T20:16:59+00:00\",\"dateModified\":\"2020-02-19T15:21:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\"},\"wordCount\":7,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS Runtime\",\"ArcGIS Utility Network Management extension\"],\"articleSection\":[\"Analytics\",\"Electric &amp; Gas Utilities\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\",\"name\":\"Utility Network is now on ArcGIS Runtime 100.6 - You can now trace on runtime\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2019-08-29T20:16:59+00:00\",\"dateModified\":\"2020-02-19T15:21:53+00:00\",\"description\":\"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Utility Network is now on ArcGIS Runtime 100.6\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\",\"name\":\"Hussein Nasser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"caption\":\"Hussein Nasser\"},\"description\":\"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.\",\"sameAs\":[\"http:\/\/www.husseinnasser.com\",\"https:\/\/www.linkedin.com\/in\/hnaser\/\",\"https:\/\/x.com\/hnasr\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Utility Network is now on ArcGIS Runtime 100.6 - You can now trace on runtime","description":"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6","og_locale":"en_US","og_type":"article","og_title":"Utility Network is now on ArcGIS Runtime 100.6","og_description":"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-02-19T15:21:53+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6"},"author":{"name":"Hussein Nasser","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b"},"headline":"Utility Network is now on ArcGIS Runtime 100.6","datePublished":"2019-08-29T20:16:59+00:00","dateModified":"2020-02-19T15:21:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6"},"wordCount":7,"commentCount":0,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS Runtime","ArcGIS Utility Network Management extension"],"articleSection":["Analytics","Electric &amp; Gas Utilities"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6","name":"Utility Network is now on ArcGIS Runtime 100.6 - You can now trace on runtime","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2019-08-29T20:16:59+00:00","dateModified":"2020-02-19T15:21:53+00:00","description":"We have brought the first cut of the utility network api to ArcGIS Runtime 100.6. You can perform connected tracing and do read utility network meta data.","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/electric-gas\/utility-network-is-now-on-arcgis-runtime-100-6#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Utility Network is now on ArcGIS Runtime 100.6"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b","name":"Hussein Nasser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","caption":"Hussein Nasser"},"description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","sameAs":["http:\/\/www.husseinnasser.com","https:\/\/www.linkedin.com\/in\/hnaser\/","https:\/\/x.com\/hnasr"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser"}]}},"text_date":"August 29, 2019","author_name":"Hussein Nasser","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/08\/Runtime-100.6.jpg","primary_product":"ArcGIS Utility Network","tag_data":[{"term_id":23451,"name":"ArcGIS Runtime","slug":"arcgis-runtime","term_group":0,"term_taxonomy_id":23451,"taxonomy":"post_tag","description":"","parent":0,"count":91,"filter":"raw"},{"term_id":36071,"name":"ArcGIS Utility Network Management extension","slug":"arcgis-utility-network-management-extension","term_group":0,"term_taxonomy_id":36071,"taxonomy":"post_tag","description":"","parent":0,"count":8,"filter":"raw"}],"category_data":[{"term_id":23341,"name":"Analytics","slug":"analytics","term_group":0,"term_taxonomy_id":23341,"taxonomy":"category","description":"","parent":0,"count":1325,"filter":"raw"},{"term_id":25741,"name":"Electric &amp; Gas Utilities","slug":"electric-gas","term_group":0,"term_taxonomy_id":25741,"taxonomy":"category","description":"","parent":0,"count":252,"filter":"raw"}],"product_data":[{"term_id":36571,"name":"ArcGIS Enterprise","slug":"arcgis-enterprise","term_group":0,"term_taxonomy_id":36571,"taxonomy":"product","description":"","parent":0,"count":972,"filter":"raw"},{"term_id":515312,"name":"ArcGIS Utility Network","slug":"utility-network","term_group":0,"term_taxonomy_id":515312,"taxonomy":"product","description":"","parent":36981,"count":141,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=utility-network","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/597982","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7511"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=597982"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/597982\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=597982"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=597982"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=597982"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=597982"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=597982"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}