{"id":801551,"date":"2020-05-19T07:42:38","date_gmt":"2020-05-19T14:42:38","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=801551"},"modified":"2021-04-30T05:05:04","modified_gmt":"2021-04-30T12:05:04","slug":"exporting-subnetworks-using-data-interoperability-part2","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2","title":{"rendered":"Leveraging Data for External Systems &#8211; Automating Export Subnetwork using Data Interoperability &#8211; Part Two"},"author":20321,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851,25741],"tags":[605811,605801,615601,33401,35461],"industry":[],"product":[36561,36861,515312],"class_list":["post-801551","blog","type-blog","status-publish","format-standard","hentry","category-data-management","category-electric-gas","tag-data-interoperability","tag-export-subnetwork","tag-rest-api-rest","tag-un","tag-utility-network","product-arcgis-pro","product-api-rest","product-utility-network"],"acf":{"short_description":"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks","flexible_content":[{"acf_fc_layout":"content","content":"<p>In the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/\" target=\"_blank\" rel=\"noopener\">first blog<\/a>, we completed the first four steps to build an automation sample for Export Subnetwork using the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/data-interoperability\/what-is-the-data-interoperability-extension.htm\" target=\"_blank\" rel=\"noopener\">ArcGIS Data Interoperability<\/a> extension for ArcGIS Pro.\u00a0 As a refresher, below are the six steps to complete the workbench file.<\/p>\n<ol>\n<li><strong><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Generate Token<\/span><\/span><\/strong><\/li>\n<li><strong><span class=\"NormalTextRun SCXW111552108 BCX0\">Export\u00a0<\/span><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Subnetwork<\/span><\/span><\/strong><\/li>\n<li><strong><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Download JSON<\/span><\/span><\/strong><\/li>\n<li><strong><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Split the JSON<\/span><\/span><\/strong><\/li>\n<li><a href=\"#step-five\"><strong><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Feature creation<\/span><\/span><\/strong><\/a><\/li>\n<li><a href=\"#step-six\"><strong><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">Data transformation, schema setting, <\/span><\/span><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">and\u00a0<\/span><\/span><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">writing the outputs<\/span><\/span><span class=\"TextRun SCXW111552108 BCX0\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW111552108 BCX0\">.\u00a0<\/span><\/span><\/strong><\/a><\/li>\n<\/ol>\n<p>We will focus on the last two steps of the process and complete the sample in this blog.\u00a0 \u00a0After we finish the workbench file, we will create a Spatial ETL tool in ArcGIS Pro and embed this workbench file so it can be a part of your project.<\/p>\n<p>Before we take a deep dive into feature creation, let&#8217;s learn the source of the output of export subnetwork on the note below. If you are familiar with the <a href=\"https:\/\/github.com\/esri\/arcgis-pro-sdk\/wiki\/ProConcepts-Utility-Network\" target=\"_blank\" rel=\"noopener\">Utility Network API<\/a>, feel free to skip this and move on to feature creation.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<h2><span class=\"TextRun SCXW204303017 BCX0\" lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW204303017 BCX0\">Source of Export Subnetwork output<\/span><\/span><\/h2>\n<p>The JSON output of Export Subnetwork is retrieved from elements of the <a href=\"https:\/\/github.com\/esri\/arcgis-pro-sdk\/wiki\/ProConcepts-Utility-Network#network-topology\">network topology<\/a> index using a <a href=\"https:\/\/github.com\/esri\/arcgis-pro-sdk\/wiki\/ProConcepts-Utility-Network#tracing\">powerful tracing framework<\/a>. Using this framework, the return result is highly performant, network connectivity exists, and it has been validated and is consistent with features in the network topology.\u00a0 However, there is a limitation you need to be aware of to properly use the result.<\/p>\n<p>As shown below,\u00a0JSON output attributes have coded domains, e.g. <em>networkSourceId<\/em>, <em>assetGroupCode,<\/em> and <em>assetTypeCode<\/em>. By design, these attributes are integers in each element of the network index, thus, they perform faster in storage and retrieval, compared to the feature space of the geodatabase.<\/p>\n<p>Since coded domains are not suitable for external systems that require the descriptions, we need a lookup table to convert them.<\/p>\n","image_reference":{"ID":797871,"id":797871,"title":"featureElementsArray","filename":"jsonOutput.png","filesize":15511,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/jsonoutput","alt":"featureElements Array","author":"20321","description":"","caption":"featureElements array after JSON flattening showing coded values","name":"jsonoutput","status":"inherit","uploaded_to":785451,"date":"2020-04-04 14:17:33","modified":"2020-04-04 14:17:58","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":939,"height":259,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","medium-width":464,"medium-height":128,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","medium_large-width":768,"medium_large-height":212,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","large-width":939,"large-height":259,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","1536x1536-width":939,"1536x1536-height":259,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","2048x2048-width":939,"2048x2048-height":259,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput-826x228.png","card_image-width":826,"card_image-height":228,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/jsonOutput.png","wide_image-width":939,"wide_image-height":259}},"layout":"image","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Right","spotlight_image":false},{"acf_fc_layout":"content","content":"<h2 id=\"step-five\"><strong>Step five,\u00a0 feature creation<\/strong><\/h2>\n<p>The Export Subnetwork JSON output has all the information you need to build geometry when the <em>resultTypes <\/em>parameter includes the <em>connectivity<\/em> and <em>featureElements<\/em>\u00a0types and the option <em>includeGeometry<\/em> is set to true.<\/p>\n"},{"acf_fc_layout":"content","content":"<p>We begin feature creation from the flattened and fragmented JSON output arrays of step four.\u00a0 There are three fragments from this JSON that has geometry &#8211; <em>controllers<\/em>, <em>featureElements,<\/em> and <em>connectivity. <\/em><\/p>\n<p>The inspection of these arrays show that we need to remove duplicates between the <em>featureElements<\/em> and the <em>connectivity<\/em> arrays. In addition, the <em>featureElements <\/em>array also includes system junctions where <em>networkSourceId = 2 <\/em>and that these objects do not have geometry. We will filter out these objects before we create geometry.<\/p>\n<p>Using <strong><a href=\"http:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/testfilter.htm\" target=\"_blank\" rel=\"noopener\">TestFilter<\/a> <\/strong>transformers we determine the duplicate features and associations and the number of system junctions in our <em>featureElements<\/em> array.<\/p>\n<p>Based on the screenshot below, Subnetwork <em>RMT001 <\/em>has 281 system junctions and that there are 128 associations and 2,971 features that are duplicates.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854031,"id":854031,"title":"duplicates and system junctions","filename":"duplicates-and-system-junctions.png","filesize":32592,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/duplicates-and-system-junctions","alt":"Testfilters that remove duplicates","author":"20321","description":"","caption":"Transformers that filters features with networkSourceId = 2 or system junctiona and remove duplicates.","name":"duplicates-and-system-junctions","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:17:30","modified":"2020-05-07 18:19:01","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":432,"height":550,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","medium-width":205,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","medium_large-width":432,"medium_large-height":550,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","large-width":432,"large-height":550,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","1536x1536-width":432,"1536x1536-height":550,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","2048x2048-width":432,"2048x2048-height":550,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions-365x465.png","card_image-width":365,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/duplicates-and-system-junctions.png","wide_image-width":432,"wide_image-height":550}},"image_position":"left-center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Now we are ready to create geometry for the rest of the objects of each array.<\/p>\n<p>The geometry schema for <em>controllers<\/em>, <em>featureElements,<\/em> and <em>connectivity<\/em> arrays are different. So I created separate data flow for each fragment to build their respective geometries. In each data flow, using a <strong><a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/featuremerger.htm\" target=\"_blank\" rel=\"noopener\">FeatureMerger<\/a><\/strong>, we merge the <em>spatialReference<\/em> to each element so that they can be located in the world using the coordinate system in the feature after geometry is created.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854091,"id":854091,"title":"featureArrays","filename":"featureArrays-1.png","filesize":29891,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/featurearrays-2","alt":"Data flow of features, controllers and associations","author":"20321","description":"","caption":"Features, controllers, and associations arrays that require building geometry","name":"featurearrays-2","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:29:24","modified":"2020-05-07 18:31:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":687,"height":604,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","medium-width":297,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","medium_large-width":687,"medium_large-height":604,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","large-width":687,"large-height":604,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","1536x1536-width":687,"1536x1536-height":604,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","2048x2048-width":687,"2048x2048-height":604,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1-529x465.png","card_image-width":529,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureArrays-1.png","wide_image-width":687,"wide_image-height":604}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>A <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/geometryreplacer.htm?Highlight=geometryreplacer\">GeometryReplacer<\/a> transformer is added to each data flow to create the feature geometry.<\/p>\n<p>For the <em>featureElements array<\/em>, the geometry type of each feature could be either <em>paths, rings<\/em>, or <em>has x,y, <\/em>and<em> z<\/em>. The GeometryReplacer knows which geometry to create based on the geometry type.<\/p>\n<p>For the <em>connectivity<\/em> array, we are interested only in objects with association connectivity where <em>viaNetworkSourceId = 1. <\/em> There is no geometry type in the array but each object has a pair of <em>x, y,<\/em> and <em>z<\/em> attributes &#8211; prefixed by <em>from <\/em>and <em>to<\/em>. Connectivity will be drawn with these coordinates as vertices using the <a href=\"http:\/\/docs.safe.com\/fme\/2019.0\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/vertexcreator.htm\">VertexCreator<\/a>. The association line will be drawn from these vertices using the <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/linebuilder.htm?Highlight=linebuilder\">LineBuilder<\/a> transformer.<\/p>\n<p>The <em>controllers<\/em> are point features and the geometry will be built from its <em>x<\/em>, <em>y<\/em>, and <em>z<\/em> attributes.<\/p>\n<p>Using the <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/coordinatesystemsetter.htm\">CoordinateSystemSetter<\/a> transformer, all features are tagged with the _<em>coordsys<\/em> attribute provided by the <em>spatialReference <\/em>object.<\/p>\n<p>Below is the feature creation bookmark on my canvas.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854111,"id":854111,"title":"Feature Creation bookmark in Workbench canvas","filename":"Feature-Creation-bookmark-in-Workbench-canvas-1.png","filesize":97831,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/feature-creation-bookmark-in-workbench-canvas-2","alt":"Feature Creation bookmark in Workbench canvas","author":"20321","description":"","caption":"Feature Creation bookmark in Workbench canvas","name":"feature-creation-bookmark-in-workbench-canvas-2","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:33:56","modified":"2020-05-07 18:34:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1282,"height":610,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","medium-width":464,"medium-height":221,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","medium_large-width":768,"medium_large-height":365,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","large-width":1282,"large-height":610,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","1536x1536-width":1282,"1536x1536-height":610,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","2048x2048-width":1282,"2048x2048-height":610,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1-826x393.png","card_image-width":826,"card_image-height":393,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Feature-Creation-bookmark-in-Workbench-canvas-1.png","wide_image-width":1282,"wide_image-height":610}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><strong>Exclusions<\/strong><\/h3>\n<p>If <em>networkAttributes<\/em> option is configured in <em>resultTypes <\/em>parameter, the results will appear as another array of key-value pairs in each feature of the <em>featureElements<\/em> array called <em>networkAttributeValues<\/em>. The sample has network attributes configured and a sample result is shown below.\u00a0 For this blog, I chose not to process them.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854131,"id":854131,"title":"networkAttributeValues","filename":"networkAttributeValues.png","filesize":69144,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/networkattributevalues","alt":"NetworkAttributeValues array","author":"20321","description":"","caption":"Sample of networkAttributeValues result when Network Attributes are configured","name":"networkattributevalues","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:47:48","modified":"2020-05-07 18:48:13","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":629,"height":491,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","medium-width":334,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","medium_large-width":629,"medium_large-height":491,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","large-width":629,"large-height":491,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","1536x1536-width":629,"1536x1536-height":491,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","2048x2048-width":629,"2048x2048-height":491,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues-596x465.png","card_image-width":596,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/networkAttributeValues.png","wide_image-width":629,"wide_image-height":491}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>If <em>fields<\/em> options are configured in <em>resultTypes<\/em> parameter, a <em>fieldValues <\/em>array will be added to each feature with an existing value on the field, like below. As I mentioned earlier, I did not include fields in my export.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854151,"id":854151,"title":"fieldValues","filename":"fieldValues.png","filesize":43950,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/fieldvalues","alt":"","author":"20321","description":"","caption":"Sample of fieldValues result when Result Fields are configured","name":"fieldvalues","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:50:57","modified":"2020-05-07 18:51:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":629,"height":317,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","medium-width":464,"medium-height":234,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","medium_large-width":629,"medium_large-height":317,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","large-width":629,"large-height":317,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","1536x1536-width":629,"1536x1536-height":317,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","2048x2048-width":629,"2048x2048-height":317,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","card_image-width":629,"card_image-height":317,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/fieldValues.png","wide_image-width":629,"wide_image-height":317}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"sidebar","content":"<h2>A look ahead to Export Subnetwork in 2.6<\/h2>\n<p>Structural attachments and containments are not supported in <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/utility-network\/utility-network-upgrade-history.htm\" target=\"_blank\" rel=\"noopener\">Utility Network Version 3<\/a>. With the upcoming Utility Network Version 4 in ArcGIS Pro 2.6, these two association types will be supported. Additionally, support for nonspatial junction and edge objects will be included as part of Export Subnetwork.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Right","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>Note that the values for both <em>networkAttributeValues<\/em> and <em>fieldValues<\/em> are coded domains. To convert these coded values to description, another lookup process has to be added to this sample.\u00a0 Read the <a href=\"#tip-for-future\" rel=\"noopener\">Extending the lookup table note<\/a> for additional help with this process.<\/p>\n<p>With a few attribute cleanup in the canvas, our features are now created. I\u2019ve added a couple of <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/inspector.htm?Highlight=data%20inspector\">Inspectors<\/a> so we can view our output in the Workbench.<\/p>\n<p>Our current workspace now looks like this:<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854171,"id":854171,"title":"Current DIO Workspace Canvas","filename":"Current-DIO-Workspace-Canvas-1.png","filesize":87636,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/current-dio-workspace-canvas-2","alt":"Current workspace from steps one to five","author":"20321","description":"","caption":"The current workspace in canvas from steps one to five ","name":"current-dio-workspace-canvas-2","status":"inherit","uploaded_to":801551,"date":"2020-05-07 18:53:42","modified":"2020-05-07 18:54:39","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1282,"height":344,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","medium-width":464,"medium-height":125,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","medium_large-width":768,"medium_large-height":206,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","large-width":1282,"large-height":344,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","1536x1536-width":1282,"1536x1536-height":344,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","2048x2048-width":1282,"2048x2048-height":344,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1-826x222.png","card_image-width":826,"card_image-height":222,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Current-DIO-Workspace-Canvas-1.png","wide_image-width":1282,"wide_image-height":344}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>When I test this workspace, the example results below are displayed from the Visual preview tab of the Workbench.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854671,"id":854671,"title":"visualPreview","filename":"visualPreview-2.png","filesize":260617,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/visualpreview-3","alt":"Visual preview of featureElements table in Workbench","author":"20321","description":"","caption":"Visual preview of  featureElements table in Workbench","name":"visualpreview-3","status":"inherit","uploaded_to":801551,"date":"2020-05-07 23:21:31","modified":"2020-05-07 23:21:50","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":2000,"height":623,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2.png","medium-width":464,"medium-height":145,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2.png","medium_large-width":768,"medium_large-height":239,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2.png","large-width":1920,"large-height":598,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2-1536x478.png","1536x1536-width":1536,"1536x1536-height":478,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2.png","2048x2048-width":2000,"2048x2048-height":623,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2-826x257.png","card_image-width":826,"card_image-height":257,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/visualPreview-2-1920x598.png","wide_image-width":1920,"wide_image-height":598}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>To see the geometry on a larger map, you can launch the Data Inspector with CTRL-ALT-D or by clicking on the Inspector icon on the left vertical tab of the Visual Preview window in the Workbench shown above.<\/p>\n<p>In <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_QuickTranslator\/DataInspector\/AboutTheDataInspector\/FMEDataInspector_about.htm\">FME Data Inspector<\/a>, Subnetwork RMT001 looks like below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":797921,"id":797921,"title":"FMEDataInspector","filename":"FMEDataInspector.png","filesize":288218,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/fmedatainspector","alt":"FME Data Inspector view","author":"20321","description":"","caption":"FME Data Inspector app","name":"fmedatainspector","status":"inherit","uploaded_to":785451,"date":"2020-04-04 15:26:39","modified":"2020-04-04 15:27:03","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1263,"height":1020,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","medium-width":323,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","medium_large-width":768,"medium_large-height":620,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","large-width":1263,"large-height":1020,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","1536x1536-width":1263,"1536x1536-height":1020,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","2048x2048-width":1263,"2048x2048-height":1020,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector-576x465.png","card_image-width":576,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/FMEDataInspector.png","wide_image-width":1263,"wide_image-height":1020}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>We are getting close but we are not done yet! If you look at the table displayed above in the FME Data Inspector, you will notice that our attributes still show the coded domains. We need to change these to descriptions, set and modify the schema to make our output dynamic, and finally write the output to finish our sample.<\/p>\n<h2 id=\"step-six\"><strong>Step six<\/strong><strong>,\u00a0 data transformation, schema setting, and writing outputs<\/strong><\/h2>\n<p>In a recent GeoNet article, our solutions team shared a toolbox for <a href=\"https:\/\/community.esri.com\/message\/914697-adding-descriptions-to-export-subnetwork-json\" target=\"_blank\" rel=\"noopener\">Adding Descriptions to the Export Subnetwork JSON<\/a>. \u00a0It includes a tool to create a lookup table and another tool to update the JSON output(s) of the Export Subnetwork with descriptions.\u00a0 This step follows the same patterns as the toolbox built in Python; however, in our sample, the lookup table is generated during run time to make the lookup table dynamic with regard to schema changes.<\/p>\n<p>Before we build the lookup table, it is important to understand, the Source Mapping object from the JSON result and the data element of the utility network feature layer. If you are already familiar with these, feel free to skip the next two sections and proceed to <a href=\"#LookupTable\">Build the lookup table<\/a>.<\/p>\n"},{"acf_fc_layout":"content","content":"<h3><strong>Source Mapping<\/strong><\/h3>\n<p>The\u00a0<em>sourceMapping<\/em>\u00a0object from the\u00a0<em>_jsonOutput<\/em>\u00a0attribute is a table of unique network source ids and their corresponding feature class names in the geodatabase. Below is a sample of the source mapping array for subnetwork\u00a0<em>RMT001<\/em>. Only unique\u00a0<em>networkSourceId<\/em> from exported features in the\u00a0<em>featureElements<\/em>\u00a0array are found on this JSON object.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":788771,"id":788771,"title":"fieldvalues array2","filename":"fieldvalues-array2.png","filesize":4199,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/fieldvalues-array2","alt":"Source Mapping","author":"9712","description":"","caption":"Sample of sourceMapping object","name":"fieldvalues-array2","status":"inherit","uploaded_to":785451,"date":"2020-03-30 11:24:44","modified":"2020-03-31 00:07:47","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":356,"height":279,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","medium-width":333,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","medium_large-width":356,"medium_large-height":279,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","large-width":356,"large-height":279,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","1536x1536-width":356,"1536x1536-height":279,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","2048x2048-width":356,"2048x2048-height":279,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","card_image-width":356,"card_image-height":279,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/fieldvalues-array2.png","wide_image-width":356,"wide_image-height":279}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>We need source mapping to group features by feature class names before we write them to the output and also as a reference for our lookup table to retrieve asset group and asset type values from the data element of the utility network.<\/p>\n<h3><strong>Query Data Elements<\/strong><\/h3>\n<p>The data element of the utility network is a repository of its rich metadata.\u00a0 In ArcGIS Pro, right-click the <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/utility-network\/access-utility-network-layer-properties.htm\">utility network layer<\/a> in the Contents pane and click Properties to access the Layer Properties dialog, then click on the Network Properties tab, to see the dialog below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":797941,"id":797941,"title":"unLayerProperties","filename":"unLayerProperties.png","filesize":20115,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/unlayerproperties","alt":"Network Properties dialog","author":"20321","description":"","caption":"","name":"unlayerproperties","status":"inherit","uploaded_to":785451,"date":"2020-04-04 15:28:56","modified":"2020-04-04 15:29:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":881,"height":762,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","medium-width":302,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","medium_large-width":768,"medium_large-height":664,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","large-width":881,"large-height":762,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","1536x1536-width":881,"1536x1536-height":762,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","2048x2048-width":881,"2048x2048-height":762,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties-538x465.png","card_image-width":538,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerProperties.png","wide_image-width":881,"wide_image-height":762}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Most of the network properties that you see in this dialog come from the JSON return of the query data elements of the utility network feature layer.<\/p>\n<p>With the REST API, the utility network properties are returned using query data elements on the utility network feature layer. For my sample below, I entered <em> [950]<\/em> for the <em>Layers:<\/em> textbox<em>, <\/em>to query the data element of the utility network. If I don\u2019t add a layer Id, the query will return the data elements of all layers of the feature service. To retrieve this layer id from a web query, see the <a href=\"#pjson\">Work with the utility network feature server<\/a> note below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":797951,"id":797951,"title":"querDataElements","filename":"querDataElements.png","filesize":11192,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/querdataelements","alt":"Query Data Elements in REST API","author":"20321","description":"","caption":"Query Data Elements for feature layer ID 950 which is the utility network layerId for this sample","name":"querdataelements","status":"inherit","uploaded_to":785451,"date":"2020-04-04 15:29:30","modified":"2020-04-29 17:33:06","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":795,"height":641,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","medium-width":324,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","medium_large-width":768,"medium_large-height":619,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","large-width":795,"large-height":641,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","1536x1536-width":795,"1536x1536-height":641,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","2048x2048-width":795,"2048x2048-height":641,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements-577x465.png","card_image-width":577,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/querDataElements.png","wide_image-width":795,"wide_image-height":641}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":854291,"id":854291,"title":"dataElements","filename":"Picture1-2.png","filesize":122885,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/picture1-8","alt":"Query Data Elements JSON response","author":"20321","description":"","caption":"JSON response of query data element of utility network feature layer id 950","name":"picture1-8","status":"inherit","uploaded_to":801551,"date":"2020-05-07 20:48:01","modified":"2020-05-07 20:48:22","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":978,"height":1125,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","medium-width":227,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","medium_large-width":768,"medium_large-height":883,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","large-width":939,"large-height":1080,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","1536x1536-width":978,"1536x1536-height":1125,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2.png","2048x2048-width":978,"2048x2048-height":1125,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2-404x465.png","card_image-width":404,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Picture1-2-939x1080.png","wide_image-width":939,"wide_image-height":1080}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>From the JSON result above, <em>junctionSources<\/em> and e<em>dgeSources<\/em> (not shown) arrays in the data element have s<em>ourceId<\/em>, <em>layerId<\/em>, a<em>ssetGroupCodes<\/em> and a<em>ssetTypeCodes<\/em> and their corresponding descriptions. We will need these as references for our lookup table.<\/p>\n<p>The utility network data element contains a large amount of metadata and it is up to you to identify what you need for your own workflows.<\/p>\n<p>We will follow three tasks in this last step to add into our workspace. These tasks are data transformation, schema setting, and writing the outputs.\u00a0 Let\u2019s begin with data transformation.<\/p>\n"},{"acf_fc_layout":"content","content":"<h3><strong id=\"LookupTable\">Data transformation<\/strong><\/h3>\n<p>We start this step by building a lookup table, that will be a reference table to convert coded domains to descriptions later in our data flow.<\/p>\n<p>In our current workspace, we create a new data stream after the generate token bookmark by adding <span style=\"text-decoration: underline\">three web queries<\/span>.\u00a0 The purpose of each web query is described below. The details on why we need the results are explained later in each task.<\/p>\n<ul>\n<li>The first is to identify the layer ID of the utility network feature layer<\/li>\n<li>The second to retrieve the utility network data element<\/li>\n<li>The third one is to retrieve the feature layers\u2019 properties in your feature service.<\/li>\n<\/ul>\n<p>Below you can see the three web queries I mentioned, preceded by Generate Token.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843581,"id":843581,"title":"Lookup Table","filename":"Lookup-Table.png","filesize":85863,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/lookup-table","alt":"Three web queries to build the lookup table from","author":"20321","description":"","caption":"Three web queries to build the lookup table from data elements","name":"lookup-table","status":"inherit","uploaded_to":801551,"date":"2020-04-29 15:43:58","modified":"2020-04-29 17:34:31","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1282,"height":696,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","medium-width":464,"medium-height":252,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","medium_large-width":768,"medium_large-height":417,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","large-width":1282,"large-height":696,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","1536x1536-width":1282,"1536x1536-height":696,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","2048x2048-width":1282,"2048x2048-height":696,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-826x448.png","card_image-width":826,"card_image-height":448,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table.png","wide_image-width":1282,"wide_image-height":696}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Our <strong>first web query<\/strong> identifies the <em>utilityNetworkLayerId<\/em> of the feature service. We will use the pretty JSON (pjson) output format of the utility network feature service to retrieve this attribute. Retrieving the system generated <em>utlityNetworkLayerId<\/em> from the data element makes our sample dynamic.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p><strong id=\"pjson\">Note<\/strong>: <a href=\"https:\/\/developers.arcgis.com\/rest\/services-reference\/appendix-working-with-the-feature-server-utility-network-server-.htm\"><strong>Work with utility network feature server<\/strong><\/a><\/p>\n<p>By default, the output of any feature service endpoint is in html. By changing the output to pretty JSON, adding <strong>?f=pjson<\/strong>\u00a0 after <em>FeatureServer<\/em> in its URL, you will find the <em>utilitynetworkLayerId<\/em>, as well as other metadata exposed by pjson.<\/p>\n","image_reference":{"ID":797981,"id":797981,"title":"unLayerId","filename":"unLayerId.png","filesize":7667,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/unlayerid","alt":"Use pjson to find the utilityNetworkLayerId","author":"20321","description":"","caption":"","name":"unlayerid","status":"inherit","uploaded_to":785451,"date":"2020-04-04 15:34:38","modified":"2020-04-04 15:34:44","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":506,"height":244,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","medium-width":464,"medium-height":224,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","medium_large-width":506,"medium_large-height":244,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","large-width":506,"large-height":244,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","1536x1536-width":506,"1536x1536-height":244,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","2048x2048-width":506,"2048x2048-height":244,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","card_image-width":506,"card_image-height":244,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/unLayerId.png","wide_image-width":506,"wide_image-height":244}},"layout":"image","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Right","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>The purpose of the next query is to retrieve the utility network\u2019s data element. With the <em>utilityNetworkLayerId<\/em>\u00a0from the first web query, we pass this value as a parameter for the<strong> second web query<\/strong> &#8211; QueryDataElement operation of the FeatureServer service. With the data element in our data flow, we expose domains, layer Id, source Id, and the JSON fragments that have the asset groups and asset types for each junction and edge source. These JSON fragments will be parsed later downstream.<\/p>\n<p>The <strong>third web query<\/strong> will be used to retrieve the data elements of the feature layers that participate in the feature service so that we can add the feature layer names and aliases to the features of the <em>featureElements<\/em><i>\u00a0<\/i>array of the JSON output later.<\/p>\n<p>Using the <a href=\"http:\/\/docs.safe.com\/fme\/2019.0\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/featuremerger.htm\" target=\"_blank\" rel=\"noopener\">FeatureMerger<\/a> transformer, we merge the results of the last two web queries by <em>layerId<\/em>, and with several transformers shape the data and a few attribute cleanups, our lookup table from the data elements are done. We still need to add one more item of metadata from <em>sourceMapping<\/em>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843601,"id":843601,"title":"Lookup Table from the Data Elements","filename":"Lookup-Table-from-the-Data-Elements-1.png","filesize":63332,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/lookup-table-from-the-data-elements-2","alt":"Transformers that build the lookup table from the data elements","author":"20321","description":"","caption":"Transformers that build the lookup table from the data elements","name":"lookup-table-from-the-data-elements-2","status":"inherit","uploaded_to":801551,"date":"2020-04-29 15:47:04","modified":"2020-04-29 15:47:33","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1282,"height":378,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","medium-width":464,"medium-height":137,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","medium_large-width":768,"medium_large-height":226,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","large-width":1282,"large-height":378,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","1536x1536-width":1282,"1536x1536-height":378,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","2048x2048-width":1282,"2048x2048-height":378,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1-826x244.png","card_image-width":826,"card_image-height":244,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Lookup-Table-from-the-Data-Elements-1.png","wide_image-width":1282,"wide_image-height":378}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The <em>sourceMapping<\/em> array has the feature class names of the network sources which we need for our output feature types. I merged this array to the lookup table for a final lookup table. Just to tidy my canvas a bit I used a tunnel &#8211; dotted connectors &#8211; from the <em>sourceMapping<\/em> Array to the FeatureMerger.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":854691,"id":854691,"title":"Completed Lookup Table","filename":"Completed-Lookup-Table-1.png","filesize":25055,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/completed-lookup-table-2","alt":"Merging the sourceMapping array to the lookup table from the data elements","author":"20321","description":"","caption":"Merging the sourceMapping array to the lookup table from the data elements","name":"completed-lookup-table-2","status":"inherit","uploaded_to":801551,"date":"2020-05-07 23:33:28","modified":"2020-05-07 23:33:40","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":919,"height":424,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","medium-width":464,"medium-height":214,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","medium_large-width":768,"medium_large-height":354,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","large-width":919,"large-height":424,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","1536x1536-width":919,"1536x1536-height":424,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","2048x2048-width":919,"2048x2048-height":424,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1-826x381.png","card_image-width":826,"card_image-height":381,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-Lookup-Table-1.png","wide_image-width":919,"wide_image-height":424}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Our lookup table is now complete and has descriptions and aliases as shown below. This table is now ready for mapping with the feature elements<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":788871,"id":788871,"title":"Description Alias","filename":"Description-Alias.png","filesize":20227,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/description-alias","alt":"Lookup table with descriptions and aliases","author":"9712","description":"","caption":"Sample of the lookup table with descriptions and aliases.","name":"description-alias","status":"inherit","uploaded_to":785451,"date":"2020-03-30 12:03:53","modified":"2020-03-31 00:08:56","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1004,"height":388,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","medium-width":464,"medium-height":179,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","medium_large-width":768,"medium_large-height":297,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","large-width":1004,"large-height":388,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","1536x1536-width":1004,"1536x1536-height":388,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","2048x2048-width":1004,"2048x2048-height":388,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias-826x319.png","card_image-width":826,"card_image-height":319,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Description-Alias.png","wide_image-width":1004,"wide_image-height":388}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"sidebar","content":"<p><strong id=\"tip-for-future\">Extending the lookup table<\/strong>: If you include network attributes and fields in your <em>resultTypes<\/em> configuration, you will need the feature layer data elements to convert coded or range values to the description of returned attributes. Extending the lookup table for these attributes is not in scope of this blog.<\/p>\n<p>The additional domain descriptions are exposed in the sample already. You just need to add a few more transformers in the Build Lookup table bookmark to parse the key-value pairs for all domains of each source feature layer to extend your lookup table for each feature class configured in your Export Subnetwork.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Right","spotlight_image":false},{"acf_fc_layout":"content","content":"<h3><strong>Attribute transformation<\/strong><\/h3>\n<p>Using the lookup table as a reference, we merge all the features from <em>featureElements, controllers<\/em> and <em>connectivity<\/em> arrays by <em>networkSourceId, assetGroupCode, and assetTypeCode<\/em> to map coded domains to descriptions.<\/p>\n<p>After some cleanup of a few attributes to match the desired schema, I filtered or grouped the features by <em>jsonOutputArray<\/em> using the <a href=\"http:\/\/docs.safe.com\/fme\/2019.0\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/attributefilter.htm\">AttributeFilter<\/a>.<\/p>\n<p>This simple transformation is shown below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843661,"id":843661,"title":"Attribute Transformation bookmark","filename":"Attribute-Transformation-bookmark.png","filesize":60731,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/attribute-transformation-bookmark","alt":"Data Transformation bookmark","author":"20321","description":"","caption":"The Data Transformation bookmark.","name":"attribute-transformation-bookmark","status":"inherit","uploaded_to":801551,"date":"2020-04-29 15:59:22","modified":"2020-04-29 17:41:08","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":888,"height":722,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","medium-width":321,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","medium_large-width":768,"medium_large-height":624,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","large-width":888,"large-height":722,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","1536x1536-width":888,"1536x1536-height":722,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","2048x2048-width":888,"2048x2048-height":722,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark-572x465.png","card_image-width":572,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Attribute-Transformation-bookmark.png","wide_image-width":888,"wide_image-height":722}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>If you run the solution up to this bookmark, our feature layer attribute table should look like the below example \u2013 with all codes replaced by user-friendly descriptions.\u00a0 \u00a0Now we can set the schema by JSON output array and write the desired outputs in the next task to finish this workbench file.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":788901,"id":788901,"title":"featureLayer attributes","filename":"featureLayer-attributes.png","filesize":11367,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/featurelayer-attributes","alt":"Attribute Filter output","author":"9712","description":"","caption":"Feature elements with user-friendly descriptions.","name":"featurelayer-attributes","status":"inherit","uploaded_to":785451,"date":"2020-03-30 12:11:42","modified":"2020-03-30 20:41:43","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":911,"height":248,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","medium-width":464,"medium-height":126,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","medium_large-width":768,"medium_large-height":209,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","large-width":911,"large-height":248,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","1536x1536-width":911,"1536x1536-height":248,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","2048x2048-width":911,"2048x2048-height":248,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes-826x225.png","card_image-width":826,"card_image-height":225,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/featureLayer-attributes.png","wide_image-width":911,"wide_image-height":248}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><strong>Schema Setting and Writing the Output<\/strong><\/h3>\n<p>We need to set the schema for each JSON array before we write the output. I want to make my workspace dynamic enough for readers who would like to try the sample using their own services. For this task, I used a special <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/data-interoperability\/what-is-a-custom-format.htm\" target=\"_blank\" rel=\"noopener\">custom transformer<\/a> in Data Interoperability called <a href=\"https:\/\/hub.safe.com\/publishers\/safe-lab\/transformers\/schemasetter\" target=\"_blank\" rel=\"noopener\">SchemaSetter<\/a>. This transformer can be downloaded directly from the canvas. Just start typing the name and auto text will filter down to this transformer.<\/p>\n<p>I included four formats in this sample for my output:<\/p>\n<ol>\n<li>JSON<\/li>\n<li>FGDB<\/li>\n<li>SHP<\/li>\n<li>GeoPackage<\/li>\n<\/ol>\n<p>Below is the bookmark for these final tasks. The JSON output which you do not see in this bookmark is the JSON result from Export Subnetwork, previously done in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/#step-three\" target=\"_blank\" rel=\"noopener\">step three<\/a>. I also added a <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_Transformers\/Transformers\/featurewriter.htm\">FeatureWriter<\/a> transformer for each of the three output formats I wanted to write.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843671,"id":843671,"title":"Schema setting and outputs bookmark","filename":"Schema-setting-and-outputs-bookmark.png","filesize":59804,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/schema-setting-and-outputs-bookmark","alt":"Schema setting and outputs bookmark","author":"20321","description":"","caption":"Schema setting and outputs bookmark","name":"schema-setting-and-outputs-bookmark","status":"inherit","uploaded_to":801551,"date":"2020-04-29 16:00:45","modified":"2020-04-29 16:01:14","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":822,"height":722,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","medium-width":297,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","medium_large-width":768,"medium_large-height":675,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","large-width":822,"large-height":722,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","1536x1536-width":822,"1536x1536-height":722,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","2048x2048-width":822,"2048x2048-height":722,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark-529x465.png","card_image-width":529,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Schema-setting-and-outputs-bookmark.png","wide_image-width":822,"wide_image-height":722}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Each FeatureWriter is configured with schema from the SchemaSetter and the appropriate feature classes created from the <em>controller, featureElements, <\/em>and <em>association <\/em>arrays. To set the schema from the previous task to your output, check the box for the Dynamic Schema Definition parameter and configure as shown in the sample below.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":841501,"id":841501,"title":"FeatureWriter parameter","filename":"featureWriter.png","filesize":32601,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/featurewriter","alt":"Feature Writer parameter","author":"20321","description":"","caption":"Sample of Feature Writer parameters showing dynamic schema enabled and a dynamic feature types configured","name":"featurewriter","status":"inherit","uploaded_to":801551,"date":"2020-04-28 16:03:33","modified":"2020-04-28 16:18:10","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":574,"height":583,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","medium-width":257,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","medium_large-width":574,"medium_large-height":583,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","large-width":574,"large-height":583,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","1536x1536-width":574,"1536x1536-height":583,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","2048x2048-width":574,"2048x2048-height":583,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter-458x465.png","card_image-width":458,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/featureWriter.png","wide_image-width":574,"wide_image-height":583}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The <em>featureElements array<\/em> has an additional setting in the Feature Class or Table name parameter which is set to the value of feature class name &#8211; <em>@value(featureClassName). <\/em>This will set the writer to group features by feature class, shapefile, or whatever the case may be for the selected output format. This advanced technique uses what is referred to as <a href=\"https:\/\/docs.safe.com\/fme\/html\/FME_Desktop_Documentation\/FME_ReadersWriters\/!FeatureTypeProperties\/workspaces_dynamic_about.htm\" target=\"_blank\" rel=\"noopener\">Dynamic Workflows<\/a>. Only the System Junction object table needs to be configured manually because its schema was not set to be dynamic.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p><strong>Note<\/strong>: There are close to <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/data-interoperability\/supported-formats-with-the-data-interoperability-extension.htm\" target=\"_blank\" rel=\"noopener\">300 reader and writer formats<\/a> that are available in Data Interoperability. Just be aware that every writer has different directives and parameters to configure. You may have to modify the schema in your canvas using the SchemaSetter or some additional transformers to adjust for a different writer or a different workflow. Remember&#8230;test often as you configure.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<p>With a single data source from the Export Subnetwork JSON output, you can write into different output formats with different schema requirements for multiple external systems with Data Interoperability. One output can be for your mobile app in OGC Geopackage, an FGDB can be the source for your operational (read-only) enterprise geodatabase, or maybe even shapefile. You could even write directly to feature layers in your portal.<\/p>\n"},{"acf_fc_layout":"content","content":"<p>Our completed workbench file now looks like the below example.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843691,"id":843691,"title":"Completed workspace","filename":"Completed-workspace.png","filesize":84984,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/completed-workspace","alt":"The completed workspace in the canvas","author":"20321","description":"","caption":"The completed workspace in the Workbench canvas","name":"completed-workspace","status":"inherit","uploaded_to":801551,"date":"2020-04-29 16:03:43","modified":"2020-04-29 16:07:32","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1282,"height":384,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","medium-width":464,"medium-height":139,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","medium_large-width":768,"medium_large-height":230,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","large-width":1282,"large-height":384,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","1536x1536-width":1282,"1536x1536-height":384,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","2048x2048-width":1282,"2048x2048-height":384,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace-826x247.png","card_image-width":826,"card_image-height":247,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Completed-workspace.png","wide_image-width":1282,"wide_image-height":384}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h3><strong>Running the sample<\/strong><\/h3>\n<p>Now I can hit the Play button from the ribbon to run the workbench. After the workbench runs successfully, the four output types are written in a folder named by the output formats &#8211; <em>shp, gdb, gpk, <\/em>and<em> json<\/em>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843701,"id":843701,"title":"Output folder","filename":"Output-folder.png","filesize":14161,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/output-folder","alt":"Four output formats in Windows Explorer","author":"20321","description":"","caption":"Four output formats written to the output and format child sub folders","name":"output-folder","status":"inherit","uploaded_to":801551,"date":"2020-04-29 16:04:40","modified":"2020-04-29 16:05:35","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":754,"height":409,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","medium-width":464,"medium-height":252,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","medium_large-width":754,"medium_large-height":409,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","large-width":754,"large-height":409,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","1536x1536-width":754,"1536x1536-height":409,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","2048x2048-width":754,"2048x2048-height":409,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","card_image-width":754,"card_image-height":409,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Output-folder.png","wide_image-width":754,"wide_image-height":409}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>When you run the entire workspace for the first time, it opens a dialog prompting the user to pick a feature service URL from a drop-down, and to type SubnetworkName, username and password on the provided text boxes, as shown below. Data Interoperability refers to this dialog as a <a href=\"https:\/\/knowledge.safe.com\/articles\/1287\/published-parameter-examples.html\" target=\"_blank\" rel=\"noopener\">user parameter<\/a>. To protect your password make sure that the <em>Save as User Parameter Default Values<\/em> is unchecked.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":788951,"id":788951,"title":"TranslationParameters","filename":"TranslationParameters.png","filesize":8149,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/translationparameters","alt":"Translation Parameter Values","author":"9712","description":"","caption":"Sample service URL's in your Service dropdown.","name":"translationparameters","status":"inherit","uploaded_to":785451,"date":"2020-03-30 12:21:29","modified":"2020-03-30 20:45:39","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":551,"height":304,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","medium-width":464,"medium-height":256,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","medium_large-width":551,"medium_large-height":304,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","large-width":551,"large-height":304,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","1536x1536-width":551,"1536x1536-height":304,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","2048x2048-width":551,"2048x2048-height":304,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","card_image-width":551,"card_image-height":304,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/TranslationParameters.png","wide_image-width":551,"wide_image-height":304}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Parameters appear from a dialog in the workspace during run time prompting users to enter values or pick from a drop-down list of choices for convenience and prevent user errors.<\/p>\n<p>Using parameters in my workbench, allow me to run the tool on different utility network feature services. You can configure your own choices for the <em>Service<\/em> parameter by right-clicking on the parameter in the Navigator pane, User Parameters list in Workbench and clicking the <em>Edit Definition<\/em> context menu item.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843721,"id":843721,"title":"User Parameter Edit Definition Menu Item","filename":"User-Parameter-Edit-Definition-Menu-Item.png","filesize":10531,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/user-parameter-edit-definition-menu-item","alt":"User Parameter Edit Definition Menu Item","author":"20321","description":"","caption":"User Parameter Edit Definition Menu Item","name":"user-parameter-edit-definition-menu-item","status":"inherit","uploaded_to":801551,"date":"2020-04-29 16:09:43","modified":"2020-04-29 16:10:21","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":476,"height":337,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","medium-width":369,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","medium_large-width":476,"medium_large-height":337,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","large-width":476,"large-height":337,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","1536x1536-width":476,"1536x1536-height":337,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","2048x2048-width":476,"2048x2048-height":337,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","card_image-width":476,"card_image-height":337,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/User-Parameter-Edit-Definition-Menu-Item.png","wide_image-width":476,"wide_image-height":337}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This <em>Service<\/em> parameter is configured with a <em>Choice<\/em> parameter type. In the image below you can see that I have three sample utility networks with this <em>Service<\/em> parameter definition.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":843741,"id":843741,"title":"Changing the services for your environment","filename":"Changing-the-services-for-your-environment.png","filesize":23021,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\/changing-the-services-for-your-environment","alt":"Changing the services in the Edit Choices list dialog for your own environment","author":"20321","description":"","caption":"Changing the services in the Edit Choices list dialog for your own environment","name":"changing-the-services-for-your-environment","status":"inherit","uploaded_to":801551,"date":"2020-04-29 16:22:16","modified":"2020-04-29 16:22:51","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":766,"height":439,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","medium-width":455,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","medium_large-width":766,"medium_large-height":439,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","large-width":766,"large-height":439,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","1536x1536-width":766,"1536x1536-height":439,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","2048x2048-width":766,"2048x2048-height":439,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","card_image-width":766,"card_image-height":439,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/Changing-the-services-for-your-environment.png","wide_image-width":766,"wide_image-height":439}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"sidebar","content":"<p><strong>Warning<\/strong>: When configuring your Password parameter, do not use the Password parameter type, unless you want to run your tool in the Workbench. If you import the workbench file into a Spatial ETL, password type parameters are not supported.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<h3>Download the sample<\/h3>\n<p>You can download the workbench file sample <strong><a href=\"https:\/\/community.esri.com\/t5\/arcgis-utility-network-documents\/sample-workbench-file-leveraging-data-for-external-systems\/ta-p\/1053123\" target=\"_blank\" rel=\"noopener\">here<\/a><\/strong> to try this yourself. Read the note below before you run the sample. Run your workspace by steps and inspect your results often, until you can run the whole workspace in your canvas, and it writes the expected output.<\/p>\n"},{"acf_fc_layout":"sidebar","content":"<p><strong>Configuring the sample for your environment: <\/strong><\/p>\n<p>To run this sample in your environment requires making a few changes to the workspace. Start in the Navigator by changing the Service user parameters to your own environment.<\/p>\n<p>On the canvas, configure the Export Subnetwork HTTPCaller found in <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability\/#step-two\" target=\"_blank\" rel=\"noopener\">step two<\/a>. These are the required parameters that must be configured in the <em>Query String Parameters<\/em> of this transformer:<\/p>\n<ul>\n<li>domainNetworkName<\/li>\n<li>tierName<\/li>\n<li>subnetworkName<\/li>\n<li>traceConfiguration<\/li>\n<li>resultTypes<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>Before you configure the transformer, test your Export Subnetwork configuration using the GP tool in Pro first. If it completes successfully, use a tool like Fiddler to catch the traffic between Pro and the ArcGIS Server hosting your utility network. Copy and paste the web form configuration from Fiddler into your HTTPCaller transformer <em>Query String<\/em> <em>Parameters<\/em>.<\/p>\n<p>I also challenge you to change these parameters into User parameters so you can enter your own configuration during run time. A user parameter for the Subnetwork is included in the sample. Its good practice to do this while you are tweaking the sample.<\/p>\n","image_reference":false,"layout":"standard","image_reference_figure":"","snippet":"","spotlight_name":"","section_title":"","position":"Center","spotlight_image":false},{"acf_fc_layout":"content","content":"<h3>Using Spatial ETL<\/h3>\n<p>Our final task for this blog is to create a <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/data-interoperability\/spatial-etl-tools.htm\">Spatial ETL tool to make it part of an ArcGIS Pro Project or package<\/a> by importing the workbench file. After I created my ETL tool, I can then run it from the geoprocessing pane or use the <a href=\"https:\/\/community.esri.com\/community\/open-platform-standards-and-interoperability\/blog\/2019\/05\/31\/automate-your-etl-processes-on-a-schedule\">Scheduler<\/a> option.\u00a0 The help documentation outlines the process to create a new Spatial ETL tool referencing an existing FMW file <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/data-interoperability\/create-an-esri-spatial-etl-tool.htm#GUID-C51354DF-080F-4F3B-9FD9-47895088E536\">here<\/a>.<\/p>\n"},{"acf_fc_layout":"content","content":"<h2><strong>Summary<\/strong><\/h2>\n<p>This completes our blog.\u00a0 In the first part, I explained four of the six steps to build our sample solution. I shared valuable information about Export Subnetwork and how to download and parse the JSON return of the tool. In this second part, we completed the sample with the last two steps and I discussed the JSON output of export subnetwork in detail, working with the feature service of your utility network and its data elements, feature creation including geometry from JSON and changing coded domains to user-friendly descriptions, and dynamic writing to multiple outputs.\u00a0 Overall I showed how to build an export subnetwork automation tool using the Data Interoperability extension of ArcGIS Pro. Lastly, I showed you how to run &amp; configure parameterized workbenches and how to use the Spatial ETL toolbox in Pro.\u00a0 This workbench file is now ready for further automation to export all subnetwork of any utility network&#8230;which will be the topic for my next blog.<\/p>\n<p>I hope you made it this far and found the blog informative and helpful. \u00a0Please leave comments below with any questions on the sample provided or with Export Subnetwork itself.<\/p>\n<p>&nbsp;<\/p>\n<p><em>Card and Banner images by:<\/em><\/p>\n<p><a style=\"background-color: black;color: white;text-decoration: none;padding: 4px 6px;font-size: 12px;font-weight: bold;line-height: 1.2;border-radius: 3px\" title=\"Download free do whatever you want high-resolution photos from bert sz\" href=\"https:\/\/unsplash.com\/@bertsz?utm_medium=referral&amp;utm_campaign=photographer-credit&amp;utm_content=creditBadge\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"padding: 2px 3px\">bert sz<\/span><\/a><\/p>\n"}],"authors":[{"ID":20321,"user_firstname":"Renato","user_lastname":"Salvaleon","nickname":"Renato Salvaleon","user_nicename":"rsalvaleon","display_name":"Renato Salvaleon","user_email":"rsalvaleon@esri.com","user_url":"","user_registered":"2020-03-26 22:00:34","user_description":"Renato is a product engineer with the Data nteroperability team and has geospatial experience in the utility and defense industries. In his spare time, Renato loves to golf, swim and travel with family.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/scienceofwhere-465x465.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"},{"ID":9712,"user_firstname":"Jonathan","user_lastname":"DeRose","nickname":"Jon DeRose","user_nicename":"jderose","display_name":"Jon DeRose","user_email":"JDeRose@esri.com","user_url":"","user_registered":"2019-07-01 11:23:28","user_description":"Jon is a product engineer on the Geodatabase team passionate about using technology to bring order to chaotic systems.  In his spare time he enjoys arguing about how the Atlanta Braves were the true team of the 90's.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/20190417_191640-213x200.jpg' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":785451,"post_author":"9712","post_date":"2020-04-17 03:46:19","post_date_gmt":"2020-04-17 10:46:19","post_content":"","post_title":"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability","post_excerpt":"","post_status":"publish","comment_status":"open","ping_status":"closed","post_password":"","post_name":"exporting-subnetworks-using-data-interoperability","to_ping":"","pinged":"","post_modified":"2020-07-22 06:23:30","post_modified_gmt":"2020-07-22 13:23:30","post_content_filtered":"","post_parent":0,"guid":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=785451","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Blackandred_Card.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Blackandred_Banner.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>Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two<\/title>\n<meta name=\"description\" content=\"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks\" \/>\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\/data-management\/exporting-subnetworks-using-data-interoperability-part2\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two\" \/>\n<meta property=\"og:description\" content=\"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\" \/>\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=\"2021-04-30T12:05:04+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\/data-management\/exporting-subnetworks-using-data-interoperability-part2#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\"},\"author\":{\"name\":\"Renato Salvaleon\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/548bf8dcec29dc266311d3091cd5d251\"},\"headline\":\"Leveraging Data for External Systems &#8211; Automating Export Subnetwork using Data Interoperability &#8211; Part Two\",\"datePublished\":\"2020-05-19T14:42:38+00:00\",\"dateModified\":\"2021-04-30T12:05:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\"},\"wordCount\":15,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"Data Interoperability\",\"Export Subnetwork\",\"REST API REST\",\"UN\",\"utility network\"],\"articleSection\":[\"Data Management\",\"Electric &amp; Gas Utilities\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\",\"name\":\"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-05-19T14:42:38+00:00\",\"dateModified\":\"2021-04-30T12:05:04+00:00\",\"description\":\"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Leveraging Data for External Systems &#8211; Automating Export Subnetwork using Data Interoperability &#8211; Part Two\"}]},{\"@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\/548bf8dcec29dc266311d3091cd5d251\",\"name\":\"Renato Salvaleon\",\"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\/2020\/04\/scienceofwhere-465x465.jpg\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/scienceofwhere-465x465.jpg\",\"caption\":\"Renato Salvaleon\"},\"description\":\"Renato is a product engineer with the Data nteroperability team and has geospatial experience in the utility and defense industries. In his spare time, Renato loves to golf, swim and travel with family.\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/rsalvaleon\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two","description":"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks","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\/data-management\/exporting-subnetworks-using-data-interoperability-part2","og_locale":"en_US","og_type":"article","og_title":"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two","og_description":"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2021-04-30T12:05:04+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\/data-management\/exporting-subnetworks-using-data-interoperability-part2#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2"},"author":{"name":"Renato Salvaleon","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/548bf8dcec29dc266311d3091cd5d251"},"headline":"Leveraging Data for External Systems &#8211; Automating Export Subnetwork using Data Interoperability &#8211; Part Two","datePublished":"2020-05-19T14:42:38+00:00","dateModified":"2021-04-30T12:05:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2"},"wordCount":15,"commentCount":2,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["Data Interoperability","Export Subnetwork","REST API REST","UN","utility network"],"articleSection":["Data Management","Electric &amp; Gas Utilities"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2","name":"Leveraging Data for External Systems - Automating Export Subnetwork using Data Interoperability - Part Two","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-05-19T14:42:38+00:00","dateModified":"2021-04-30T12:05:04+00:00","description":"Learn how the Data Interoperability extension in ArcGIS Pro can help you build an FME Workbench to Export Subnetworks","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Leveraging Data for External Systems &#8211; Automating Export Subnetwork using Data Interoperability &#8211; Part Two"}]},{"@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\/548bf8dcec29dc266311d3091cd5d251","name":"Renato Salvaleon","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\/2020\/04\/scienceofwhere-465x465.jpg","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/04\/scienceofwhere-465x465.jpg","caption":"Renato Salvaleon"},"description":"Renato is a product engineer with the Data nteroperability team and has geospatial experience in the utility and defense industries. In his spare time, Renato loves to golf, swim and travel with family.","url":"https:\/\/www.esri.com\/arcgis-blog\/author\/rsalvaleon"}]}},"text_date":"May 19, 2020","author_name":"Multiple Authors","author_page":"https:\/\/www.esri.com\/arcgis-blog\/products\/utility-network\/data-management\/exporting-subnetworks-using-data-interoperability-part2","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2020\/03\/Blackandred_Banner.jpg","primary_product":"ArcGIS Utility Network","tag_data":[{"term_id":605811,"name":"Data Interoperability","slug":"data-interoperability","term_group":0,"term_taxonomy_id":605811,"taxonomy":"post_tag","description":"","parent":0,"count":6,"filter":"raw"},{"term_id":605801,"name":"Export Subnetwork","slug":"export-subnetwork","term_group":0,"term_taxonomy_id":605801,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":615601,"name":"REST API REST","slug":"rest-api-rest","term_group":0,"term_taxonomy_id":615601,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":33401,"name":"UN","slug":"un","term_group":0,"term_taxonomy_id":33401,"taxonomy":"post_tag","description":"","parent":0,"count":17,"filter":"raw"},{"term_id":35461,"name":"utility network","slug":"utility-network","term_group":0,"term_taxonomy_id":35461,"taxonomy":"post_tag","description":"","parent":0,"count":61,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":920,"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":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2036,"filter":"raw"},{"term_id":36861,"name":"ArcGIS REST API","slug":"api-rest","term_group":0,"term_taxonomy_id":36861,"taxonomy":"product","description":"","parent":36601,"count":75,"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\/801551","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\/20321"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=801551"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/801551\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=801551"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=801551"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=801551"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=801551"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=801551"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}