Reducing schematic nodes and computing a cumulative attribute via a schematic rule


Purpose
Several schematic node reduction rules are provided with this version to simplify schematic diagrams content by removing some specific schematic nodes while preserving the topology. You can also develop your custom schematic node reduction rule by implementing the IComPropertyPage interface to create the rule property page, and the new ISchematicRule and ISchematicRuleDesign interfaces. 
 
Caution: If you plan to implement a custom schematic rule to be executed via a client-server application, the solution must implement two projects; one for the custom rule property page and the other for the custom rule execution itself. The component dedicated to the custom rule execution will have to be registered with the ArcGIS server to be used on any client-server application.
 
This sample details a customized schematic node reduction rule implementation. The goal of this rule is as follows:
  • Reducing schematic nodes with two connections, implemented by a specific schematic feature class. The rule works on nodes that connect only two links.
  • Preserving the initial topology by creating super spans based on a given schematic link feature class. A super span link is created to replace the two "reduced" links that initially connect a reduced node.
  • Cumulating values of a given attribute brought by the two "reduced" links on the super span attribute.

How to use

See How to use ArcGIS samples for help on compiling, setting up the debugger, and running the sample. If the sample has associated data, you will find that the sample's zip file includes a "data" folder alongside the language folders. However, you will need to update the sample to point to the location of the data once you have extracted all the files.

  1. Open the solution file and build the project. Note that this step automatically registers the components.
  2. Start ArcCatalog.
  3. Browse to any geodatabase that contains a schematic dataset.
  4. Right-click this schematic dataset entry and select Edit. The Schematic Dataset Editor starts.
  5. Select any diagram template entry that works with the Standard builder or create a diagram template that works with the Standard builder.
  6. Click the Rules tab.
  7. Click Add Rule on the Rules tab toolbar.
  8. Select the new custom node reduction rule from the Type drop-down list (that is, select Node Reduction Rule C# or Node Reduction Rule VBNet).
  9. Click Rule Properties on the Rules tab toolbar. The custom rule properties page appears.
  10. Select the node schematic feature class (that implements the nodes reduced during the rule execution) in the Select the schematic class to reduce drop-down list.
  11. In the Target superspan link section, select the link schematic feature class (that automatically implements the schematic links created to preserve the topology during the rule execution) in the Select the schematic class drop-down list .
  12. Add the name of the attribute that needs to be computed during the rule execution in the Cumulative attribute name text box. This attribute must exist with the same name on the schematic feature classes related to the links that connect the reduced nodes (that is, it must exist for each "reduced" link) and on the superspan link schematic feature class.
  13. Select the Keep vertices check box if you want to report the original path of the reduced links to the superspan link.
  14. Click Save to save the schematic dataset's new parameters.
  15. Start ArcMap and generate or update a schematic diagram from the diagram template (which the definition has just been modified). The custom rule will be executed.

NodeReductionRule.vb Implementation for the custom node reduction rule.
NodeReductionRuleVBNet2010.vbproj Project file for the custom node reduction code.
NodeReductionRulePropertyPage.vb Implementation for the custom rule's property page.
FrmNodeReductionRule.vb Custom rule's property page.
FrmNodeReductionRule.Designer.vb Custom rule's property page.
NodeReductionRulePageVBNet2010.vbproj Project file for the custom node reduction rule's property page code.
Download the VB.NET files
NodeReductionRule.cs Implementation for the custom node reduction rule.
NodeReductionRuleCS2010.csproj Project file for the custom node reduction code.
NodeReductionRulePropertyPage.cs Implementation for the custom rule's property page.
FrmNodeReductionRule.cs Custom rule's property page.
FrmNodeReductionRule.Designer.cs Custom rule's property page.
NodeReductionRulePageCS2010.csproj Project file for the custom node reduction rule's property page code.
Download the C# files

Download the files for all languages

See Also:

ISchematicRule interface
ISchematicRuleDesign interface




Development licensing Deployment licensing
ArcGIS for Desktop Basic: Schematics ArcGIS for Desktop Basic: Schematics
ArcGIS for Desktop Standard: Schematics ArcGIS for Desktop Standard: Schematics
ArcGIS for Desktop Advanced: Schematics ArcGIS for Desktop Advanced: Schematics