

Since we’re building associations programmatically, we must be able to generate CSV rows that populate each field with several fields: These associations are defined and stored in their own table, consisting of a few fields that can be reliably used to identify both features in a given association.

As a bonus, the Utility Network also checks these associations against a set of rules to ensure that they are fair associations between valid features. This provides a user-friendly and intuitive way of isolating specific features and associating them together in attachment, containment, or connectivity associations. In ArcGIS Pro, we define associations using the interface controls available to us. It is also a perfect opportunity to identify associations between features that need to be connected! While reprocessing the data to fit the Utility Network schema, we can also build standalone tables that contain association information regarding which features are associated and how so, which we can bring in later to generate our associations programmatically. These scripts are where we reshape features to fit our expectations – culling unused fields by skipping them or adding new fields with specific domains, recalculating values for individual features, etc. In our project, this consisted of one script to handle reprocessing Electric Transmission Lines and another to handle Structure Junctions. Technically, this is likely going to involve several scripts to handle each type of feature that is being imported appropriately. The second step is to reprocess this imported data according to the plan. The overall approach can be broken down into a four simple steps: import, reprocess, stage, and commit. Now that we’ve got a plan for how we want our data to translate, we can get into the programming side of the task.
Pls cadd lite user interface software#
Microsoft Excel or any other similar software works very well for planning this out. Building out a map for each feature is instrumental in determining whether data was brought over correctly for QA to review. Subsequently, we also define that the “Structure Height” field in the Utility Network should populate with data from the “Height” field in our source. We may take advantage of a data-source matrix to identify to help identify what our data would look like once it’s been brought in and finalized.įor example, we might identify that the Electric Support Poles in our source data are Structure Junctions in the Utility Network. This is where we can revisit our data models and remove any legacy fields that are no longer maintained or add new fields to features for future planning. What fields do we need to migrate, and what are they now? Is there any additional information that we may need that we need to calculate or change during the import? Do we have any static and reliably-unique fields we can use to easily identify matching features with?īroadly speaking, having an end-goal definition of what the data will look like is a fundamental aspect of the design simply because it defines the components of the migration that may need to be changed to fit the data we are working with. The general gist of how this data is translated requires that we ask a few questions about the format of the data now, and how it needs to be defined in the Utility Network. This blog will cover the steps that we took at a high-level to accomplish the task, and any observations or issues we encountered during development. The task can be daunting at first, but by using the ArcPy library and the ArcGIS Server feature services, we can easily design a straightforward process that can be used for many different sources of data beyond PLSCADD.
Pls cadd lite user interface update#
A recent project of mine involved taking data created in PLS-CADD projects and transferring it to an existing Utility Network implementation to import new features and update the features that were already in the GIS. Migrating data into a Utility Network environment may seem like a challenging experience, but the process can be streamlined with Python.
