<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blair Services &#187; Geometric Network</title>
	<atom:link href="https://blairservices.net/tag/geometric-network/feed/" rel="self" type="application/rss+xml" />
	<link>https://blairservices.net</link>
	<description>GIS Solutions</description>
	<lastBuildDate>Wed, 31 Jan 2018 20:07:59 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>Repairing Invalid Geometries</title>
		<link>https://blairservices.net/duis-vel-dignissim-velit/</link>
		<comments>https://blairservices.net/duis-vel-dignissim-velit/#comments</comments>
		<pubDate>Fri, 08 Aug 2014 23:51:39 +0000</pubDate>
		<dc:creator><![CDATA[Jason Larner]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ArcGIS]]></category>
		<category><![CDATA[Geodatabase]]></category>
		<category><![CDATA[Geometric Network]]></category>
		<category><![CDATA[Invalid Geometry]]></category>

		<guid isPermaLink="false">http://dev.blairservices.net/?p=130</guid>
		<description><![CDATA[<p>When loading data from other geographic sources into ArcGIS you can quickly learn about expectations different systems have about feature geometry definitions, especially when dealing with geometries that are to become part of ArcGIS geometric networks. Geometries that are valid in other systems or for other purposes are not always so for geometric network features. [...]<br /><a class="btn btn-purple read-more" href="https://blairservices.net/duis-vel-dignissim-velit/"> Read more &#187;</a></p>
<p>The post <a rel="nofollow" href="https://blairservices.net/duis-vel-dignissim-velit/">Repairing Invalid Geometries</a> appeared first on <a rel="nofollow" href="https://blairservices.net">Blair Services</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>When loading data from other geographic sources into ArcGIS you can quickly learn about expectations different systems have about feature geometry definitions, especially when dealing with geometries that are to become part of ArcGIS geometric networks. Geometries that are valid in other systems or for other purposes are not always so for geometric network features. Luckily for us, our friends at Esri have as of version 10.2 provided a new Geoprocessing tool, &#8220;Verify and Repair Geometric Network Connectivity&#8221; to help detect and resolve many of these cases.</p>
<h3>Self-Intersecting Line Example</h3>
<p>We&#8217;ll use what is a pretty typical example of a case that can result in an invalid network feature geometry. As illustrated to the right the case is where a line geometry doubles back on itself and becomes &#8220;self-intersecting.&#8221; In our simple example we&#8217;ll look at a case where a three-vertex line begins at vertex 1, proceeds to vertex 2 and ends at vertex 3, which falls on the segment defined from vertex 1 to vertex 2. In addition, as is also often the case, we have a junction feature snapped to vertex 3.</p>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_1.png"><img class="alignnone wp-image-309 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_1.png" alt="Repairing_Geometries_1" width="322" height="119" /></a><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_2.png"><img class="alignnone wp-image-310 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_2.png" alt="Repairing_Geometries_2" width="322" height="120" /></a></p>
<p>This might be an electric transformer, a gas or water tap feature or a fiber optic cable splice point. The same condition would apply across the board. When we create a geometric network from these features a fourth vertex is introduced – between vertex 0 and (what was) vertex 1 and coincident with (what was) vertex 2.</p>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_3.png"><img class="alignnone wp-image-317 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_3.png" alt="Repairing_Geometries_3" width="638" height="169" /></a></p>
<p>This in and of itself would not necessarily be an issue, however when we try to edit our edge feature in ArcFM/ArcMap we find that there is an issue. Namely, we can&#8217;t modify the edge feature geometry. The line thinks its connected to the same junction at two distinct vertices, which isn&#8217;t valid. If we explore further there would potentially other problems such as certain trace operations not returning expected results.</p>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_4.png"><img class="alignnone wp-image-318 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_4.png" alt="Repairing_Geometries_4" width="358" height="214" /></a></p>
<p>So, now what? Well, we could repair the individual feature within our ArcFM/ArcMap session by any of the following steps:</p>
<ol>
<li>Delete and re-add the feature (yikes!)</li>
<li>Disconnect the feature using the (ArcFM) Disconnect tool, repair the geometry and re-connect it with the (ArcFM) Connect tool</li>
<li>Use the &#8220;Geometric Network Editing&#8221; toolbar &#8220;Rebuild Connectivity&#8221; tool</li>
</ol>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_5.png"><img class="alignnone wp-image-323 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_5.png" alt="Repairing_Geometries_5" width="348" height="185" /></a></p>
<p>All of these methods would work, but the onus would be on a map editor. If there are a small number of these cases in your database this may be a reasonable approach, but in data migration there may be many such cases. It would seem there should be a better way.</p>
<p>And that brings us to the &#8220;Verify and Repair Geometric Network Connectivity&#8221; Geoprocessing tool found in ArcToolbox under &#8220;Data Management Tools | Geometric Network&#8221;. The tool presents a dialog that asks you to select a geometric network, provide an log file output location and asks if you simply want to diagnose and report network errors or, in addition, to fix them.</p>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_6.png"><img class="alignnone wp-image-324 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_6.png" alt="Repairing_Geometries_6" width="348" height="277" /></a></p>
<p>If you choose the &#8220;Repair Network&#8221; option updates are made directly to the geometric network features as needed – no further action required (though it&#8217;s probably a good idea to make a backup of your database before running, just in case).</p>
<p>So what would this tool do to resolve our case in question? Here&#8217;s a portion of the resulting log file that documents detection of our error and what was done to resolve it. Basically, the line was re-created to avoid connecting our line to our junction in two places.</p>
<pre><code>[8/16/2014 12:15:59 PM] Processing LineFC
[8/16/2014 12:15:59 PM] Error(LineFC): Feature OID=9 has an error in its sub elements chain
[8/16/2014 12:15:59 PM] Recreating Edges (1)
[8/16/2014 12:15:59 PM] Warning(LineFC): Junction connected at coincident vertices avoided on Edge ClassID=302, OID=9
[8/16/2014 12:15:59 PM] Deleting invalid EIDs (2)
</code></pre>
<p>What does this look like back in our map? The first thing we see is that we can edit the line with normal editing tools and no error message – a relief. The second thing we notice is that the repair process didn&#8217;t change the geometry of the line at all. All four vertices that were present at the time the geometric network was created are still present in our current line, including the coincident vertexes (vertex 1 and vertex 3 from above.) All the repair process did – as we would want it to – is to connect the junction to just one of the coincident vertices, not to both, and as a result permit normal use of the data for map editing or analysis purposes.</p>
<p><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_7.png"><img class="alignnone wp-image-325 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_7.png" alt="Repairing_Geometries_7" width="303" height="184" /></a><a href="https://blairservices.net/wp-content/uploads/Repairing_Geometries_8.png"><img class="alignnone wp-image-326 size-full" src="https://blairservices.net/wp-content/uploads/Repairing_Geometries_8.png" alt="Repairing_Geometries_8" width="297" height="156" /></a></p>
<p>At this point we may say our work is done here. This may be as much as we would want any automated process to perform. If, on the other hand we could say with high confidence that the segment to the west of our junction was completely extraneous, likely the result of a digitizing error in our source system or some similar condition, then we may want to detect and eliminate coincident segments within a given line geometry. But that would be a topic for another Tips and Tricks discussion.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://blairservices.net/duis-vel-dignissim-velit/">Repairing Invalid Geometries</a> appeared first on <a rel="nofollow" href="https://blairservices.net">Blair Services</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blairservices.net/duis-vel-dignissim-velit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why Did My Trace Do That?</title>
		<link>https://blairservices.net/trace/</link>
		<comments>https://blairservices.net/trace/#comments</comments>
		<pubDate>Thu, 07 Aug 2014 17:50:36 +0000</pubDate>
		<dc:creator><![CDATA[Ed Blair]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ArcFM]]></category>
		<category><![CDATA[Geometric Network]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[Trace]]></category>
		<category><![CDATA[trace returned no results]]></category>

		<guid isPermaLink="false">http://dev.blairservices.net/?p=328</guid>
		<description><![CDATA[<p>Ever perform an ArcGIS/ArcFM downstream (or upstream) trace and get results you did not expect? Unless your data is perfect (and I know of no perfect dataset) then I&#8217;m guessing the answer is &#8220;yes&#8221;. So, the next question is, why? There may be many answers &#8212; this article will describe some. Specifically, it will discuss [...]<br /><a class="btn btn-purple read-more" href="https://blairservices.net/trace/"> Read more &#187;</a></p>
<p>The post <a rel="nofollow" href="https://blairservices.net/trace/">Why Did My Trace Do That?</a> appeared first on <a rel="nofollow" href="https://blairservices.net">Blair Services</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Ever perform an ArcGIS/ArcFM downstream (or upstream) trace and get results you did not expect? Unless your data is perfect (and I know of no perfect dataset) then I&#8217;m guessing the answer is &#8220;yes&#8221;. So, the next question is, why? There may be many answers &#8212; this article will describe some. Specifically, it will discuss some of the reasons why your trace did what it did – which was other than you expected – even though you thought your data was great. It will also skip the obvious cases of features clearly not snapped, or phasing not set or an incorrect normal position setting, or similar things.</p>
<h3><strong>&#8220;Trace returned no results&#8221;</strong></h3>
<p>I&#8217;ll start out with a favorite, a trace that returns the message &#8220;Trace returned no results.&#8221; Actually, there are many reasons why this occurs. For now I&#8217;ll focus on one particularly vexing condition, the full set of symptoms are as follows:</p>
<ul>
<li>Perform a downstream trace on a feeder just upstream of a transformer. The expected result are returned, including primaries, transformer(s), secondaries and service locations.</li>
</ul>
<p><a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_01.png"><img class="alignnone wp-image-329 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_01.png" alt="WhyDidMyTrace_01" width="635" height="129" /></a></p>
<ul>
<li>Perform a downstream trace initiated at the transformer itself (one included in the previous trace results). The result is the message &#8220;Trace returned no results.&#8221;</li>
</ul>
<p><a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_02.png"><img class="alignnone wp-image-330 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_02.png" alt="WhyDidMyTrace_02" width="637" height="117" /></a></p>
<p>How could this be? The first trace, which completed successfully, was a &#8220;superset&#8221; of the second trace, which returned no results. Shouldn&#8217;t a trace performed within the bounds of a previously performed successful trace also be successful? Clearly not necessarily.</p>
<p>Here&#8217;s the difference. The first trace process started on a primary line with a valid geometry, got the geometric network EID from the line feature and dove into the logical network (LN) obtaining &#8220;forward star&#8221; cursors within the network until it completed. When trace limits were found in the logical network the set of traversed EID&#8217;s were returned and used to select and/or highlight corresponding features.</p>
<p>The second trace started at the transformer junction feature and examined each connected conductor (primary and secondary) to determine where to proceed. If we look closely at the secondary line we can start to see the issue. Vertices 0 and 2 occupy the same X,Y location, which ArcGIS considers to be a &#8220;loop&#8221; and which makes the geometry invalid for a geometric network edge.</p>
<p><a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_03.png"><img class="alignnone wp-image-333 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_03.png" alt="WhyDidMyTrace_03" width="569" height="252" /></a></p>
<p>When the trace process tried to inspect this edge feature it encountered the invalid geometry and failed at that point. It never got into the logical network to begin its &#8220;forward star&#8221; querying process. Thus the trace returns a &#8220;returned no results&#8221; message.</p>
<p>In contrast, the first trace got from the feature into the logical network without problem and traced to and through the transformer and secondary while in the LN and returned results as expected.</p>
<h3><strong>&#8220;Case of the Step-down Transformer&#8221;</strong></h3>
<p>This case was initially puzzling because the trace started on a primary conductor and stopped at a step-down transformer which on the low side had other primary voltage conductors. The transformer and primaries are all connected, but under no condition would the trace proceed beyond the step-down transformer. It&#8217;s as if the step-down transformer were acting like an open switch.</p>
<p><a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_04.png"><img class="alignnone wp-image-334 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_04.png" alt="WhyDidMyTrace_04" width="636" height="110" /></a></p>
<p>Puzzling all the more because when we perform a trace in a similar condition when the primary on both sides of a standard distribution transformer are the same voltage we get the expected results. The transformer is traced, as is the downstream secondary and the downstream primary. So, what gives?<br />
<a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_05.png"><img class="alignnone wp-image-335 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_05.png" alt="WhyDidMyTrace_05" width="635" height="118" /></a></p>
<p>&nbsp;</p>
<p>After a little rumination it&#8217;s clear that, though the 12 kV line downstream of the step-down transformer is a primary voltage, it&#8217;s a different voltage than the primary on the source side. And in this case different matters. When the first trace hits the transformer and examines the transformer&#8217;s connected phases – in this case it&#8217;s connected to &#8216;B&#8217;. Then it looks for connected conductors. Those with a different voltage than the upstream conductor are considered to be on the other side of the transformer and must share a common phase code for power to pass through it. Since the transformer is on phase &#8216;B&#8217; and the low side primary is at 12.0 kV rather than 20.78 kV and since the low side primary is on phase &#8216;C&#8217; the trace stops.</p>
<p>Now, this is also probably a data issue and the transformer (and possibly to low side conductor) phasing may not be correct.</p>
<h3><strong>&#8220;Secondary snapped to a primary without a transformer&#8221;</strong></h3>
<p>This one seems pretty straightforward – when you finally find it. But tracking it down can be a chore. The issue, as illustrated below, is where a secondary ends up getting snapped to a primary where it shouldn&#8217;t. The case below is a relatively dramatic one in that the secondary ends up connecting two separate feeders otherwise separated by a normal open, but the case where the secondary snaps directly to a primary that part of the same feeder also creates a loop – and creates a problem.</p>
<p><a href="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_06.png"><img class="alignnone wp-image-337 size-full" src="https://blairservices.net/wp-content/uploads/WhyDidMyTrace_06.png" alt="WhyDidMyTrace_06" width="636" height="153" /></a></p>
<p>Of course, all elements in the above scenario would be considered to be in a &#8220;multi-feed&#8221; condition. Use of the ArcFM &#8220;Bit Twiddler&#8221; layers can be of some help in this case. Also helpful can be use of ArcGIS connectivity rules. In this case the connection of a secondary to a primary at a &#8220;generic junction&#8221; would violate the connectivity rule and return a QA error.</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://blairservices.net/trace/">Why Did My Trace Do That?</a> appeared first on <a rel="nofollow" href="https://blairservices.net">Blair Services</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blairservices.net/trace/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
