Question

Topology/Geometry Checks


I am running validation rules on a SDE network. I have various point features which must meet given location rules, i.e.:

Coupling Fitting => Must meet 2 Main end points

Tee Fitting => Must meet 3 Main end points

Cross Fitting => Must meet 4 Main end points

At the moment I can achieve this check by doing the following:

 

1. Create start/end points for each Main Vector

2. Use Spatial Relator

a. with the various Fittings/Valves as requestors and

b. with the Main start/end points as suppliers

3. Use separate Testers to check where related candidates = 1, 2, 3 etc..

4. Output failed results as errors

As the various Fittings/Valves have to be checked against every start/end point this obviously takes a while to process. I've used Workspace Runner to cut these down but is there potentially a more efficient way to run this, i.e.: using Topology or Geometry transformers? I haven't used either before so wouldn't be sure where to start. Does anyone have any advice on a alternative methodology that might be worthwhile trying?

Attached is a screenshot of a shortened version of the workbench but gives the idea of what I'm trying to do.

Note: I'd like to just output the errors rather than fix them.


4 replies

Userlevel 2
Badge +17

I'm not sure I understand the requirement correctly, but sounds the TopologyBuilder could help you. If you send the network lines to the TopologyBuilder, it outputs every node point via the Node port. Since each node can have a list attribute which contains attributes from connecting lines, you can determine the number of them.

Badge +22

I second @takashi suggestion of topologyBuilder.

 

 

In the example screenshot you would use the firring type to determine how many connections there should be, the topologyBuilder to determine how many there actually are, and then test if the numbers match.

 

Thanks @takashi,

I tried your method there and it seems to output the Mains (or Mains node locations) where the Tester criteria isn't met. 11,000 + output (9,000 + if I use End Nodes Only for Advanced Parameters).

I'd like to output the Fittings which do not meet the correct number of Main End nodes (i.e.: Caps which don't lie on 1 Main End Node, Couplings which don't lie on 2 Main End nodes, etc.). Is there another step I'd need, i.e.: where Fitting intersects with failed output?

I've attached (if this manages to post this time) my original method with summary annotations so you have a better idea of what I'm trying to output.

Userlevel 2
Badge +17

Thanks @takashi,

I tried your method there and it seems to output the Mains (or Mains node locations) where the Tester criteria isn't met. 11,000 + output (9,000 + if I use End Nodes Only for Advanced Parameters).

I'd like to output the Fittings which do not meet the correct number of Main End nodes (i.e.: Caps which don't lie on 1 Main End Node, Couplings which don't lie on 2 Main End nodes, etc.). Is there another step I'd need, i.e.: where Fitting intersects with failed output?

I've attached (if this manages to post this time) my original method with summary annotations so you have a better idea of what I'm trying to output.

The TopolgyBuilder generates every network node including ones other than Cap, Coupling and Tee nodes too. I think you will have to filter out unnecessary nodes before testing.

Reply