Any schematic diagram template is based on a schematic builder. Schematic builders are used to build/update the content of diagrams implemented by a schematic diagram template. They expect specific data and a specific context from which they are able to generate/update the schematic diagrams. Three types of builders are provided with Schematics: Standard builder, Network Dataset builder, and XML builder.
Schematic builders and input data
Each predefined schematic builder has been developed to deal with specific input data:
- The Standard builder works from any GIS feature class/layer or object table.
- Because it is able to decode geometric network and network dataset topology, the Standard builder is especially dedicated to work with GIS feature classes organized into a geometric network or a network dataset. It allows you to quickly generate schematic diagrams in a minimum amount of time from any set of network features that are currently highlighted in an ArcMap document further to a selection or a trace operation. This is a useful builder for the typical utilitytype and transportation companies that deal with geometric networks or network datasets. However, if the input data is not in a geometric network or network dataset but has relationships due to spatial locations or relationship classes, this builder also works to add rules during configuration. An example of this is point data representing people in a company with relationship classes showing the management chain (person A is related somehow to person B, and so on). A diagram can be generated to display this organizational hierarchy based on geodatabase relationship rules.
- The Standard builder can also be used to generate schematic diagrams whose whole contents are built from custom queries. These custom queries can operate on any type of database. The main prerequisite for working with custom queries is that the data stored in the database must contain the information required for connectivity—that is, the information required to identify the origin (start) and extremity (end) of each link in the diagrams that will be generated. Structured Query Language (SQL) is used to write the queries needed to retrieve the desired data.
- The XML builder works from XML data based on the XMLBuilderDiagram XML Schema Definition file. It is the builder to use if you work with external applications such as industry applications (for example, Network Engineer), ERPs (for example, SAP), PLMs (for example, Matrix One), or analysis packages (for example, CYME). It allows you to avoid developing specific interfaces that are costly and not easy to maintain. This builder requires custom code to be written which generates the XML that is passed into the builder.
- The Network Dataset builder works from solver results on network datasets. It expects solved network analysis layers as input (such as solved route, service area, closest facility, or vehicle routing network task analysis).
Schematic builders and the schematic features they built
Schematic diagrams contain a set of expected types of schematic features. Each type of schematic feature is implemented by a schematic feature class associated with the diagram template. Specifying the schematic feature classes associated with a schematic diagram template is specifying the type of objects the schematic builder that implements those diagrams is supposed to work with when it analyzes the data in input; that is, during the diagram generation, even if the builder is able to analyze and deal with each element in the specified input dataset, it will only build the schematic features related to the elements expected in the diagram.
These schematic feature classes are real feature classes stored in the schematic dataset. When schematic builders work, they store the schematic features they built in those schematic feature classes. The built schematic features are stored in the schematic feature classes for the life of the diagram. Then, when Schematics displays the generated diagram, it queries the schematic features from these schematic feature classes.