diff --git a/HelperTools/AttributeRulesTools.ApplyIndustryRulesGP.pyt.xml b/HelperTools/AttributeRulesTools.ApplyIndustryRulesGP.pyt.xml deleted file mode 100644 index ba96ae9..0000000 --- a/HelperTools/AttributeRulesTools.ApplyIndustryRulesGP.pyt.xml +++ /dev/null @@ -1,2 +0,0 @@ - -20200724060149001.0TRUE diff --git a/HelperTools/AttributeRulesTools.pyt b/HelperTools/AttributeRulesTools.pyt deleted file mode 100644 index 1ef8f4d..0000000 --- a/HelperTools/AttributeRulesTools.pyt +++ /dev/null @@ -1,354 +0,0 @@ -# -*- coding: utf-8 -*- - -import os -from pathlib import Path -import pandas as pd -import re -from collections import defaultdict - -import arcpy - - -class Toolbox(object): - def __init__(self): - """Define the toolbox (the name of the toolbox is the name of the - .pyt file).""" - self.label = "Attribute Rules Tools" - self.alias = "artools" - - # List of tool classes associated with this toolbox - self.tools = [ApplyIndustryRulesGP] - - -class ApplyIndustryRulesGP(object): - def __init__(self): - """Define the tool (tool name is the name of the class).""" - self.label = "Apply Industry Rules" - self.description = "" - self.canRunInBackground = False - - def getParameterInfo(self): - """Define parameter definitions""" - industry = arcpy.Parameter(name='industry', - displayName='Industry', - direction='Input', - datatype='GPString', - parameterType='Required') - workspace = arcpy.Parameter(name='gdb', - displayName='Geodatabase', - direction='Input', - datatype='DEWorkspace', - parameterType='Required') - industry_folder = (Path(__file__).parents[1]) / 'Industry' - industry.filter.list = [p.name for p in industry_folder.glob('*')] - - return [industry, workspace] - - def isLicensed(self): - """Set whether tool is licensed to execute.""" - return True - - def updateParameters(self, parameters): - """Modify the values and properties of parameters before internal - validation is performed. This method is called whenever a parameter - has been changed.""" - return - - def updateMessages(self, parameters): - """Modify the messages created by internal validation for each tool - parameter. This method is called after internal validation.""" - return - - def execute(self, parameters, messages): - """The source code of the tool.""" - params = [p.valueAsText for p in parameters] - industry, workspace = params - industry_folder = str(Path(__file__).parents[1] / 'Industry' / industry) - applyIndustry = ApplyIndustryRules(workspace, industry_folder) - applyIndustry.main() - - -class ApplyIndustryRules: - """ - Apply all Attribute Rules expressions found in a directory to a workspace - """ - comments_to_parameter = { - 'Assigned To': "in_table", - 'Name': "name", - 'Type': 'type', - 'Description': "description", - 'Subtypes': "subtype", - 'Field': "field", - 'Trigger': "triggering_events", - 'Exclude From Client': "exclude_from_client_evaluation", - 'Error Number': "error_number", - 'Error Message': "error_message", - 'Is Editable': "is_editable", - 'Disable': "is_enabled" - } - req_args = ['in_table', 'type', 'name'] - - def __init__(self, workspace: str, industry: str): - self.workspace = workspace - self.industry = Path(industry) - - self.is_un = True - - def build_all_args(self) -> list: - """ build list of all arguments for each attribute rule and sequence. build list of feature classes. """ - fcs = set() - all_args = [] - all_seq = [] - pat = re.compile(r"(?:NextSequenceValue\(')(.*?)'", re.I) - for path in self.industry.rglob('*.js'): - if path.parent.name.lower() not in ['calculation', 'constraint', 'validation']: - continue - f = open(str(path), "r") - - kwargs = {} - while True: - text_line = f.readline() - if not text_line.startswith('//'): - break - param, details = text_line.split(':', 1) - param = param.strip('/ ') - details = details.strip() - if param not in self.comments_to_parameter: - arcpy.AddMessage(f"{param} not defined in lookup") - continue - if param == 'Assigned To': - if self.is_un: - kwargs[self.comments_to_parameter[param]] = os.path.join(self.workspace, details) - if arcpy.Exists(os.path.join(self.workspace, details)) == False: - arcpy.AddMessage(f"{details} does not exist") - continue - fcs.add(os.path.join(self.workspace, details)) - else: - kwargs[self.comments_to_parameter[param]] = details - elif param == 'Type': - kwargs[self.comments_to_parameter[param]] = details.upper() - elif param == 'Subtypes': - if self.is_un: - kwargs[self.comments_to_parameter[param]] = 'ALL' if details == 'All' else details - else: - kwargs[self.comments_to_parameter[param]] = None if details == 'All' else details - elif param == 'Trigger': - trigger_events = [det.strip().upper() for det in details.split(',')] - if self.is_un: - kwargs[self.comments_to_parameter[param]] = trigger_events - else: - kwargs['triggering_insert'] = 1 if 'INSERT' in trigger_events else 0 - kwargs['triggering_delete'] = 1 if 'DELETE' in trigger_events else 0 - kwargs['triggering_update'] = 1 if 'UPDATE' in trigger_events else 0 - elif param == 'Exclude From Client': - details = details.lower() == 'true' - if self.is_un: - kwargs[self.comments_to_parameter[param]] = details - else: - kwargs[self.comments_to_parameter[param]] = 1 if details else 0 - elif param == 'Disable': - details = details.lower() == 'false' - if self.is_un: - kwargs[self.comments_to_parameter[param]] = details - else: - kwargs[self.comments_to_parameter[param]] = 1 if details else 0 - elif param in ('Description', 'Name', 'Error Number', 'Error Message', 'Field'): - kwargs[self.comments_to_parameter[param]] = details - f.seek(0, 0) - script_expression = f.read() - kwargs['script_expression'] = script_expression - if 'NextSequenceValue' in script_expression: - seq_names = pat.findall(script_expression) or [] - if not seq_names: - arcpy.AddWarning( - f'***** Could not parse sequences, make sure to the dict format for definition-{os.path.basename(path)}') - else: - all_seq.extend([dict(seq_name=seq_name, seq_start_id=1, seq_inc_value=1) for seq_name in seq_names]) - - missing_args = [req_arg for req_arg in self.req_args if req_arg not in kwargs] - if missing_args: - arcpy.AddMessage(f'***** The args {missing_args} are missing from {path}') - all_args.append(kwargs) - return all_args, fcs, all_seq - - def recreate_un_seq(self, all_seq): - """ Recreate database sequences in UN """ - if not all_seq: - return - sequences = arcpy.da.ListDatabaseSequences(self.workspace) - existing_seq = {seq.name for seq in sequences} - seq_to_remove = set({seq['seq_name'] for seq in all_seq}).intersection(existing_seq) - - for seq in seq_to_remove: - arcpy.AddMessage(f"Deleting seq {seq}") - arcpy.DeleteDatabaseSequence_management(self.workspace, seq) - for seq in all_seq: - arcpy.AddMessage(f"Creating seq {seq}") - arcpy.CreateDatabaseSequence_management(self.workspace, **seq) - - def recreate_un_ar(self, fcs, all_args): - """ Create and/or replace all attribute rules from Industry folder in UN """ - for fc in fcs: - att_rules = arcpy.Describe(fc).attributeRules - ar_names = [ar.name for ar in att_rules] - if ar_names: - arcpy.AddMessage(f"Deleting all rules on {fc}:") - arcpy.AddMessage(f"\t\t{str(ar_names)}") - arcpy.management.DeleteAttributeRule(fc, ar_names, '') - - for kwargs in all_args: - arcpy.AddMessage(f"Creating {kwargs['name']} on {kwargs['in_table']}") - arcpy.AddAttributeRule_management(**kwargs) - - def recreate_ap_seq(self, all_seq, seq_df): - """ Recreate database sequences in Asset Package """ - - arcpy.AddMessage(f"Removing all sequences in the Asset Package") - arcpy.TruncateTable_management(os.path.join(self.workspace, 'B_DatabaseSequence')) - if not all_seq: - return - seq_df = seq_df[~seq_df['seq_name'].isin([seq['seq_name'] for seq in all_seq])] - seq_df = seq_df.append(all_seq, ignore_index=True) - seq_df.loc[seq_df['current_value'].isnull(), 'current_value'] = 1 - arcpy.AddMessage("Adding Seqs...") - arcpy.AddMessage(str(seq_df.seq_name.to_list())) - with arcpy.da.InsertCursor(os.path.join(self.workspace, 'B_DatabaseSequence'), list(seq_df)) as cursor: - df_to_cursor(seq_df, cursor) - - def recreate_ap_ar(self, all_args, rules_df): - """ Create and/or replace all attribute rules from Industry folder in Asset Package B_AttributeRules table """ - arcpy.AddMessage(f"Removing all existing Attribute Rules in the Asset Package") - arcpy.TruncateTable_management(os.path.join(self.workspace, 'B_AttributeRules')) - ar_names = [ar['name'] for ar in all_args] - rules_df = rules_df[~rules_df['name'].isin(ar_names)] - rules_df = rules_df.append(all_args, ignore_index=True) - rules_df.loc[((rules_df['is_editable'].isnull()) & (rules_df['type'] == 'CALCULATION')), 'is_editable'] = 1 - arcpy.AddMessage("Adding ARs...") - arcpy.AddMessage(str(rules_df.name.to_list())) - with arcpy.da.InsertCursor(os.path.join(self.workspace, 'B_AttributeRules'), list(rules_df)) as cursor: - df_to_cursor(rules_df, cursor) - - @staticmethod - def build_disable_lookup(all_args) -> defaultdict: - """ build default dict of Table Name: [list of attribute rule names] """ - disable_lookup = defaultdict(lambda: []) - for args in all_args: - if 'is_enabled' not in args: - continue - # make sure to remove invalid param - is_enabled = args.pop('is_enabled') - if not is_enabled: - disable_lookup[args['in_table']].append(args['name']) - return disable_lookup - - def main(self): - - # check if asset package - if self.workspace.lower().endswith('.gdb') and arcpy.Exists(os.path.join(self.workspace, 'B_AttributeRules')): - # TODO: Should we preserve rules that are not in the github folder. - # rules_df = cursor_to_df(arcpy.da.SearchCursor(os.path.join(self.workspace, 'B_AttributeRules'), ['*'])) - # seq_df = cursor_to_df(arcpy.da.SearchCursor(os.path.join(self.workspace, 'B_DatabaseSequence'), ['*'])) - rules_df = cursor_to_df( - arcpy.da.SearchCursor(os.path.join(self.workspace, 'B_AttributeRules'), ['*'], '1=0')) - seq_df = cursor_to_df( - arcpy.da.SearchCursor(os.path.join(self.workspace, 'B_DatabaseSequence'), ['*'], '1=0')) - self.is_un = False - - # build args, list of feature classes, and sequences - all_args, fcs, all_seq = self.build_all_args() - - # if not asset package, build disable lookup and recreate attribute rules - if self.is_un: - disable_lookup = self.build_disable_lookup(all_args) - self.recreate_un_seq(all_seq) - self.recreate_un_ar(fcs, all_args) - - else: - self.recreate_ap_ar(all_args, rules_df) - self.recreate_ap_seq(all_seq, seq_df) - - # disable rules in un - if self.is_un and disable_lookup: - for tbl, rules in disable_lookup.items(): - arcpy.AddMessage(f"Disabling {str(rules)} on {tbl}") - arcpy.management.DisableAttributeRules(tbl, rules) - - -def df_to_cursor(data_frame: pd.DataFrame, cursor, progressor_message: str = None): - """Inserts rows from data_frame to cursor - - Args: - data_frame (pandas.DataFrame): A DataFrame. Only the subset of fields used by the cursor will be inserted. - cursor (arcpy.da.InsertCursor): An opened insert cursor. - progressor_message (str): If not None, create a step progressor with this message and update progress. - - """ - - cursor_fields = [f.lower() for f in cursor.fields] - data_frame = data_frame.rename(columns={c: c.lower() for c in data_frame.columns}) - - # If there are fields in the cursor that aren't present in the DF, they need to be added. - for field in cursor_fields: - if field not in data_frame.columns: - data_frame[field] = None - - # Keep only those fields that are present in the cursor. - data_frame = data_frame[cursor_fields] - - records = len(data_frame) - if progressor_message and records > 1000: - arcpy.SetProgressorLabel(progressor_message) - arcpy.SetProgressor(type='STEP', message=progressor_message, min_range=0, max_range=records) - - chunk = round(records / 100) - for i, row in enumerate(data_frame.itertuples(index=False, name=None)): - if not i % chunk: - arcpy.SetProgressorPosition(i) - cursor.insertRow(row) - arcpy.ResetProgressor() - return - - for row in data_frame.itertuples(index=False, name=None): - cursor.insertRow(row) - - -def cursor_to_df(cursor, header=None, has_blob=False): - """Converts a cursor object to pandas DataFrame - - Args: - cursor (``arcpy.da.SearchCursor``): A cursor to iterate over. - header (list): The list of field names to use as header. Defaults to ``None`` which uses the field names as - reported by the cursor object. - has_blob (bool): If the cursor, contains blob fields, set this to True. Will process line by line instead of - loading directly from generator. - - Returns: - pandas.DataFrame: DataFrame representation of the table. - - Raises: - ValueError: If the number of fields does not match the record length. - - Examples: - >>> cursor = arcpy.da.SearchCursor('data', ['OID@', 'SHAPE@X']) - >>> cursor_to_df(cursor, ['ID', 'X']) - ID X - 0 1 5000 - 1 2 1500 - - """ - if header is None: - header = cursor.fields - - if len(header) != len(cursor.fields): - raise ValueError('The length of header does not match the cursor.') - - # Blob fields are special because they return memoryviews. They need to be cast to bytes otherwise the memoryviews - # all reference the most recent row. Because of this, the inner loop has to be a list comprehension. - if has_blob: - cursor = ([value.tobytes() - if isinstance(value, memoryview) - else value - for value in row] - for row in cursor) - - return pd.DataFrame.from_records(cursor, columns=header) diff --git a/HelperTools/AttributeRulesTools.pyt.xml b/HelperTools/AttributeRulesTools.pyt.xml deleted file mode 100644 index 6931a0f..0000000 --- a/HelperTools/AttributeRulesTools.pyt.xml +++ /dev/null @@ -1,2 +0,0 @@ - -20200724060147001.0TRUE20200724062642c:\program files\arcgis\pro\Resources\Help\gpAttributeRulesToolsArcToolbox Toolbox diff --git a/Industry/README.md b/Industry/README.md deleted file mode 100644 index 97452e7..0000000 --- a/Industry/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# Industry - -This folder contains the arcade expressions that are included with the ArcGIS Solution industry configurations. - diff --git a/README.md b/README.md index 9914b38..42dc925 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ArcGIS Arcade expressions -This repository is intended for sharing and maintaining reuseable Arcade expressions across all supported profiles. +This repository is intended for sharing and maintaining reuseable Arcade expressions across all supported profiles, and some helper tools to create Arcade Expressions. ## General workflow @@ -8,10 +8,9 @@ These expressions are organized based on their intended [execution profile](http * [Any](./any) * [Alias](./alias) -* [Calculation](./attribute_rule_calculation) -* [Constraint](./constraint) -* [Dashboard data](./dashboard_data) -* [Form Calculation](./form_calculation/) +* [Attribute rules](./attribute-rules) +* [Dashboard](./dashboard) +* [Form calculation](./form_calculation/) * [Labeling](./labeling) * [Popup](./popup) * [Visualization](./visualization) @@ -22,6 +21,10 @@ Click on the desired profile name to view relevant expressions. Each expression lives in a Markdown file, which contains a general description of the expression, its use case, a depiction of the result, the code to copy, and an example of an executable form of the expression along with its output. It may also include a link to a web map demonstrating the expression in action. +## Helper tools + +In [helper-tools](./helper-tools/) you will find tools to help you create Arcade Expressions. + ## Resources * [ArcGIS Arcade Documentation](https://developers.arcgis.com/arcade/guide/) diff --git a/any/README.md b/any/README.md index 8e95ac3..61d7934 100644 --- a/any/README.md +++ b/any/README.md @@ -15,6 +15,7 @@ See the list below for shared expressions. * [Barcode - Gas Component Manufacturer](./barcode-gas/barcode-gas-manufacturer.md) * [Barcode - Gas Component Material](./barcode-gas/barcode-gas-material.md) * [Barcode - Gas Component Production Date](./barcode-gas/barcode-gas-productionDate.md) +* [Constraint expressions](./constraint-expressions) * [Sandbag Wall Estimation - Sandbags](./sandbag-wall-estimation/sandbag-estimate.md) * [Sandbag Wall Estimation - Sand](./sandbag-wall-estimation/sand-estimate.md) * [Sandbag Wall Estimation - Sheeting](./sandbag-wall-estimation/sheeting-estimate.md) diff --git a/constraint/README.md b/any/constraint-expressions/README.md similarity index 100% rename from constraint/README.md rename to any/constraint-expressions/README.md diff --git a/constraint/constainValueBySubtypeOtherField.md b/any/constraint-expressions/constainValueBySubtypeOtherField.md similarity index 100% rename from constraint/constainValueBySubtypeOtherField.md rename to any/constraint-expressions/constainValueBySubtypeOtherField.md diff --git a/constraint/constrainToDomainCode.md b/any/constraint-expressions/constrainToDomainCode.md similarity index 100% rename from constraint/constrainToDomainCode.md rename to any/constraint-expressions/constrainToDomainCode.md diff --git a/arcade-expression-template.md b/arcade-expression-template.md index af4e3f2..b08691c 100644 --- a/arcade-expression-template.md +++ b/arcade-expression-template.md @@ -9,10 +9,10 @@ ## Workflow > Explain the necessary steps to test the expression: -> * Add any notes related to backwards compatibility (e.g. [Calculations across fields](https://github.com/Esri/arcade-expressions/blob/master/dashboard_data/CalculationAcrossFields.md)) (if needed). +> * Add any notes related to backwards compatibility (e.g. [Calculations across fields](./dashboard/dashboard_data/CalculationAcrossFields.md)) (if needed). > * Specify changes to be made (e.g. [how to replace variables](https://github.com/Esri/arcade-expressions/blob/master/popup/url-basic.md#dynamically-create-a-hyperlink-in-a-popup)). > * List of the product(s) supported. -> * Configuration requirements (e.g. [attribute rule values](https://github.com/Esri/arcade-expressions/blob/master/attribute_rule_validation/require_reducer.md#workflow), service description, ...). +> * Configuration requirements (e.g. [attribute rule values](./attribute-rules/attribute_rule_validation/require_reducer.md#workflow), service description, ...). > * Using the provided sample data versus your own data (e.g. [sample vs own data](https://github.com/Esri/arcade-expressions/blob/master/dictionary_renderer/Conduit/Readme.md#workflow)). If sample data is provided, reference it. @@ -22,7 +22,7 @@ ## Expression Template -> Add any necessary clarifications. Instead of embedding the example code, you may also reference an external file (e.g. [create points along line](https://github.com/Esri/arcade-expressions/blob/master/attribute_rule_calculation/CreatePointsAlongLine.md)). +> Add any necessary clarifications. Instead of embedding the example code, you may also reference an external file (e.g. [create points along line](./attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.md)). ```js // Your code here (comments are allowed) diff --git a/attribute-rules/README.md b/attribute-rules/README.md new file mode 100644 index 0000000..7589e1a --- /dev/null +++ b/attribute-rules/README.md @@ -0,0 +1,41 @@ +# Attribute rules expressions + +This folder contains Arcade expression templates and functions that may be used in the [attribute rules profile](https://developers.arcgis.com/arcade/profiles/attribute-rules/). + +## General workflow + +Each expression lives in a Markdown file, which contains a general description of the expression, its use case, a depiction of the result, the code to copy, and an example of an executable form of the expression along with its output. It may also include a link to a web map demonstrating the expression in action. + +See the list below for shared expressions. + +* [Attribute rules assistant](./attribute_assistant/) +* [Attribute rules calculation](./attribute_rule_calculation/) +* [Attribute rules constraint](./attribute_rule_constraint/) +* [Attribute rules validation](./attribute_rule_validation/) + +## Resources + +* [ArcGIS Arcade Documentation](https://developers.arcgis.com/arcade/) +* [ArcGIS Arcade Playground](https://developers.arcgis.com/arcade/playground/) + +## Contributing + +Esri welcomes [contributions](CONTRIBUTING.md) from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). + +## License + +Copyright 2024 Esri + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +A copy of the license is available in the repository's [LICENSE](LICENSE) file. diff --git a/attribute_assistant/AttributeAssistant.atbx b/attribute-rules/attribute_assistant/AttributeAssistant.atbx similarity index 100% rename from attribute_assistant/AttributeAssistant.atbx rename to attribute-rules/attribute_assistant/AttributeAssistant.atbx diff --git a/attribute_assistant/readme.md b/attribute-rules/attribute_assistant/readme.md similarity index 100% rename from attribute_assistant/readme.md rename to attribute-rules/attribute_assistant/readme.md diff --git a/attribute_rule_calculation/CalcEdgeFields.md b/attribute-rules/attribute_rule_calculation/CalcEdgeFields.md similarity index 100% rename from attribute_rule_calculation/CalcEdgeFields.md rename to attribute-rules/attribute_rule_calculation/CalcEdgeFields.md diff --git a/attribute_rule_calculation/CalcJunctionFields.md b/attribute-rules/attribute_rule_calculation/CalcJunctionFields.md similarity index 100% rename from attribute_rule_calculation/CalcJunctionFields.md rename to attribute-rules/attribute_rule_calculation/CalcJunctionFields.md diff --git a/attribute_rule_calculation/CalcSlopeOfLine.md b/attribute-rules/attribute_rule_calculation/CalcSlopeOfLine.md similarity index 100% rename from attribute_rule_calculation/CalcSlopeOfLine.md rename to attribute-rules/attribute_rule_calculation/CalcSlopeOfLine.md diff --git a/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.md b/attribute-rules/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.md similarity index 100% rename from attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.md rename to attribute-rules/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.md diff --git a/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.zip b/attribute-rules/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.zip similarity index 100% rename from attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.zip rename to attribute-rules/attribute_rule_calculation/CalcVolumeSurfaceAreaPipe.zip diff --git a/attribute_rule_calculation/CalculateTopElevation.md b/attribute-rules/attribute_rule_calculation/CalculateTopElevation.md similarity index 100% rename from attribute_rule_calculation/CalculateTopElevation.md rename to attribute-rules/attribute_rule_calculation/CalculateTopElevation.md diff --git a/attribute_rule_calculation/ContainAndJunctionJunction.md b/attribute-rules/attribute_rule_calculation/ContainAndJunctionJunction.md similarity index 100% rename from attribute_rule_calculation/ContainAndJunctionJunction.md rename to attribute-rules/attribute_rule_calculation/ContainAndJunctionJunction.md diff --git a/attribute_rule_calculation/ContainFeatureInContainerUsingRules.js b/attribute-rules/attribute_rule_calculation/ContainFeatureInContainerUsingRules.js similarity index 100% rename from attribute_rule_calculation/ContainFeatureInContainerUsingRules.js rename to attribute-rules/attribute_rule_calculation/ContainFeatureInContainerUsingRules.js diff --git a/attribute_rule_calculation/CopyStartEndZtoField.md b/attribute-rules/attribute_rule_calculation/CopyStartEndZtoField.md similarity index 100% rename from attribute_rule_calculation/CopyStartEndZtoField.md rename to attribute-rules/attribute_rule_calculation/CopyStartEndZtoField.md diff --git a/attribute_rule_calculation/CopyValueIntersectingFeature.md b/attribute-rules/attribute_rule_calculation/CopyValueIntersectingFeature.md similarity index 100% rename from attribute_rule_calculation/CopyValueIntersectingFeature.md rename to attribute-rules/attribute_rule_calculation/CopyValueIntersectingFeature.md diff --git a/attribute_rule_calculation/CopyValueIntersectingFeature.zip b/attribute-rules/attribute_rule_calculation/CopyValueIntersectingFeature.zip similarity index 100% rename from attribute_rule_calculation/CopyValueIntersectingFeature.zip rename to attribute-rules/attribute_rule_calculation/CopyValueIntersectingFeature.zip diff --git a/attribute_rule_calculation/CreateAssociation.md b/attribute-rules/attribute_rule_calculation/CreateAssociation.md similarity index 100% rename from attribute_rule_calculation/CreateAssociation.md rename to attribute-rules/attribute_rule_calculation/CreateAssociation.md diff --git a/attribute_rule_calculation/CreateAttachmentAssociationByProximity.md b/attribute-rules/attribute_rule_calculation/CreateAttachmentAssociationByProximity.md similarity index 100% rename from attribute_rule_calculation/CreateAttachmentAssociationByProximity.md rename to attribute-rules/attribute_rule_calculation/CreateAttachmentAssociationByProximity.md diff --git a/attribute_rule_calculation/CreateLateral.js b/attribute-rules/attribute_rule_calculation/CreateLateral.js similarity index 100% rename from attribute_rule_calculation/CreateLateral.js rename to attribute-rules/attribute_rule_calculation/CreateLateral.js diff --git a/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.js b/attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.js similarity index 100% rename from attribute_rule_calculation/CreateLateralDevSummitPlenary2023.js rename to attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.js diff --git a/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.md b/attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.md similarity index 100% rename from attribute_rule_calculation/CreateLateralDevSummitPlenary2023.md rename to attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.md diff --git a/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.zip b/attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.zip similarity index 100% rename from attribute_rule_calculation/CreateLateralDevSummitPlenary2023.zip rename to attribute-rules/attribute_rule_calculation/CreateLateralDevSummitPlenary2023.zip diff --git a/attribute_rule_calculation/CreatePointsAlongLine.js b/attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.js similarity index 100% rename from attribute_rule_calculation/CreatePointsAlongLine.js rename to attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.js diff --git a/attribute_rule_calculation/CreatePointsAlongLine.md b/attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.md similarity index 100% rename from attribute_rule_calculation/CreatePointsAlongLine.md rename to attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.md diff --git a/attribute_rule_calculation/CreatePointsAlongLine.zip b/attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.zip similarity index 100% rename from attribute_rule_calculation/CreatePointsAlongLine.zip rename to attribute-rules/attribute_rule_calculation/CreatePointsAlongLine.zip diff --git a/attribute_rule_calculation/CreateStrandFiberContent.md b/attribute-rules/attribute_rule_calculation/CreateStrandFiberContent.md similarity index 100% rename from attribute_rule_calculation/CreateStrandFiberContent.md rename to attribute-rules/attribute_rule_calculation/CreateStrandFiberContent.md diff --git a/attribute_rule_calculation/CreateStrandFiberContent.zip b/attribute-rules/attribute_rule_calculation/CreateStrandFiberContent.zip similarity index 100% rename from attribute_rule_calculation/CreateStrandFiberContent.zip rename to attribute-rules/attribute_rule_calculation/CreateStrandFiberContent.zip diff --git a/attribute_rule_calculation/GenerateID.md b/attribute-rules/attribute_rule_calculation/GenerateID.md similarity index 100% rename from attribute_rule_calculation/GenerateID.md rename to attribute-rules/attribute_rule_calculation/GenerateID.md diff --git a/attribute_rule_calculation/GetAddressFromCenterline.js b/attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.js similarity index 100% rename from attribute_rule_calculation/GetAddressFromCenterline.js rename to attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.js diff --git a/attribute_rule_calculation/GetAddressFromCenterline.md b/attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.md similarity index 100% rename from attribute_rule_calculation/GetAddressFromCenterline.md rename to attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.md diff --git a/attribute_rule_calculation/GetAddressFromCenterline.zip b/attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.zip similarity index 100% rename from attribute_rule_calculation/GetAddressFromCenterline.zip rename to attribute-rules/attribute_rule_calculation/GetAddressFromCenterline.zip diff --git a/attribute_rule_calculation/LastValue.gdb.zip b/attribute-rules/attribute_rule_calculation/LastValue.gdb.zip similarity index 100% rename from attribute_rule_calculation/LastValue.gdb.zip rename to attribute-rules/attribute_rule_calculation/LastValue.gdb.zip diff --git a/attribute_rule_calculation/LastValue.js b/attribute-rules/attribute_rule_calculation/LastValue.js similarity index 100% rename from attribute_rule_calculation/LastValue.js rename to attribute-rules/attribute_rule_calculation/LastValue.js diff --git a/attribute_rule_calculation/LastValue.md b/attribute-rules/attribute_rule_calculation/LastValue.md similarity index 100% rename from attribute_rule_calculation/LastValue.md rename to attribute-rules/attribute_rule_calculation/LastValue.md diff --git a/attribute_rule_calculation/MoveFieldToParent.js b/attribute-rules/attribute_rule_calculation/MoveFieldToParent.js similarity index 100% rename from attribute_rule_calculation/MoveFieldToParent.js rename to attribute-rules/attribute_rule_calculation/MoveFieldToParent.js diff --git a/attribute_rule_calculation/README.md b/attribute-rules/attribute_rule_calculation/README.md similarity index 100% rename from attribute_rule_calculation/README.md rename to attribute-rules/attribute_rule_calculation/README.md diff --git a/attribute_rule_calculation/ReturnValueBaseOnCriteria.md b/attribute-rules/attribute_rule_calculation/ReturnValueBaseOnCriteria.md similarity index 100% rename from attribute_rule_calculation/ReturnValueBaseOnCriteria.md rename to attribute-rules/attribute_rule_calculation/ReturnValueBaseOnCriteria.md diff --git a/attribute_rule_calculation/RotateFeatureByIntersectedLine.md b/attribute-rules/attribute_rule_calculation/RotateFeatureByIntersectedLine.md similarity index 100% rename from attribute_rule_calculation/RotateFeatureByIntersectedLine.md rename to attribute-rules/attribute_rule_calculation/RotateFeatureByIntersectedLine.md diff --git a/attribute_rule_calculation/RotateFeatureByIntersectedLine.zip b/attribute-rules/attribute_rule_calculation/RotateFeatureByIntersectedLine.zip similarity index 100% rename from attribute_rule_calculation/RotateFeatureByIntersectedLine.zip rename to attribute-rules/attribute_rule_calculation/RotateFeatureByIntersectedLine.zip diff --git a/attribute_rule_calculation/SetMValues.md b/attribute-rules/attribute_rule_calculation/SetMValues.md similarity index 100% rename from attribute_rule_calculation/SetMValues.md rename to attribute-rules/attribute_rule_calculation/SetMValues.md diff --git a/attribute_rule_calculation/SetMsToIndex.md b/attribute-rules/attribute_rule_calculation/SetMsToIndex.md similarity index 100% rename from attribute_rule_calculation/SetMsToIndex.md rename to attribute-rules/attribute_rule_calculation/SetMsToIndex.md diff --git a/attribute_rule_calculation/SplitIntersectingLine.md b/attribute-rules/attribute_rule_calculation/SplitIntersectingLine.md similarity index 100% rename from attribute_rule_calculation/SplitIntersectingLine.md rename to attribute-rules/attribute_rule_calculation/SplitIntersectingLine.md diff --git a/attribute_rule_calculation/SplitIntersectingLine.zip b/attribute-rules/attribute_rule_calculation/SplitIntersectingLine.zip similarity index 100% rename from attribute_rule_calculation/SplitIntersectingLine.zip rename to attribute-rules/attribute_rule_calculation/SplitIntersectingLine.zip diff --git a/attribute_rule_calculation/UpdateAssociatedFeatures.md b/attribute-rules/attribute_rule_calculation/UpdateAssociatedFeatures.md similarity index 100% rename from attribute_rule_calculation/UpdateAssociatedFeatures.md rename to attribute-rules/attribute_rule_calculation/UpdateAssociatedFeatures.md diff --git a/attribute_rule_calculation/UpdateContainerViaAssociations.md b/attribute-rules/attribute_rule_calculation/UpdateContainerViaAssociations.md similarity index 100% rename from attribute_rule_calculation/UpdateContainerViaAssociations.md rename to attribute-rules/attribute_rule_calculation/UpdateContainerViaAssociations.md diff --git a/attribute_rule_calculation/UpdateContainersGeometryViaAssociations.md b/attribute-rules/attribute_rule_calculation/UpdateContainersGeometryViaAssociations.md similarity index 100% rename from attribute_rule_calculation/UpdateContainersGeometryViaAssociations.md rename to attribute-rules/attribute_rule_calculation/UpdateContainersGeometryViaAssociations.md diff --git a/attribute_rule_calculation/UpdateContentLocation.md b/attribute-rules/attribute_rule_calculation/UpdateContentLocation.md similarity index 100% rename from attribute_rule_calculation/UpdateContentLocation.md rename to attribute-rules/attribute_rule_calculation/UpdateContentLocation.md diff --git a/attribute_rule_calculation/UpdateIntersectingFeature.md b/attribute-rules/attribute_rule_calculation/UpdateIntersectingFeature.md similarity index 100% rename from attribute_rule_calculation/UpdateIntersectingFeature.md rename to attribute-rules/attribute_rule_calculation/UpdateIntersectingFeature.md diff --git a/attribute_rule_calculation/UpdateIntersectingFeature.zip b/attribute-rules/attribute_rule_calculation/UpdateIntersectingFeature.zip similarity index 100% rename from attribute_rule_calculation/UpdateIntersectingFeature.zip rename to attribute-rules/attribute_rule_calculation/UpdateIntersectingFeature.zip diff --git a/attribute_rule_calculation/UpdateParentFeature.md b/attribute-rules/attribute_rule_calculation/UpdateParentFeature.md similarity index 100% rename from attribute_rule_calculation/UpdateParentFeature.md rename to attribute-rules/attribute_rule_calculation/UpdateParentFeature.md diff --git a/attribute_rule_calculation/UpdateParentFeature.zip b/attribute-rules/attribute_rule_calculation/UpdateParentFeature.zip similarity index 100% rename from attribute_rule_calculation/UpdateParentFeature.zip rename to attribute-rules/attribute_rule_calculation/UpdateParentFeature.zip diff --git a/Attribute Assistant.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/Attribute Assistant.md similarity index 92% rename from Attribute Assistant.md rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/Attribute Assistant.md index 5e981ff..b7eea89 100644 --- a/Attribute Assistant.md +++ b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/Attribute Assistant.md @@ -5,9 +5,9 @@ | [Autonumber](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#autonumber) | Finds the largest value in a field and calculates the next sequential value. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Max](https://developers.arcgis.com/arcade/function-reference/math_functions/#max) | Immediate Calculation || | [Cascade Attributes](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#cascade-attributes) | Updates all occurrences of a value when the corresponding value in another table is changed. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Filter](https://developers.arcgis.com/arcade/function-reference/data_functions/#filter)
-[Edit dictionary keyword](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION1_98D8C1A03B0D4BAB810DCC76DBA88F2C) | Immediate Calculation| Add the attribute rule to table that will trigger the behavior. Use the filter to identify the features in the other table to update and use the edit dictionary keyword to edit the other table. [Edit another feature class with a calculation rule](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor4) | | [Copy Features](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#copy-features) | Copies a feature when an attribute is updated to a specified value. | -[$originalfeature](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor10) global variable| Immediate Calculation | \*Caution this rule could easily be configured to be recursive. | -| [Copy Linked Record](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#copy-linked-record) | Updates an attribute of a feature with a value from a related table. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Filter](https://developers.arcgis.com/arcade/function-reference/data_functions/#filter) | Immediate CalculationBatch Calculation | Create rule on primary table. Use FeatureSetByName to create a FeatureSet of the related table. Then run a filter on the FeatureSet to find the value to update the primary table.| [Update parent features](./attribute_rule_calculation/UpdateParentFeature.md) +| [Copy Linked Record](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#copy-linked-record) | Updates an attribute of a feature with a value from a related table. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Filter](https://developers.arcgis.com/arcade/function-reference/data_functions/#filter) | Immediate CalculationBatch Calculation | Create rule on primary table. Use FeatureSetByName to create a FeatureSet of the related table. Then run a filter on the FeatureSet to find the value to update the primary table.| [Update parent features](../UpdateParentFeature.md) | [Create Linked Record](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#create-linked-record) | Creates a new record in a feature layer with a relationship to a table using a primary/foreign key relationship. | | | The [Add](https://pro.arcgis.com/en/pro-app/latest/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION2_7413AF9303C14F179B51DAD5EC7A361C) keywork in the return dictionary can be used to create new records in a related table with the correct F/P key information.| -| [Create Perpendicular Line](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#create-perpendicular-line) | Constructs a perpendicular line from the input point and an intersecting line. The line's length is specified by the Length parameter. | | | The [CreateLateral] (https://github.com/Esri/arcade-expressions/blob/master/attribute_rule_calculation/CreateLateral.js) code can be used as a starting point to create this function.| +| [Create Perpendicular Line](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#create-perpendicular-line) | Constructs a perpendicular line from the input point and an intersecting line. The line's length is specified by the Length parameter. | | | The [CreateLateral](../CreateLateral.js) code can be used as a starting point to create this function.| | [Create Perpendicular Line to Line](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#create-perpendicular-line-to-line) | Constructs a perpendicular line from the input point to the nearest line. | | | | | [Current Username](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#current-username) | Populates the current user name. | | | [GetUser](https://developers.arcgis.com/arcade/function-reference/data_functions/#getuser) | | [Edge Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#edge-statistics) | Provides statistics on a specified field for all connected edges in a geometric network. | -[FeatureSetByAssociation](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyassociation)
-Variety of [Math functions](https://developers.arcgis.com/arcade/function-reference/math_functions/)
-Variety of [Data functions](https://developers.arcgis.com/arcade/function-reference/data_functions/) | | Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and querying statistics on associated features. | @@ -15,26 +15,26 @@ | [Feature Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#feature-statistics) | Summarizes the attribute values of the affected feature as a series of statistics or a single calculated value. | -[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable
-Variety of [Math functions](https://developers.arcgis.com/arcade/function-reference/math_functions/)
-Variety of [Data functions](https://developers.arcgis.com/arcade/function-reference/data_functions/) | | [Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#field) | Copies the value from from one field to another within the same feature class. | -[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable | Immediate CalculationBatch Calculation | | | [Field Trigger](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#field-trigger) | Updates a field to a specified value when the value of another field is updated. | -[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable
-[$originalfeature](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor10) global variable | Immediate Calculation | [Identify if a specific attribute value has changed.](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor10) | -| [From Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-edge-field) | Copies a field value from a connected From Edge feature to a connected junction feature. | -[CalcEdgeFields](./attribute_rule_calculation/CalcEdgeFields.md) | | Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | +| [From Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-edge-field) | Copies a field value from a connected From Edge feature to a connected junction feature. | -[CalcEdgeFields](../CalcEdgeFields.md) | | Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | | [From Edge Multiple Field Intersection](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-edge-multiple-field-intersection) | Copies values for all From Edges connected to a junction to a series of fields in the source layer. ||| Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | | [From Edge Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-edge-statistics) | Calculates statistics on a specified field for all features connected to From Edges in a geometric network. | || Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | -| [From Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-junction-field) | Copies a field value from a connected From Junction feature to a connected edge feature. Can also copy the name of the feature class at the start of the currently edited line. |-[CalcJunctionFields](./attribute_rule_calculation/CalcJunctionFields.md)|| Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | +| [From Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#from-junction-field) | Copies a field value from a connected From Junction feature to a connected edge feature. Can also copy the name of the feature class at the start of the currently edited line. |-[CalcJunctionFields](../CalcJunctionFields.md)|| Geometric Network are not supported in ArcGISPro. This Attribute Rule is for Utility Network and associated features. | | [Generate ID](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#generate-id) | Increments a row in an unversioned table and stores that newly incremented value. | -[NextSequenceValue](https://developers.arcgis.com/arcade/function-reference/data_functions/#nextsequencevalue) | Immediate Calculation | [Generate ID by incrementing a sequence](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor1) | | [Generate ID By Intersect](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#generate-id-by-intersect) | Generates unique identifiers for features based on the identifiers of intersecting grid features. | -[NextSequenceValue](https://developers.arcgis.com/arcade/function-reference/data_functions/#nextsequencevalue)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects) | Immediate Calculation | [Generate ID by incrementing a sequence](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor1) | -| [Get Address From Centerline](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#get-address-from-centerline) | Extracts address information from the closest point on a road. It is similar to a reverse geocode, but a locator service is not used. | | Immediate Calculation | [Get Address From Centerline](./attribute_rule_calculation/GetAddressFromCenterline.md) | +| [Get Address From Centerline](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#get-address-from-centerline) | Extracts address information from the closest point on a road. It is similar to a reverse geocode, but a locator service is not used. | | Immediate Calculation | [Get Address From Centerline](../GetAddressFromCenterline.md) | | [Get Address Using ArcGIS Service](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#get-address-using-arcgis-service) | Performs a reverse geocode using a specified ArcGIS service. |||| | [Get Address Using Geocoder](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#get-address-using-geocoder) | Performs a reverse geocode using a geocoder. |||| | [GUID](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#guid) | Creates a globally unique identifier (GUID). | -[Guid](https://developers.arcgis.com/arcade/function-reference/data_functions/#guid) | Immediate CalculationBatch Calculation | | | [Intersecting Boolean](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-boolean) | Stores a value if the triggering feature intersects a feature in the specified layer. ||| | -| [Intersecting Count](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-count) | Calculates the number of intersecting features and stores the count in the specified field. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)
-[Count](https://developers.arcgis.com/arcade/function-reference/data_functions/) | Immediate CalculationBatch Calculation | Instead of using the First function in the example below, use the Count function to count the number of intersecting features.[Copy a Value from an intersecting feature](./attribute_rule_calculation/CopyValueIntersectingFeature.md) | +| [Intersecting Count](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-count) | Calculates the number of intersecting features and stores the count in the specified field. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)
-[Count](https://developers.arcgis.com/arcade/function-reference/data_functions/) | Immediate CalculationBatch Calculation | Instead of using the First function in the example below, use the Count function to count the number of intersecting features.[Copy a Value from an intersecting feature](../CopyValueIntersectingFeature.md) | | [Intersecting Edge](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-edge) | Copies a field value from the first intersecting edge feature. ||| Not supported yet. You need to know what feature class to check (to create FeatureSetByName) for an intersection. | -| [Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-feature) | Copies a value from an intersecting feature in the specified layer. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)[First](https://developers.arcgis.com/arcade/function-reference/data_functions/) | Immediate CalculationBatch Calculation | [Copy a Value from an intersecting feature](./attribute_rule_calculation/CopyValueIntersectingFeature.md) | +| [Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-feature) | Copies a value from an intersecting feature in the specified layer. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)[First](https://developers.arcgis.com/arcade/function-reference/data_functions/) | Immediate CalculationBatch Calculation | [Copy a Value from an intersecting feature](../CopyValueIntersectingFeature.md) | | [Intersecting Feature Distance](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-feature-distance) | Calculates the distance along a line feature where a line is intersected by another feature. |||| | [Intersecting Layer Details](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-layer-details) | Extracts the name or file path of an intersecting layer. ||| Not supported yet. You need to know what feature class to check (to create FeatureSetByName) for an intersection. | | [Intersecting Raster](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-raster) | Extracts a raster cell value at a feature location. If the feature is a line or polygon, the raster value at the feature centroid is used. ||| Not supported yet. | -| [Intersecting Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-statistics) | Calculates statistics on a specified field for intersecting features. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)
-[First](https://developers.arcgis.com/arcade/function-reference/data_functions/)
-Variety of [Math functions](https://developers.arcgis.com/arcade/function-reference/math_functions/) | Immediate CalculationBatch Calculation | [Copy a Value from an intersecting feature](./attribute_rule_calculation/CopyValueIntersectingFeature.md) | -| [Junction Rotation](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#junction-rotation) | Stores the rotation angle of a junction feature based on connected edge features. | [Rotate Feature by intersected line](./attribute_rule_calculation/RotateFeatureByIntersectedLine.md) -| [Last Value](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#last-value) | Repeats the last value used in a field. |[Last Value](./attribute_rule_calculation/LastValue.md)|Immediate Calculation||| +| [Intersecting Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#intersecting-statistics) | Calculates statistics on a specified field for intersecting features. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects)
-[First](https://developers.arcgis.com/arcade/function-reference/data_functions/)
-Variety of [Math functions](https://developers.arcgis.com/arcade/function-reference/math_functions/) | Immediate CalculationBatch Calculation | [Copy a Value from an intersecting feature](../CopyValueIntersectingFeature.md) | +| [Junction Rotation](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#junction-rotation) | Stores the rotation angle of a junction feature based on connected edge features. | [Rotate Feature by intersected line](../RotateFeatureByIntersectedLine.md) +| [Last Value](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#last-value) | Repeats the last value used in a field. |[Last Value](../LastValue.md)|Immediate Calculation||| | [Latitude](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#latitude) | Stores the y-coordinate value projected to WGS84 decimal degrees. | -[Geometry](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersection)
-[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable| | | | [Length](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#length) | Calculates the length of line features and the area of polygon features. | -[Length](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersection)
-[Area](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersection)
-[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable | | | | [Link Table Asset](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#link-table-asset) | Updates a field in the table or layer with a value from a selected feature. |||| @@ -47,14 +47,14 @@ | [Offset](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#offset) | Populates the location of a point a specified distance from the nearest line feature. || | See Nearest Feature Attributes method.Use Geometry functions and Arcade logic to calculate the offset value desired. | | [Previous Value](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#previous-value) | Monitors a field, and when it is changed, stores the previous value in another field. | -[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable
-[$originalfeature](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor10) global variable| Immediate Calculation | [Identify if a specific attribute value has changed.](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-script-expression.htm#anchor10) Create an attribute rule on the target field that will store the previous value. In the Arcade check is the attribute has changed, then return the $originalfeature value into the target field. | | [Prompt](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#prompt) | Identifies records containing null values. If the field uses a subtype or domain, those options are presented in the dialog box for the user to select. | -[DomainCode](https://developers.arcgis.com/arcade/function-reference/data_functions/#domaincode)
-[DomainName](https://developers.arcgis.com/arcade/function-reference/data_functions/#domainname)
-Subtypes
-SubtypeCode | Batch CalculationValidation Rule | Can't ask for a prompt, but could designate a default domain/subtype value to replace the null value as a batch calculation rule. Alternatively, create a validation rule to identify nulls and create error feature to review at a later time. | -| [Set Measures](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#set-measures) | Populates the m-coordinates of line features. M-values can be used to add route events to point and line events dynamically along line features. | -[SetMValues](./attribute_rule_calculation/SetMValues.md)| | | +| [Set Measures](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#set-measures) | Populates the m-coordinates of line features. M-values can be used to add route events to point and line events dynamically along line features. | -[SetMValues](../SetMValues.md)| | | | [Side](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#side) | Determines if a point feature is to the left or right of a corresponding line feature. ||| | | [Split Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#split-intersecting-feature) | Splits features that intersect with features in a source layer. ||| | | [Timestamp](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#timestamp) | Populates the current date and time. | -[Timestamp](https://developers.arcgis.com/arcade/function-reference/date_functions/#timestamp)
-[ToLocal](https://developers.arcgis.com/arcade/function-reference/date_functions/#tolocal) | Immediate CalculationBatch Calculation || -| [To Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-edge-field) | Copies a field value from a connected To Edge feature to a connected junction feature. | -[CalcEdgeFields](./attribute_rule_calculation/CalcEdgeFields.md) ||| +| [To Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-edge-field) | Copies a field value from a connected To Edge feature to a connected junction feature. | -[CalcEdgeFields](../CalcEdgeFields.md) ||| | [To Edge Multiple Field Intersect](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-edge-multiple-field-intersect) | Copies values for all To Edges connected to a junction to a series of fields in the source layer. | | | | | [To Edge Statistics](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-edge-statistics) | Calculates statistics on a specified field for all features connected to To Edges in a geometric network. |||| -| [To Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-junction-field) | Copies a value from a connected To Junction feature to a connected edge feature. Can also copy the name of the feature class at the end of the currently edited line. | -[CalcJunctionFields](./attribute_rule_calculation/CalcJunctionFields.md) || | +| [To Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#to-junction-field) | Copies a value from a connected To Junction feature to a connected edge feature. Can also copy the name of the feature class at the end of the currently edited line. | -[CalcJunctionFields](../CalcJunctionFields.md) || | | [Trigger Attribute Assistant Event From Edge](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#trigger-attribute-assistant-event-from-edge) | Triggers the Attribute Assistant for the From Edge feature. ||| | | [Trigger Attribute Assistant Event From Junction](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#trigger-attribute-assistant-event-from-junction) | Triggers the Attribute Assistant for the From Junction feature. ||| | | [Trigger Attribute Assistant Event Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#trigger-attribute-assistant-event-intersecting-feature) | Triggers the Attribute Assistant for the intersecting features. |||| @@ -62,8 +62,8 @@ | [Trigger Attribute Assistant Event To Junction](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#trigger-attribute-assistant-event-to-junction) | Triggers the Attribute Assistant for the To Junction feature. |||| | [Update From Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-from-edge-field) | Copies a field value from a junction to a connected From Edge feature. ||| | | [Update From Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-from-junction-field) | Copies a field value from a connected edge to a connected From Junction feature. ||| | -| [Update Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-intersecting-feature) | Updates a field in an intersecting feature with a value or a field value from the modified or created feature. | [Update Intersecting Feature](./attribute_rule_calculation/updateintersectingfeature.md)|-[Edit dictionary keyword](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION1_98D8C1A03B0D4BAB810DCC76DBA88F2C)
-[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable
-[Geometry](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#geometry)
-[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects) ||| -| [Update Linked Record](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-linked-record) | Finds the related records in another table or layer and updates a field in those records. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Filter](https://developers.arcgis.com/arcade/function-reference/data_functions/#filter)
-[Edit dictionary keyword](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION1_98D8C1A03B0D4BAB810DCC76DBA88F2C)| Immediate CalculationBatch Calculation | See Copy Linked Record method. Create rule on primary table. Use FeatureSetByName to create a FeatureSet of the related table. Use filter to identify the features to update in the related table. Use edit dictionary keyword to update those features.| [Update parent features](./attribute_rule_calculation/UpdateParentFeature.md) | +| [Update Intersecting Feature](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-intersecting-feature) | Updates a field in an intersecting feature with a value or a field value from the modified or created feature. | [Update Intersecting Feature](../updateintersectingfeature.md)|-[Edit dictionary keyword](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION1_98D8C1A03B0D4BAB810DCC76DBA88F2C)
-[$feature](https://developers.arcgis.com/arcade/guide/profiles/) global variable
-[Geometry](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#geometry)
-[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Intersects](https://developers.arcgis.com/arcade/function-reference/geometry_functions/#intersects) ||| +| [Update Linked Record](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-linked-record) | Finds the related records in another table or layer and updates a field in those records. | -[FeatureSetByName](https://developers.arcgis.com/arcade/function-reference/data_functions/#featuresetbyname)
-[Filter](https://developers.arcgis.com/arcade/function-reference/data_functions/#filter)
-[Edit dictionary keyword](https://pro.arcgis.com/en/pro-app/help/data/geodatabases/overview/attribute-rule-dictionary-keywords.htm#ESRI_SECTION1_98D8C1A03B0D4BAB810DCC76DBA88F2C)| Immediate CalculationBatch Calculation | See Copy Linked Record method. Create rule on primary table. Use FeatureSetByName to create a FeatureSet of the related table. Use filter to identify the features to update in the related table. Use edit dictionary keyword to update those features.| [Update parent features](../UpdateParentFeature.md) | | [Update To Edge Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-to-edge-field) | Copies a field value from a junction to a connected To Edge feature. || | | | [Update To Junction Field](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#update-to-junction-field) | Copies a field value from a connected edge to a connected To Junction feature. |||| | [Validate Attribute Lookup](https://solutions.arcgis.com/shared/help/attribute-assistant/documentation/methods-all-methods/#validate-attribute-lookup) | Verifies field values against entries in a lookup table. | | | | diff --git a/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/README.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/README.md new file mode 100644 index 0000000..1417881 --- /dev/null +++ b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/README.md @@ -0,0 +1,3 @@ +# ArcGIS Solution industry configurations + +This folder contains the arcade expressions that are included with the ArcGIS Solution industry configurations. \ No newline at end of file diff --git a/Industry/AddressManagement/Centerline ID and Road Alias.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Centerline ID and Road Alias.js similarity index 100% rename from Industry/AddressManagement/Centerline ID and Road Alias.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Centerline ID and Road Alias.js diff --git a/Industry/AddressManagement/Create Site Address Point.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Create Site Address Point.js similarity index 100% rename from Industry/AddressManagement/Create Site Address Point.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Create Site Address Point.js diff --git a/Industry/AddressManagement/Full Address.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Full Address.js similarity index 100% rename from Industry/AddressManagement/Full Address.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Full Address.js diff --git a/Industry/AddressManagement/Logical Block Addressing(Left).js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Logical Block Addressing(Left).js similarity index 100% rename from Industry/AddressManagement/Logical Block Addressing(Left).js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Logical Block Addressing(Left).js diff --git a/Industry/AddressManagement/Logical Block Addressing(Right).js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Logical Block Addressing(Right).js similarity index 100% rename from Industry/AddressManagement/Logical Block Addressing(Right).js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Logical Block Addressing(Right).js diff --git a/Industry/AddressManagement/README.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/README.md similarity index 82% rename from Industry/AddressManagement/README.md rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/README.md index fe14f61..2343330 100644 --- a/Industry/AddressManagement/README.md +++ b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/README.md @@ -1 +1,3 @@ +# Address Data Management Solution + These rules are included with the [Address Data Management Solution](https://doc.arcgis.com/en/arcgis-solutions/reference/introduction-to-address-data-management.htm) \ No newline at end of file diff --git a/Industry/AddressManagement/Split Intersecting Road.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Split Intersecting Road.js similarity index 100% rename from Industry/AddressManagement/Split Intersecting Road.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/Split Intersecting Road.js diff --git a/Industry/AddressManagement/UpdatePostalAddress.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/UpdatePostalAddress.js similarity index 100% rename from Industry/AddressManagement/UpdatePostalAddress.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/address-management/UpdatePostalAddress.js diff --git a/Industry/Communications/Calculation/Assembly-Create_Strand_Ends.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Assembly-Create_Strand_Ends.js similarity index 100% rename from Industry/Communications/Calculation/Assembly-Create_Strand_Ends.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Assembly-Create_Strand_Ends.js diff --git a/Industry/Communications/Calculation/Assembly-Equipment_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Assembly-Equipment_ID.js similarity index 100% rename from Industry/Communications/Calculation/Assembly-Equipment_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Assembly-Equipment_ID.js diff --git a/Industry/Communications/Calculation/Device-Contain_Splice_Ports_Splice_Enclosure.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Device-Contain_Splice_Ports_Splice_Enclosure.js similarity index 100% rename from Industry/Communications/Calculation/Device-Contain_Splice_Ports_Splice_Enclosure.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Device-Contain_Splice_Ports_Splice_Enclosure.js diff --git a/Industry/Communications/Calculation/Junction-Associate_Line_On_Structure.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Junction-Associate_Line_On_Structure.js similarity index 100% rename from Industry/Communications/Calculation/Junction-Associate_Line_On_Structure.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Junction-Associate_Line_On_Structure.js diff --git a/Industry/Communications/Calculation/Line-Connection_Point_At_Vertex.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Connection_Point_At_Vertex.js similarity index 100% rename from Industry/Communications/Calculation/Line-Connection_Point_At_Vertex.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Connection_Point_At_Vertex.js diff --git a/Industry/Communications/Calculation/Line-Contain_Comms_Line_In_Struct.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Contain_Comms_Line_In_Struct.js similarity index 100% rename from Industry/Communications/Calculation/Line-Contain_Comms_Line_In_Struct.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Contain_Comms_Line_In_Struct.js diff --git a/Industry/Communications/Calculation/Line-Create_Strands_In_Cable.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Create_Strands_In_Cable.js similarity index 100% rename from Industry/Communications/Calculation/Line-Create_Strands_In_Cable.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Create_Strands_In_Cable.js diff --git a/Industry/Communications/Calculation/Line-MeasuredLength_From_Shape.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-MeasuredLength_From_Shape.js similarity index 100% rename from Industry/Communications/Calculation/Line-MeasuredLength_From_Shape.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-MeasuredLength_From_Shape.js diff --git a/Industry/Communications/Calculation/Line-NetworkLevel_For_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-NetworkLevel_For_Content.js similarity index 100% rename from Industry/Communications/Calculation/Line-NetworkLevel_For_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-NetworkLevel_For_Content.js diff --git a/Industry/Communications/Calculation/Line-NetworkLevel_From_Container.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-NetworkLevel_From_Container.js similarity index 100% rename from Industry/Communications/Calculation/Line-NetworkLevel_From_Container.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-NetworkLevel_From_Container.js diff --git a/Industry/Communications/Calculation/Line-Strand_Attrs_For_Container.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strand_Attrs_For_Container.js similarity index 100% rename from Industry/Communications/Calculation/Line-Strand_Attrs_For_Container.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strand_Attrs_For_Container.js diff --git a/Industry/Communications/Calculation/Line-Strandcount_From_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strandcount_From_Content.js similarity index 100% rename from Industry/Communications/Calculation/Line-Strandcount_From_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strandcount_From_Content.js diff --git a/Industry/Communications/Calculation/Line-Strandsavailable_From_Strandcount.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strandsavailable_From_Strandcount.js similarity index 100% rename from Industry/Communications/Calculation/Line-Strandsavailable_From_Strandcount.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/Line-Strandsavailable_From_Strandcount.js diff --git a/Industry/Communications/README.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/README.md similarity index 100% rename from Industry/Communications/README.md rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/README.md diff --git a/Industry/Communications/Calculation/StructureLine-Contain_Struct_Line_In_Struct_Line.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Contain_Struct_Line_In_Struct_Line.js similarity index 100% rename from Industry/Communications/Calculation/StructureLine-Contain_Struct_Line_In_Struct_Line.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Contain_Struct_Line_In_Struct_Line.js diff --git a/Industry/Communications/Calculation/StructureLine-Create_Duct_In_Bank.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Create_Duct_In_Bank.js similarity index 100% rename from Industry/Communications/Calculation/StructureLine-Create_Duct_In_Bank.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Create_Duct_In_Bank.js diff --git a/Industry/Communications/Calculation/StructureLine-Ductavailable_From_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Ductavailable_From_Content.js similarity index 100% rename from Industry/Communications/Calculation/StructureLine-Ductavailable_From_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-Ductavailable_From_Content.js diff --git a/Industry/Communications/Calculation/StructureLine-MeasuredLength_From_Shape.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-MeasuredLength_From_Shape.js similarity index 100% rename from Industry/Communications/Calculation/StructureLine-MeasuredLength_From_Shape.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/communications/StructureLine-MeasuredLength_From_Shape.js diff --git a/Industry/Electric/Calculation/EA-BatchLabelText.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EA-BatchLabelText.js similarity index 100% rename from Industry/Electric/Calculation/EA-BatchLabelText.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EA-BatchLabelText.js diff --git a/Industry/Electric/Calculation/EA-Require_Validation_Distance.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EA-Require_Validation_Distance.js similarity index 100% rename from Industry/Electric/Calculation/EA-Require_Validation_Distance.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EA-Require_Validation_Distance.js diff --git a/Industry/Electric/Calculation/ED-Require_Calculation.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/ED-Require_Calculation.js similarity index 100% rename from Industry/Electric/Calculation/ED-Require_Calculation.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/ED-Require_Calculation.js diff --git a/Industry/Electric/Calculation/ED-Require_Validation_Distance.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/ED-Require_Validation_Distance.js similarity index 100% rename from Industry/Electric/Calculation/ED-Require_Validation_Distance.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/ED-Require_Validation_Distance.js diff --git a/Industry/Electric/Calculation/EL-MeasuredLength_From_Shape_Set_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EL-MeasuredLength_From_Shape_Set_Content.js similarity index 100% rename from Industry/Electric/Calculation/EL-MeasuredLength_From_Shape_Set_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EL-MeasuredLength_From_Shape_Set_Content.js diff --git a/Industry/Electric/Calculation/EL-Require_Validation_Distance.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EL-Require_Validation_Distance.js similarity index 100% rename from Industry/Electric/Calculation/EL-Require_Validation_Distance.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/EL-Require_Validation_Distance.js diff --git a/Industry/Electric/Calculation/GenerateIDs-EA.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EA.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-EA.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EA.js diff --git a/Industry/Electric/Calculation/GenerateIDs-ED.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-ED.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-ED.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-ED.js diff --git a/Industry/Electric/Calculation/GenerateIDs-EEO.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EEO.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-EEO.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EEO.js diff --git a/Industry/Electric/Calculation/GenerateIDs-EJ.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EJ.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-EJ.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EJ.js diff --git a/Industry/Electric/Calculation/GenerateIDs-EJO.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EJO.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-EJO.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EJO.js diff --git a/Industry/Electric/Calculation/GenerateIDs-EL.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EL.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-EL.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-EL.js diff --git a/Industry/Electric/Calculation/GenerateIDs-SB.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SB.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-SB.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SB.js diff --git a/Industry/Electric/Calculation/GenerateIDs-SEO.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SEO.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-SEO.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SEO.js diff --git a/Industry/Electric/Calculation/GenerateIDs-SJ.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SJ.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-SJ.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SJ.js diff --git a/Industry/Electric/Calculation/GenerateIDs-SJO.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SJO.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-SJO.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SJO.js diff --git a/Industry/Electric/Calculation/GenerateIDs-SL.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SL.js similarity index 100% rename from Industry/Electric/Calculation/GenerateIDs-SL.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/GenerateIDs-SL.js diff --git a/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/README.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/README.md new file mode 100644 index 0000000..7323af8 --- /dev/null +++ b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/README.md @@ -0,0 +1,3 @@ +# Electric Utility Network Foundation + +These rules are included with the [Introduction to Electric Utility Network Foundation](https://doc.arcgis.com/en/arcgis-solutions/11.1/reference/introduction-to-electric-utility-network-foundation.htm) \ No newline at end of file diff --git a/Industry/Electric/Calculation/SB-Require_Validation_Distance.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SB-Require_Validation_Distance.js similarity index 100% rename from Industry/Electric/Calculation/SB-Require_Validation_Distance.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SB-Require_Validation_Distance.js diff --git a/Industry/Electric/Calculation/SEO-Ductavailable_From_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SEO-Ductavailable_From_Content.js similarity index 100% rename from Industry/Electric/Calculation/SEO-Ductavailable_From_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SEO-Ductavailable_From_Content.js diff --git a/Industry/Electric/Calculation/SL-Contain_Struct_Line_In_Struct_Line.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Contain_Struct_Line_In_Struct_Line.js similarity index 100% rename from Industry/Electric/Calculation/SL-Contain_Struct_Line_In_Struct_Line.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Contain_Struct_Line_In_Struct_Line.js diff --git a/Industry/Electric/Calculation/SL-Create_Duct_In_Bank.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Create_Duct_In_Bank.js similarity index 100% rename from Industry/Electric/Calculation/SL-Create_Duct_In_Bank.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Create_Duct_In_Bank.js diff --git a/Industry/Electric/Calculation/SL-MeasuredLength_From_Shape.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-MeasuredLength_From_Shape.js similarity index 100% rename from Industry/Electric/Calculation/SL-MeasuredLength_From_Shape.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-MeasuredLength_From_Shape.js diff --git a/Industry/Electric/Calculation/SL-MeasuredLength_From_Shape_Set_Content.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-MeasuredLength_From_Shape_Set_Content.js similarity index 100% rename from Industry/Electric/Calculation/SL-MeasuredLength_From_Shape_Set_Content.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-MeasuredLength_From_Shape_Set_Content.js diff --git a/Industry/Electric/Calculation/SL-Require_Validation_Distance.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Require_Validation_Distance.js similarity index 100% rename from Industry/Electric/Calculation/SL-Require_Validation_Distance.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/electric/SL-Require_Validation_Distance.js diff --git a/Industry/Gas/Calculation/Assembly-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Assembly-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/Assembly-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Assembly-Generate_ID.js diff --git a/Industry/Gas/Calculation/Device-Auto_Contain_By_Rules.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Auto_Contain_By_Rules.js similarity index 100% rename from Industry/Gas/Calculation/Device-Auto_Contain_By_Rules.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Auto_Contain_By_Rules.js diff --git a/Industry/Gas/Calculation/Device-Cathodic_Protection_Traceability.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Cathodic_Protection_Traceability.js similarity index 100% rename from Industry/Gas/Calculation/Device-Cathodic_Protection_Traceability.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Cathodic_Protection_Traceability.js diff --git a/Industry/Gas/Calculation/Device-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/Device-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Generate_ID.js diff --git a/Industry/Gas/Calculation/Device-Symbol_Rotation.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Symbol_Rotation.js similarity index 100% rename from Industry/Gas/Calculation/Device-Symbol_Rotation.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Device-Symbol_Rotation.js diff --git a/Industry/Gas/Calculation/Junction-Auto_Contain_By_Rules.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Auto_Contain_By_Rules.js similarity index 100% rename from Industry/Gas/Calculation/Junction-Auto_Contain_By_Rules.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Auto_Contain_By_Rules.js diff --git a/Industry/Gas/Calculation/Junction-Cathodic_Protection_Traceability.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Cathodic_Protection_Traceability.js similarity index 100% rename from Industry/Gas/Calculation/Junction-Cathodic_Protection_Traceability.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Cathodic_Protection_Traceability.js diff --git a/Industry/Gas/Calculation/Junction-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/Junction-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Generate_ID.js diff --git a/Industry/Gas/Calculation/Junction-Symbol_Rotation.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Symbol_Rotation.js similarity index 100% rename from Industry/Gas/Calculation/Junction-Symbol_Rotation.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Junction-Symbol_Rotation.js diff --git a/Industry/Gas/Calculation/Line-AssetTypeMaterialToMaterialField.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-AssetTypeMaterialToMaterialField.js similarity index 100% rename from Industry/Gas/Calculation/Line-AssetTypeMaterialToMaterialField.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-AssetTypeMaterialToMaterialField.js diff --git a/Industry/Gas/Calculation/Line-Auto_Contain_By_Rules.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Auto_Contain_By_Rules.js similarity index 100% rename from Industry/Gas/Calculation/Line-Auto_Contain_By_Rules.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Auto_Contain_By_Rules.js diff --git a/Industry/Gas/Calculation/Line-Cathodic_Protection_Traceability.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Cathodic_Protection_Traceability.js similarity index 100% rename from Industry/Gas/Calculation/Line-Cathodic_Protection_Traceability.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Cathodic_Protection_Traceability.js diff --git a/Industry/Gas/Calculation/Line-Generate_IDs.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Generate_IDs.js similarity index 100% rename from Industry/Gas/Calculation/Line-Generate_IDs.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/Line-Generate_IDs.js diff --git a/Industry/Gas/README.md b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/README.md similarity index 100% rename from Industry/Gas/README.md rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/README.md diff --git a/Industry/Gas/Calculation/StructureBoundary-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureBoundary-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/StructureBoundary-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureBoundary-Generate_ID.js diff --git a/Industry/Gas/Calculation/StructureJunction-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureJunction-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/StructureJunction-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureJunction-Generate_ID.js diff --git a/Industry/Gas/Calculation/StructureLine-Generate_ID.js b/attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureLine-Generate_ID.js similarity index 100% rename from Industry/Gas/Calculation/StructureLine-Generate_ID.js rename to attribute-rules/attribute_rule_calculation/arcgis-solution-industry-configurations/gas/StructureLine-Generate_ID.js diff --git a/attribute_rule_constraint/README.md b/attribute-rules/attribute_rule_constraint/README.md similarity index 100% rename from attribute_rule_constraint/README.md rename to attribute-rules/attribute_rule_constraint/README.md diff --git a/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/README.md b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/README.md new file mode 100644 index 0000000..1417881 --- /dev/null +++ b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/README.md @@ -0,0 +1,3 @@ +# ArcGIS Solution industry configurations + +This folder contains the arcade expressions that are included with the ArcGIS Solution industry configurations. \ No newline at end of file diff --git a/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/communications/README.md b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/communications/README.md new file mode 100644 index 0000000..310fb58 --- /dev/null +++ b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/communications/README.md @@ -0,0 +1,7 @@ +# Communications + +These are the attribute rules that shipped with the [Communications Data Management solution preview](https://community.esri.com/videos/6581-communication-network-data-management-july-2020-early-preview). + +## Version + +- Rules are based on the 7-17-2020 release. \ No newline at end of file diff --git a/Industry/Communications/Constraint/StructureLine-Distance_From_Container.js b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/communications/StructureLine-Distance_From_Container.js similarity index 100% rename from Industry/Communications/Constraint/StructureLine-Distance_From_Container.js rename to attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/communications/StructureLine-Distance_From_Container.js diff --git a/Industry/Gas/Constraint/Line-ConstrainMaterialByAssetType.js b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/gas/Line-ConstrainMaterialByAssetType.js similarity index 100% rename from Industry/Gas/Constraint/Line-ConstrainMaterialByAssetType.js rename to attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/gas/Line-ConstrainMaterialByAssetType.js diff --git a/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/gas/README.md b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/gas/README.md new file mode 100644 index 0000000..6f67ffb --- /dev/null +++ b/attribute-rules/attribute_rule_constraint/arcgis-solution-industry-configurations/gas/README.md @@ -0,0 +1,7 @@ +# Gas + +These are the attribute rules that shipped with the [Gas and Pipeline Enterprise Data Management solution](https://solutions.arcgis.com/gas/help/gas-pipeline-enterprise-data-management/). + +## Version + +- Rules are based on the 8-11-2020 release. \ No newline at end of file diff --git a/attribute_rule_constraint/only_at_start_end.md b/attribute-rules/attribute_rule_constraint/only_at_start_end.md similarity index 100% rename from attribute_rule_constraint/only_at_start_end.md rename to attribute-rules/attribute_rule_constraint/only_at_start_end.md diff --git a/attribute_rule_constraint/prevent_delete.md b/attribute-rules/attribute_rule_constraint/prevent_delete.md similarity index 100% rename from attribute_rule_constraint/prevent_delete.md rename to attribute-rules/attribute_rule_constraint/prevent_delete.md diff --git a/attribute_rule_constraint/reject_too_many_related.md b/attribute-rules/attribute_rule_constraint/reject_too_many_related.md similarity index 100% rename from attribute_rule_constraint/reject_too_many_related.md rename to attribute-rules/attribute_rule_constraint/reject_too_many_related.md diff --git a/attribute_rule_constraint/restrict_editing.md b/attribute-rules/attribute_rule_constraint/restrict_editing.md similarity index 100% rename from attribute_rule_constraint/restrict_editing.md rename to attribute-rules/attribute_rule_constraint/restrict_editing.md diff --git a/attribute_rule_constraint/restrict_editing.zip b/attribute-rules/attribute_rule_constraint/restrict_editing.zip similarity index 100% rename from attribute_rule_constraint/restrict_editing.zip rename to attribute-rules/attribute_rule_constraint/restrict_editing.zip diff --git a/attribute_rule_validation/README.md b/attribute-rules/attribute_rule_validation/README.md similarity index 100% rename from attribute_rule_validation/README.md rename to attribute-rules/attribute_rule_validation/README.md diff --git a/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/README.md b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/README.md new file mode 100644 index 0000000..1417881 --- /dev/null +++ b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/README.md @@ -0,0 +1,3 @@ +# ArcGIS Solution industry configurations + +This folder contains the arcade expressions that are included with the ArcGIS Solution industry configurations. \ No newline at end of file diff --git a/Industry/Electric/Validation/EA-Validate_Network_Distance.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EA-Validate_Network_Distance.js similarity index 100% rename from Industry/Electric/Validation/EA-Validate_Network_Distance.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EA-Validate_Network_Distance.js diff --git a/Industry/Electric/Validation/ED-Validate_Domains.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/ED-Validate_Domains.js similarity index 100% rename from Industry/Electric/Validation/ED-Validate_Domains.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/ED-Validate_Domains.js diff --git a/Industry/Electric/Validation/ED-Validate_Network_Distance.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/ED-Validate_Network_Distance.js similarity index 100% rename from Industry/Electric/Validation/ED-Validate_Network_Distance.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/ED-Validate_Network_Distance.js diff --git a/Industry/Electric/Validation/EJ-Validate_Domains.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EJ-Validate_Domains.js similarity index 100% rename from Industry/Electric/Validation/EJ-Validate_Domains.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EJ-Validate_Domains.js diff --git a/Industry/Electric/Validation/EL-Validate_Domains.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EL-Validate_Domains.js similarity index 100% rename from Industry/Electric/Validation/EL-Validate_Domains.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EL-Validate_Domains.js diff --git a/Industry/Electric/Validation/EL-Validate_Network_Distance.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EL-Validate_Network_Distance.js similarity index 100% rename from Industry/Electric/Validation/EL-Validate_Network_Distance.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/EL-Validate_Network_Distance.js diff --git a/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/README.md b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/README.md new file mode 100644 index 0000000..7323af8 --- /dev/null +++ b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/README.md @@ -0,0 +1,3 @@ +# Electric Utility Network Foundation + +These rules are included with the [Introduction to Electric Utility Network Foundation](https://doc.arcgis.com/en/arcgis-solutions/11.1/reference/introduction-to-electric-utility-network-foundation.htm) \ No newline at end of file diff --git a/Industry/Electric/Validation/SB-Validate_Network_Distance.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/SB-Validate_Network_Distance.js similarity index 100% rename from Industry/Electric/Validation/SB-Validate_Network_Distance.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/SB-Validate_Network_Distance.js diff --git a/Industry/Electric/Validation/SL-Validate_Network_Distance.js b/attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/SL-Validate_Network_Distance.js similarity index 100% rename from Industry/Electric/Validation/SL-Validate_Network_Distance.js rename to attribute-rules/attribute_rule_validation/arcgis-solution-industry-configurations/electric/SL-Validate_Network_Distance.js diff --git a/attribute_rule_validation/require_reducer.md b/attribute-rules/attribute_rule_validation/require_reducer.md similarity index 100% rename from attribute_rule_validation/require_reducer.md rename to attribute-rules/attribute_rule_validation/require_reducer.md diff --git a/attribute_rule_validation/validate_related_cardinality.md b/attribute-rules/attribute_rule_validation/validate_related_cardinality.md similarity index 100% rename from attribute_rule_validation/validate_related_cardinality.md rename to attribute-rules/attribute_rule_validation/validate_related_cardinality.md diff --git a/dictionary_renderer/README.md b/dashboard/README.md similarity index 77% rename from dictionary_renderer/README.md rename to dashboard/README.md index 4120955..3ce5375 100644 --- a/dictionary_renderer/README.md +++ b/dashboard/README.md @@ -1,15 +1,15 @@ -# Dictionary Renderer expressions +# Dashboard expressions -This folder contains Arcade expression templates and functions that may be used in the [dictionary renderer profile](https://developers.arcgis.com/arcade/guide/profiles/#dictionary). +This folder contains Arcade expression templates and functions that may be used in the [Dashboard profile](https://developers.arcgis.com/arcade/profiles/dashboard/). ## General workflow Each expression lives in a Markdown file, which contains a general description of the expression, its use case, a depiction of the result, the code to copy, and an example of an executable form of the expression along with its output. It may also include a link to a web map demonstrating the expression in action. -> Note that expressions living in this folder don't have to be exclusively used in the visualization profile. They can likely be used in different profiles, though they were originally designed for the visualization profile. - See the list below for shared expressions. +* [Dashboard Data](./dashboard_data/) +* [Dashboard Formatting](./dashboard_data/) ## Resources @@ -22,7 +22,7 @@ Esri welcomes [contributions](CONTRIBUTING.md) from anyone and everyone. Please ## License -Copyright 2018 Esri +Copyright 2024 Esri Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/dashboard_data/AggregateByDOW(SerialChart).md b/dashboard/dashboard_data/AggregateByDOW(SerialChart).md similarity index 97% rename from dashboard_data/AggregateByDOW(SerialChart).md rename to dashboard/dashboard_data/AggregateByDOW(SerialChart).md index 6187e71..da170f5 100644 --- a/dashboard_data/AggregateByDOW(SerialChart).md +++ b/dashboard/dashboard_data/AggregateByDOW(SerialChart).md @@ -53,4 +53,4 @@ return GroupBy(fs_dict, ['dow_num', 'dow'], [{ name: 'cases_by_dow', expression: We can use this expression to create a serial chart that shows the trend in cases reported by day of the week. -![Serial chart](/dashboard_data/images/DOW.png) +![Serial chart](./images/DOW.png) diff --git a/dashboard_data/CalculationAcrossFields.md b/dashboard/dashboard_data/CalculationAcrossFields.md similarity index 96% rename from dashboard_data/CalculationAcrossFields.md rename to dashboard/dashboard_data/CalculationAcrossFields.md index c91d937..0a5067e 100644 --- a/dashboard_data/CalculationAcrossFields.md +++ b/dashboard/dashboard_data/CalculationAcrossFields.md @@ -35,4 +35,4 @@ return FeatureSet(ratioDict); The FeatureSet returns Case Fatality Ratio as a percentage which can visualized in an Indicator element. -![Indicator](/dashboard_data/images/CalculationAcrossColumns.png) +![Indicator](./images/CalculationAcrossColumns.png) diff --git a/dashboard_data/CombineMultipleLayers(SerialChart).md b/dashboard/dashboard_data/CombineMultipleLayers(SerialChart).md similarity index 98% rename from dashboard_data/CombineMultipleLayers(SerialChart).md rename to dashboard/dashboard_data/CombineMultipleLayers(SerialChart).md index e3d46e2..5e87304 100644 --- a/dashboard_data/CombineMultipleLayers(SerialChart).md +++ b/dashboard/dashboard_data/CombineMultipleLayers(SerialChart).md @@ -87,4 +87,4 @@ return FeatureSet(combinedDict); We can use this expression to create a serial chart that shows both the cumulative count of vaccinations allocated each week and how many doses were allocated by each manufacturer. -![Serial chart](/dashboard_data/images/combined-serial-chart.png) +![Serial chart](./images/combined-serial-chart.png) diff --git a/dashboard_data/GroupByMultiStats(List).md b/dashboard/dashboard_data/GroupByMultiStats(List).md similarity index 95% rename from dashboard_data/GroupByMultiStats(List).md rename to dashboard/dashboard_data/GroupByMultiStats(List).md index d644e57..f4daf5a 100644 --- a/dashboard_data/GroupByMultiStats(List).md +++ b/dashboard/dashboard_data/GroupByMultiStats(List).md @@ -25,4 +25,4 @@ return GroupBy(fs, ['COUNTY'], {name: 'count_adv', expression: 'ADVISORYDESC', statistic: 'COUNT' }]); ``` -![GroupByList](/dashboard_data/images/GroupByList.png) +![GroupByList](./images/GroupByList.png) diff --git a/dashboard_data/GroupBySQLExpressionAverage(SerialChart).md b/dashboard/dashboard_data/GroupBySQLExpressionAverage(SerialChart).md similarity index 93% rename from dashboard_data/GroupBySQLExpressionAverage(SerialChart).md rename to dashboard/dashboard_data/GroupBySQLExpressionAverage(SerialChart).md index be3f3b9..c981ad9 100644 --- a/dashboard_data/GroupBySQLExpressionAverage(SerialChart).md +++ b/dashboard/dashboard_data/GroupBySQLExpressionAverage(SerialChart).md @@ -33,4 +33,4 @@ return GroupBy( The resulting data can be visualized in a serial chart element using the 'Categories from Features' configuration. -![](/dashboard_data/images/GroupBySQLExpressionAverage(SerialChart).png) +![](./images/GroupBySQLExpressionAverage(SerialChart).png) diff --git a/dashboard_data/HavingClause(SerialChart).md b/dashboard/dashboard_data/HavingClause(SerialChart).md similarity index 88% rename from dashboard_data/HavingClause(SerialChart).md rename to dashboard/dashboard_data/HavingClause(SerialChart).md index 9a0ab76..75c7749 100644 --- a/dashboard_data/HavingClause(SerialChart).md +++ b/dashboard/dashboard_data/HavingClause(SerialChart).md @@ -20,4 +20,4 @@ return Filter(OrderBy(GroupBy(fs,['Waterbody_Type'],[{name:'AVG_RF',expression:' The resulting FeatureSet can be visualized in a serial chart or list element. -![Serial chart](/dashboard_data/images/HavingClause(SerialChart).png) +![Serial chart](./images/HavingClause(SerialChart).png) diff --git a/dashboard_data/JoinLayerFieldsToTable.md b/dashboard/dashboard_data/JoinLayerFieldsToTable.md similarity index 97% rename from dashboard_data/JoinLayerFieldsToTable.md rename to dashboard/dashboard_data/JoinLayerFieldsToTable.md index 3225531..0650d19 100644 --- a/dashboard_data/JoinLayerFieldsToTable.md +++ b/dashboard/dashboard_data/JoinLayerFieldsToTable.md @@ -67,4 +67,4 @@ return FeatureSet(joinedDict); Bringing additional attributes into our main layer by a shared ID allows us to combine data we would otherwise not be able to, as in the following chart. Note that the `DPS_Region` field comes from the polygon layer, while the `ModelID` and `AddressCount` fields come from the tabular layer. -![](/dashboard_data/images/JoinLayerFieldsToTable.png) +![](./images/JoinLayerFieldsToTable.png) diff --git a/dashboard_data/MostRecentRecords(IndicatorOrGuage).md b/dashboard/dashboard_data/MostRecentRecords(IndicatorOrGuage).md similarity index 93% rename from dashboard_data/MostRecentRecords(IndicatorOrGuage).md rename to dashboard/dashboard_data/MostRecentRecords(IndicatorOrGuage).md index baa729f..34fa4a6 100644 --- a/dashboard_data/MostRecentRecords(IndicatorOrGuage).md +++ b/dashboard/dashboard_data/MostRecentRecords(IndicatorOrGuage).md @@ -28,4 +28,4 @@ return Filter(fs, 'date = @maxDate'); We can use this expression to create and update indicators or gauges that show the most recent information on vaccination adiministration. -![Indicators](/dashboard_data/images/most-recent-record.png) +![Indicators](./images/most-recent-record.png) diff --git a/dashboard_data/README.md b/dashboard/dashboard_data/README.md similarity index 100% rename from dashboard_data/README.md rename to dashboard/dashboard_data/README.md diff --git a/dashboard_data/SpatialAggregation.md b/dashboard/dashboard_data/SpatialAggregation.md similarity index 96% rename from dashboard_data/SpatialAggregation.md rename to dashboard/dashboard_data/SpatialAggregation.md index 3f73533..589fb96 100644 --- a/dashboard_data/SpatialAggregation.md +++ b/dashboard/dashboard_data/SpatialAggregation.md @@ -70,4 +70,4 @@ return FeatureSet(out_dict); We can use this expression to create a serial chart or list that shows the number of points per polygon. Simple modifications to this expression can add additional statistics, such as **Sum**, **Average**, and the like. -![Serial chart](/dashboard_data/images/SpatialAggregation(SerialChart).png) +![Serial chart](./images/SpatialAggregation(SerialChart).png) diff --git a/dashboard_data/SplitCategories(PieChart).md b/dashboard/dashboard_data/SplitCategories(PieChart).md similarity index 97% rename from dashboard_data/SplitCategories(PieChart).md rename to dashboard/dashboard_data/SplitCategories(PieChart).md index b3588e0..7ad8191 100644 --- a/dashboard_data/SplitCategories(PieChart).md +++ b/dashboard/dashboard_data/SplitCategories(PieChart).md @@ -50,4 +50,4 @@ return GroupBy(fs_dict, ['split_choices'], By restructuring data, we are able to build a more effective pie chart. The below image shows two pie charts for the same underlying dataset. The chart on the left visualizes the raw data. The chart on the right is driven by the enhanced dataset generated this data expression. -![](/dashboard_data/images/SplitCategories(PieChart).png) +![](./images/SplitCategories(PieChart).png) diff --git a/dashboard_data/WorkforceWorkerNameAssignmentType.md b/dashboard/dashboard_data/WorkforceWorkerNameAssignmentType.md similarity index 98% rename from dashboard_data/WorkforceWorkerNameAssignmentType.md rename to dashboard/dashboard_data/WorkforceWorkerNameAssignmentType.md index 889cd21..121aad3 100644 --- a/dashboard_data/WorkforceWorkerNameAssignmentType.md +++ b/dashboard/dashboard_data/WorkforceWorkerNameAssignmentType.md @@ -65,7 +65,7 @@ return FeatureSet(returnFS) The resulting data can be visualized in a serial chart element using the 'Categories from Features' configuration. -![](/dashboard_data/images/workforce-worker-name-assignment-type.png) +![](./images/workforce-worker-name-assignment-type.png) _Note for Enterprise users: Prior to Enterprise 11.2, the FeatureSet() function does not accept dictionaries. You must wrap the dictionary with a Text() function: FeatureSet(Text(dict)). Additionally, dates need to be in EPOCH and can be converted by wrapping them with the Number() function: Number(Now()). For more information see https://community.esri.com/t5/arcgis-dashboards-blog/dashboard-data-expressions-what-has-changed-june/bc-p/1299698_ diff --git a/dashboard_data/images/CalculationAcrossColumns.png b/dashboard/dashboard_data/images/CalculationAcrossColumns.png similarity index 100% rename from dashboard_data/images/CalculationAcrossColumns.png rename to dashboard/dashboard_data/images/CalculationAcrossColumns.png diff --git a/dashboard_data/images/DOW.png b/dashboard/dashboard_data/images/DOW.png similarity index 100% rename from dashboard_data/images/DOW.png rename to dashboard/dashboard_data/images/DOW.png diff --git a/dashboard_data/images/GroupByList.png b/dashboard/dashboard_data/images/GroupByList.png similarity index 100% rename from dashboard_data/images/GroupByList.png rename to dashboard/dashboard_data/images/GroupByList.png diff --git a/dashboard_data/images/GroupBySQLExpressionAverage(SerialChart).png b/dashboard/dashboard_data/images/GroupBySQLExpressionAverage(SerialChart).png similarity index 100% rename from dashboard_data/images/GroupBySQLExpressionAverage(SerialChart).png rename to dashboard/dashboard_data/images/GroupBySQLExpressionAverage(SerialChart).png diff --git a/dashboard_data/images/HavingClause(SerialChart).png b/dashboard/dashboard_data/images/HavingClause(SerialChart).png similarity index 100% rename from dashboard_data/images/HavingClause(SerialChart).png rename to dashboard/dashboard_data/images/HavingClause(SerialChart).png diff --git a/dashboard_data/images/JoinLayerFieldsToTable.png b/dashboard/dashboard_data/images/JoinLayerFieldsToTable.png similarity index 100% rename from dashboard_data/images/JoinLayerFieldsToTable.png rename to dashboard/dashboard_data/images/JoinLayerFieldsToTable.png diff --git a/dashboard_data/images/ReturnDistinctColumnValues(List).png b/dashboard/dashboard_data/images/ReturnDistinctColumnValues(List).png similarity index 100% rename from dashboard_data/images/ReturnDistinctColumnValues(List).png rename to dashboard/dashboard_data/images/ReturnDistinctColumnValues(List).png diff --git a/dashboard_data/images/SpatialAggregation(SerialChart).png b/dashboard/dashboard_data/images/SpatialAggregation(SerialChart).png similarity index 100% rename from dashboard_data/images/SpatialAggregation(SerialChart).png rename to dashboard/dashboard_data/images/SpatialAggregation(SerialChart).png diff --git a/dashboard_data/images/SplitCategories(PieChart).png b/dashboard/dashboard_data/images/SplitCategories(PieChart).png similarity index 100% rename from dashboard_data/images/SplitCategories(PieChart).png rename to dashboard/dashboard_data/images/SplitCategories(PieChart).png diff --git a/dashboard_data/images/combined-serial-chart.png b/dashboard/dashboard_data/images/combined-serial-chart.png similarity index 100% rename from dashboard_data/images/combined-serial-chart.png rename to dashboard/dashboard_data/images/combined-serial-chart.png diff --git a/dashboard_data/images/most-recent-record.png b/dashboard/dashboard_data/images/most-recent-record.png similarity index 100% rename from dashboard_data/images/most-recent-record.png rename to dashboard/dashboard_data/images/most-recent-record.png diff --git a/dashboard_data/images/workforce-worker-name-assignment-type.png b/dashboard/dashboard_data/images/workforce-worker-name-assignment-type.png similarity index 100% rename from dashboard_data/images/workforce-worker-name-assignment-type.png rename to dashboard/dashboard_data/images/workforce-worker-name-assignment-type.png diff --git a/dashboard_formatting/README.md b/dashboard/dashboard_formatting/README.md similarity index 100% rename from dashboard_formatting/README.md rename to dashboard/dashboard_formatting/README.md diff --git a/HelperTools/CAV_to_constraint_arr.py b/helper-tools/CAV_to_constraint_arr.py similarity index 100% rename from HelperTools/CAV_to_constraint_arr.py rename to helper-tools/CAV_to_constraint_arr.py diff --git a/HelperTools/CAV_to_constraint_dict.py b/helper-tools/CAV_to_constraint_dict.py similarity index 100% rename from HelperTools/CAV_to_constraint_dict.py rename to helper-tools/CAV_to_constraint_dict.py diff --git a/readme-template.md b/readme-template.md index 81ac5c8..dae0408 100644 --- a/readme-template.md +++ b/readme-template.md @@ -1,8 +1,39 @@ # Title +This folder contains Arcade expression templates and functions that may be used in the [XXXX profile](https://developers.arcgis.com/arcade/profiles/). + +## General workflow + > Describe what kind of Arcade expressions it contains (profile, context, ...) See the list below for shared expressions: * Expression 1 * Expression 2 -* ... \ No newline at end of file +* ... + +## Resources + +* [ArcGIS Arcade Documentation](https://developers.arcgis.com/arcade/) +* [ArcGIS Arcade Playground](https://developers.arcgis.com/arcade/playground/) + +## Contributing + +Esri welcomes [contributions](CONTRIBUTING.md) from anyone and everyone. Please see our [guidelines for contributing](https://github.com/esri/contributing). + +## License + +Copyright 2024 Esri + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +A copy of the license is available in the repository's [LICENSE](LICENSE) file. \ No newline at end of file diff --git a/dictionary_renderer/Conduit/ConduitExample.gdb.zip b/visualization/dictionary_renderer/Conduit/ConduitExample.gdb.zip similarity index 100% rename from dictionary_renderer/Conduit/ConduitExample.gdb.zip rename to visualization/dictionary_renderer/Conduit/ConduitExample.gdb.zip diff --git a/dictionary_renderer/Conduit/ConduitKnockouts.stylx b/visualization/dictionary_renderer/Conduit/ConduitKnockouts.stylx similarity index 100% rename from dictionary_renderer/Conduit/ConduitKnockouts.stylx rename to visualization/dictionary_renderer/Conduit/ConduitKnockouts.stylx diff --git a/dictionary_renderer/Conduit/CopySymbol.py b/visualization/dictionary_renderer/Conduit/CopySymbol.py similarity index 100% rename from dictionary_renderer/Conduit/CopySymbol.py rename to visualization/dictionary_renderer/Conduit/CopySymbol.py diff --git a/dictionary_renderer/Conduit/Readme.md b/visualization/dictionary_renderer/Conduit/Readme.md similarity index 100% rename from dictionary_renderer/Conduit/Readme.md rename to visualization/dictionary_renderer/Conduit/Readme.md diff --git a/dictionary_renderer/Conduit/base_symbol.stylx b/visualization/dictionary_renderer/Conduit/base_symbol.stylx similarity index 100% rename from dictionary_renderer/Conduit/base_symbol.stylx rename to visualization/dictionary_renderer/Conduit/base_symbol.stylx