POST
|
Hi everyone, We are having some issues when managing versions on our Utility Network project using PRO 2.5.1. The UN service is shared in a group in our portal. Our worflow follows this sequence: 1 - Editing a version with an editor user; 2 - The editor user assign this version to the publisher user; 3 - The publisher user validate the version and; 4 - return it to the editor user or post it to the default. The error is occuring on step 3, the publisher user is not allowed to change to this version assigned to him: We tried to remove every lock in our GDB conection, but it is still not working. Does anyone know how to solve this issue? Thanks, Layane Beatriz Silva Loti Antonio Marcos Pires Martins
... View more
06-10-2020
12:12 PM
|
0
|
0
|
273
|
POST
|
Hi Michael, It worked using the rule with multiple lines. I set everything to null using the calculate field and changed the symbology layer. But when I insert new features, it is returning 0 and I have to calculate null values to trigger the rule. I saw there is an issue with Arcade returning 0 instead of null :BUG-000119064: Calculating a value to null using Arcade returns 0.. This is how the code looks like now: // This calculation attribute rule intersects a line layer and based on the number of // intersected features, calculates the angle for the point // Set to true if the rotation setting is set to geographic in the layer properties var geographic_rotation = false; // Set the counter clockwise spin angle used for the symbol in the symbology options var symbol_flip_angle = 0 // Return if a value is already set, to recalculate an angle, the field must be set to null if (IsEmpty($feature.symbolrotation) == false) { return $feature.symbolrotation; } else if ($feature.symbolrotation == 0) { return null; } // Create a feature set to the line layer var lineClass = FeatureSetByName($datastore, "L515Water_Line", ["objectid"], true); // Find the intersecting lines var lines = Intersects(lineClass, $feature); //If no lines intersect, return the original value if (Count(lines) == 0) { return $feature.symbolrotation; } var diff_tol = 5; // Variable to store all found angles var angles = []; // Store the features geometry var feature_geometry = Geometry($feature); // Loop over all intersecting lines and find their angles var angle_type; var angle_value; for (var line in lines) { // Buffer and create an extenf of the point by a small amount to extract the segment var clip_area = Extent(Buffer($feature, .01, "meter")); // Clip the line by the extend and get the first line segment var segment = Clip(line, clip_area)["paths"][0]; // The features location is on the start of the line, get the angle from the feature to the end vertex if (Equals(segment[0], feature_geometry)) { angle_type = 'from' angle_value = Round(Angle(feature_geometry, segment[-1]), 0) } // The features location is on the end of the line, create a new segment from the feature to the start vertex else if (Equals(segment[-1], feature_geometry)) { angle_type = 'to' angle_value = Round(Angle(feature_geometry, segment[0]), 0) } // The features location is midspan of the segment, use the angle of the segment else { angle_type = 'mid' angle_value = Round(Angle(segment[0], segment[-1]), 0) } if (geographic_rotation == true) { // Convert Arithmetic to Geographic angle_value = (450 - angle_value) % 360; } // Add 180 to match 0 rotation in the TOC // Add user specified spin angle if their symbol is rotated angle_value = (angle_value + 180 + symbol_flip_angle) % 360; angles[Count(angles)] = {'angle': angle_value, 'type': angle_type}; } // If only one angle, return that value if (Count(angles) == 1) { // If the point is midspan, flip to match symbol as it if was on the end point if (angles[0]['type'] == 'mid') { return (angles[0]['angle'] + 180) % 360; } return angles[0]['angle']; } else if (Count(angles) == 2) { // If the feature is midpan of the first line, return the angle of the second line if (angles[0]['type'] == 'mid') return angles[1]['angle']; // If the feature is midpan of the second line, return the angle of the first line else if (angles[1]['type'] == 'mid') return angles[0]['angle']; // If the feature is at the end point of both lines, return the angle of the first line else if (angles[0]['type'] == 'to' && angles[1]['type'] == 'to') { return angles[0]['angle']; } // If the feature is at the start point of both lines, return the angle of the first line else if (angles[0]['type'] == 'from' && angles[1]['type'] == 'from') { return angles[0]['angle']; } // If the feature is at the start point of the first line and end of the second line, return the second line else if (angles[0]['type'] == 'from') { return angles[1]['angle']; } // If the feature is at the start point of the second line and start of the second line, return the first line return angles[0]['angle']; } else if (Count(angles) == 3) { // Flatten the angles to ignore direction var flat_angle1 = angles[0]['angle'] % 180; var flat_angle2 = angles[1]['angle'] % 180; var flat_angle3 = angles[2]['angle'] % 180; // Create differences between angles var angle_dif_a = Abs(flat_angle1 - flat_angle2); var angle_dif_b = Abs(flat_angle1 - flat_angle3); var angle_dif_c = Abs(flat_angle2 - flat_angle3); // If difference between line 1 and 2 is below the tolerance, meaning the lines follow the ame plane, return the // third line if (angle_dif_a <= (diff_tol * 2) || angle_dif_a >= (180 - (diff_tol * 2))) { return angles[2]['angle']; } // If difference between line 1 and 3 is below the tolerance, meaning the lines follow the ame plane, return the // second line else if (angle_dif_b <= (diff_tol * 2) || angle_dif_b >= (180 - (diff_tol * 2))) { return angles[1]['angle']; } // If difference between line 2 and 3 is below the tolerance, meaning the lines follow the ame plane, return the // first line else if (angle_dif_c <= (diff_tol * 2) || angle_dif_c >= (180 - (diff_tol * 2))) { return angles[0]['angle']; } // Return first if not covered above return angles[0]['angle']; } // All other cases, the first feature is returned else { return angles[0]['angle']; } Layane Beatriz Silva Loti
... View more
04-23-2020
07:12 AM
|
0
|
0
|
532
|
POST
|
Hi Michael, yes this is my sample data. The mains are not Split (as you can see from selection) and we set to Arithmetic rotation because of the attribute rule. It seems to be following the line direction (Distribution main), but we needed it to be set to the service line.
... View more
04-22-2020
10:54 AM
|
0
|
2
|
532
|
POST
|
I think I was not clear before, sorry about that. I have tap's in different directions, so If I change the rotation of the symbology, it is applied for all of them. Thanks!
... View more
04-22-2020
08:22 AM
|
0
|
5
|
1127
|
POST
|
The symbols are already rotated in this example. Yes, it is always this way for taps.
... View more
04-22-2020
07:09 AM
|
0
|
7
|
1127
|
POST
|
Hi Michael and Paul, It worked setting values to 0 and them using the calculate field with the attribute rule enabled. Other issue is that our fittings are not following the "right" line to rotate, as the tap in our example. We think this problem might be related to which line the fitting is using as a reference, is that right? Any ideia how to fix this problem? Thanks! Layane Beatriz Silva Loti
... View more
04-22-2020
06:18 AM
|
0
|
9
|
1127
|
POST
|
Thanks for your answer Michael! We will configurate a template with Split function in our devices.
... View more
04-22-2020
05:28 AM
|
0
|
1
|
1564
|
POST
|
Hello everyone, I am trying to configurate my Utility Network to split the water line when I add some device or junction. Reading this site: Utility Network reference for editing—ArcGIS Pro | Documentation I found that segments should split when midspan connection is not permitted. So I set the edge connectivity to End Vertex for the transmission main asset type, but it is not working. Am I missing something? Thanks a lot! Layane Beatriz Silva Loti
... View more
04-17-2020
12:11 PM
|
2
|
5
|
1707
|
POST
|
Hello everyone, I am trying to add new lines, junctions and device in my utility network project (using ESRI template: water distribution network editor). It should apply the conectivity rules, for example, asking for a junction between two lines, but it is not working. It just showed conectivity errors for the features we loaded before. Thank you very much! Layane Beatriz Silva Loti
... View more
04-01-2020
06:53 AM
|
0
|
0
|
230
|
POST
|
Hi Paul, We are awere about the rule attribute, in fact we calculated the rotation for the ones with the value 0 in the attribute table using the numbers that meet the rule criteria. But how could I edit the ones already populated? Do you know if Is there a way to "turn off" the rule and set to 0 again? Thank you very much!
... View more
03-31-2020
02:14 PM
|
0
|
12
|
1127
|
POST
|
Hello Everyone! I am trying to rotate some symbols in my Utility Network PRO project (using ESRI template: water distribution network editor) but I can't change the ones that already have numbers. Example: I want to change the rotation from 119 to 29, calculating on field calculator it runs, but it brings me back the same number (119). (Image attached) Any help will be very usefull 😃 Regards, Layane Beatriz Silva Loti Antonio Marcos Pires Martins
... View more
03-31-2020
12:59 PM
|
0
|
14
|
1805
|
POST
|
Hi James, Thank you very much for your answer. I am using the Survey123 Connect, version 3.6. The Enterprise version is 3.6.1. When I published the same XLSForm using my personal account it worked, however, when I tried to publish it inside a portal using the administrator login I got an error message. Thanks in advance!
... View more
10-09-2019
11:17 AM
|
0
|
1
|
302
|
POST
|
Hi evryone! I am trying to publish a XLSForm in Survey123 Connect containing the Geoshape field inside a portal, but it is not working. I receive a message of error without a number or specification about it. Could you help me? Thanks!
... View more
10-07-2019
04:06 AM
|
0
|
3
|
356
|
Title | Kudos | Posted |
---|---|---|
2 | 04-17-2020 12:11 PM |
Online Status |
Offline
|
Date Last Visited |
05-13-2022
06:10 AM
|