Wastewater Planning & Design System (WPDS) architecture
Project purpose
The Wastewater Planning & Design System (WPDS) is used to design a project's wastewater collection network on a map. The outcome is not a standalone drawing: it is a network model stored in an enterprise geodatabase, tied to a single project, that engineering staff can calculate, review, adjust, and export.
Work is split into two phases.
Request. The person opening the project specifies where the area is, draws the project boundary, and places the collection point. When they submit the request, the platform registers the project and, in the background, prepares starting data: it downloads cadastral parcels for that area (Lightbox), clips streets (OpenStreetMap) to the boundary, and generates a preview image. The project is then ready for engineering to open.
Design. The engineering team builds the network in five steps, always within the same project:
- Connections. Computes service laterals from each parcel to the street. They can add auxiliary streets manually or restart the calculation.
- Parcels. Reviews and corrects parcels, boundary, and laterals on the map.
- Main collector. Proposes routes or adjusts a hand-drawn route and inserts it into the network.
- Costs. Reviews construction parameters and cost per pipe segment.
- EDU. Calculates Equivalent Dwelling Units, used to size the network, and allows exporting the project.
Everything that belongs to a project (parcels, streets, laterals, main collector, costs, EDU) shares the same identifier, workflowid. Copying, cloning, resetting, or deleting a project therefore means working with that identifier, not hunting for loose geometries.
The network is stored as an ArcGIS Utility Network: mains, laterals, connections, and the collection point are network elements with connectivity rules. The network is branch-versioned, so the application and calculations do not write directly to the database. They read and change data through web services published on ArcGIS Server. Heavy work (street graph, laterals, routing, EDU) runs on the server as Python geoprocessing (ArcPy); the web app only submits jobs, shows progress, and displays results on the map.
This documentation explains how that platform is built and how its parts connect, so anyone on the team can understand the system and assess the impact of a change before making it.
The full source code (web application, geoprocessing scripts, and ArcGIS Pro project) is in the repository Wastewater-System--WPDS-.
How it is organized
| Document | Contents |
|---|---|
| 1. Overview | The four system layers, the path of a request, and the licenses and reference data required to implement the platform. Recommended starting point. |
| 2. Web application | Application pages, maps, authentication, and communication between widgets. |
| 3. Widgets | Reference for each custom widget and the shared code library. |
| 4. Workflow | Full project journey: request, initial calculation, and five-step design. |
| 5. Geoprocessing | Catalog of calculation services, script structure, and how to add a new one. |
| 6. ArcGIS Pro | Desktop project: maps, toolboxes, and database connections. |
| 7. Data | Data model, Utility Network, published services, and which processes read or write each table. |
| 8. Successful implementations | Delivered products: ARXInfrastructure and DIG, with screens from each. |
The generated/ annex holds the detailed inventory: widgets, application, web–geoprocessing links, toolboxes, scripts, ArcGIS Pro, geodatabase, and services. Interactive diagrams live in diagrams/; index.html combines everything in a single offline page.
Glossary
| Term | Meaning |
|---|---|
| Workflow | A design project. Identified by workflowid (the globalid of the Workflow table); all project data carries that identifier. |
| Widget | A component of the Experience Builder web application (form, step panel, editor, etc.). |
| Geoprocess (GP) | A calculation run on ArcGIS Server from a Python script published as a service. |
| Toolbox | An ArcGIS Pro .atbx file that defines tools (names and parameters) later published as geoprocessing services. |
| Utility Network (UN) | ArcGIS network model where mains, laterals, connections, and the collection point are stored. |
| Feature service | A web service that exposes geodatabase tables and layers for query and edit. |
| EDU | Equivalent Dwelling Unit: unit used to size the network. |
| Documented environment | Staging: service folder AWWSP_UN and parameters in Params/params_staging.py. |
Scope
| Area | What was reviewed |
|---|---|
| Web application | App 1 "Staging | WPDS" (Experience Builder 1.17.0): 4 pages, 11 custom widgets, and 32 shared modules. |
| Geoprocessing | Toolbox Steps UN.atbx, 18 entry scripts and helper modules. |
| ArcGIS Pro | Project Geoproccess/AWWSP Dev/AWWSP.aprx (5 maps documented). |
| Geodatabase | Schema export Awwsp UN_ExportXMLWorkspaceD.xml (database awwsp_un). |
| Published services | Contract for services reachable without authentication. Others require a token and were not verified. |
Out of scope:
.sdeconnections and validation of broken layers, which require network access to the databases.
Change log
| Date | Change |
|---|---|
| 28/09/2026 | First version. |
| 28/09/2026 | Editorial review and scope adjustment. |
| 29/09/2026 | Product named WPDS (Wastewater Planning & Design System). Service URLs use generic placeholders. |
| 29/09/2026 | Shared auth modules renamed from dig-* to wws-*. Scripts fixed to STAGING environment. |
| 29/09/2026 | Project onboarding phase renamed to project request. |
| 29/09/2026 | Risks and technical debt excluded from this documentation. |
| 29/09/2026 | Workflow doc includes application screenshots; personal data redacted. |
| 29/09/2026 | Entry document opens with project purpose: request, network design, and Utility Network role. |
| 29/09/2026 | Full documentation translated to English. |
| 29/09/2026 | Added successful implementations: ARXInfrastructure and DIG. |
| 29/09/2026 | Overview lists the ArcGIS licenses and reference datasets required to implement the platform. |
| 29/09/2026 | EDU elevations documented as queries to the USGS elevation service. |
| 29/09/2026 | Source repository linked: Wastewater-System--WPDS-. |
| 29/09/2026 | Product references renamed from WWS to WPDS across the documentation. |
| 29/09/2026 | Narrative doc filenames, diagram labels, placeholders (<wpds-server>, <gis-server>), and screenshot assets use English names only. |
Diagrams
1. Overview
In brief: the platform has four layers. The user works in a web application; each calculation action is sent to a geoprocess on ArcGIS Server; the geoprocess reads and updates project data in the geodatabase through web services; and ArcGIS Pro is where those geoprocesses and services are prepared and published.
Diagram: System architecture
The four layers
| Layer | What it is | Where it lives |
|---|---|---|
| 1. Web application | User interface: pages, maps, forms, and editor. | ExB/server/public/apps/1 and widgets under ExB/client/your-extensions/widgets |
| 2. Geoprocessing | Network calculations (project request, connections, main collector, EDU, costs, export). | WPDS project services at https://<wpds-server>/server/rest/services/AWWSP_UN/…/GPServer. Code in Geoproccess/Scripts Utiliy Network |
| 3. ArcGIS Pro | Environment to prepare and publish tools and maps. | Geoproccess/AWWSP Dev/AWWSP.aprx |
| 4. Data | Sanitary sewer Utility Network and project tables in PostgreSQL (Azure), published as feature services. | Database awwsp_un. Services AWWSP_UN/Utility_Network and AWWSP_UN/Utility_Network___Auxiliar |
Path of a request
The example below follows what happens when the user clicks Send to Engineers to submit a project request. Other calculation actions follow the same pattern.
- Preparation. The
create-workflowwidget collects the drawn boundary, discharge point, and form data. - Authentication. The shared module
wws-server-fetchobtains an ArcGIS Server token from the user's portal session. - Execution. The application submits geoprocess
CreateWorkflow. The script registers the boundary, the project (statusPending), and the collection point, creates the commercial contact in HubSpot (production only), and returns the project identifier. - Initial calculation. Without waiting for a response, the application submits
CalculateInitialNetwork. That job downloads parcels from Lightbox, clips streets from the roads database, generates a preview image, and sets the project toReady. - Confirmation. The user sees a confirmation message. Engineering opens the project later from List projects, which shows the updated status.
Diagram: Geoprocess sequence
Technology
| Component | Detail |
|---|---|
| Web application | ArcGIS Experience Builder 1.17.0 (Developer Edition), React, and ArcGIS Maps SDK for JavaScript |
| Server | WPDS ArcGIS Enterprise: portal https://<wpds-server>/portal and server https://<wpds-server>/server |
| Geoprocessing | Python with ArcPy (ArcGIS Pro 3.5) and NetworkX for graph analysis |
| Database | PostgreSQL on Azure with enterprise geodatabase; branch-versioned Utility Network |
| External services | Lightbox (cadastral parcels) and HubSpot (CRM) |
| Infrastructure | GIS server on Azure (ArcGIS Enterprise and PostgreSQL) |
What is required to implement it
A new deployment needs the source repository, the ArcGIS licenses below, and a set of reference datasets. The application and geoprocessing services cannot run without them.
Source code
The full codebase is in the repository Wastewater-System--WPDS-.
Licenses
| License | Why it is required |
|---|---|
| ArcGIS Server | Publishes the feature services and the geoprocessing services the web application calls. |
| Network Analyst | ArcGIS extension used by network routing on the server. |
| ArcGIS Pro Advanced | Desktop license used to author the Utility Network, maps, and toolboxes, and to publish them. |
Reference data
| Dataset | Role |
|---|---|
| OpenStreetMap roads | Street network clipped to the project boundary for the initial calculation (awwsp_roads.sde.roads_usa_osm). |
| TIGER | Alternative to OpenStreetMap roads: U.S. Census road lines that can supply the same street network. |
| Digital elevation model | Terrain surface used when the network needs ground elevation. |
| USGS elevation service | Ground elevation for EDU points. Geoprocess CalulateEdus queries the USGS Elevation Point Query Service for each point. |
| Lightbox | Cadastral parcels downloaded for the area inside the project boundary. |
Design principles
- Everything is organized by project. Each project element (mains, connections, parcels, EDU, costs) stores the project's
workflowid. Copy, reset, clone, or delete a project by filtering on that identifier. - Data is edited through services. The Utility Network is branch-versioned, so it can only be changed through its web services. Scripts do not write directly to the database; they use service URLs defined in
UtilsUN/vars.py. - Calculation runs locally (on the GP server). Each geoprocess copies project data to a temporary geodatabase, computes with ArcPy, and pushes results back to the service.
- Configuration lives in the application. Geoprocess URLs are set per widget in Experience Builder, not hard-coded.
- One calculation at a time. The application blocks starting a geoprocess while another is running.
2. Web application
In brief: the application is a single ArcGIS Experience Builder experience with four pages. It is built from custom widgets that share a common library (shared-code). Widgets coordinate through configuration, messages, and shared state, and every geoprocessing call goes through the same authentication module.
Annexes: application · widgets · web–geoprocessing links
Pages
Application ExB/server/public/apps/1 ("Staging | WPDS") has these pages:
| Page | Purpose | Main widgets | Map |
|---|---|---|---|
| Init workflow | Welcome screen: user picks the project location. | init-workflow, stepper | — |
| Create workflow | Project request: boundary, discharge point, and client data. | create-workflow (and create-workflow-floating on small screens), stepper | Map Stage 1 (phase 1 web map) |
| Workflow manager | Five-step network design for one project. | workflow-controller, workflow-project, advanced-editing, data-statistics, clone-workflow, title-project, stepper | Map Stage 2 (phase 2 web map) |
| List projects | Project list with preview and status; open and delete. | list-projects | — |
How each page looks, in project order, is in 4. Workflow.
Web maps
Maps come from the WPDS portal (https://<wpds-server>/portal). Phase 2 is exported in the repository (shared-code/Map Phase 2.json):
| Map layer | Service / layer | Table |
|---|---|---|
| Boundary | Utility_Network___Auxiliar/5 | Boundary |
| Parcel | Utility_Network___Auxiliar/4 | Parcel |
| Edus points | Utility_Network___Auxiliar/0 | Edus |
| Auxiliary line, Lateral, Force main | Utility_Network/5 (same layer, filtered by subtype) | SewerLine |
| Service connection, Wastewater Collection Point | Utility_Network/2 (filtered by subtype) | SewerDevice |
| Tee | Utility_Network/4 | SewerJunction |
| Wetlands | External USGS service | — |
| Tables: Workflows Projects, Construction Parameters, Line Costs, Users | Utility_Network___Auxiliar/6, /12, /13, /14 | Workflow, ConstructionParameters, LineCosts, WorkflowUser |
Widgets reach layers through map data sources, not raw URLs. If the web map or a republished service changes, you may need to re-select layers in widget configuration.
Communication between widgets
The application uses four mechanisms:
- Configuration references. A widget points to another widget it controls. For example, each
steppertargets the widget whose steps it displays, andadvanced-editingpoints atworkflow-controller. - Messages. When the user edits features in
advanced-editing, it publishes a data-change message.workflow-projectreceives it and reacts by layer—for example, a boundary edit triggers geoprocessUpdateNetwork. - Shared state. A global "geoprocess running" flag (
gp-running-lock) prevents two calculations at once. Other modules keep the editor aligned with the active step. - URL parameters. The active project moves between pages as
?workflow=<id>, and the chosen location as?lat=&lng=.
Authentication
Module shared-code/wws-server-fetch.ts centralizes ArcGIS Server access:
- Token. Requests a server token from the user's portal session. If there is no session (e.g. local development), it uses the API key configured on the widget.
- Job submission. Geoprocesses are submitted with POST so large geometries are not sent in the URL.
- Polling. Associates the token with job status queries so polling stays authenticated.
Geoprocess configuration
Each widget stores its tools in application configuration with two fields: service URL and a utility reference (the app's service registry). Practical effects:
- GP services. URLs and utilities configured in the documented application point at folder
AWWSP_UN.
3. Widgets
In brief: there are 11 custom widgets, all used in the application. They rely on the shared-code library. Paths in this document are relative to ExB/client/your-extensions/widgets/.
Annexes: widget inventory · web–geoprocessing links
Project request
init-workflow — Start
- Role: welcome screen where the user picks the project location. Looks up State Plane zones for the point to suggest the right coordinate system.
- Page: Init workflow.
- Geoprocesses: none.
create-workflow — Project request
- Role: guides the four request steps (location, boundary, discharge point, and form with client data and contracted package). On submit, registers the project and starts initial calculation in the background.
- Page: Create workflow.
- Geoprocesses:
CreateWorkflow, thenCalculateInitialNetwork. - Main code: steps/step-4.tsx (submit) and
shared-code/build-create-workflow-gp-params.ts(form to GP parameters).
create-workflow-floating — Request on small screens
- Role: same request logic as a floating bar for small viewports.
- Page: Create workflow.
stepper — Step indicator
- Role: shows flow progress and drives the step of the linked widget.
- Pages: all flow pages.
Project design (Workflow manager)
workflow-controller — Coordinator
- Role: switches between map editor and step panel depending on the active step.
workflow-project — Design steps
- Role: core of design. Presents steps 5–9, checks required data before advancing, persists the current step on the project, and reacts to map edits.
| Step | What it does | Geoprocesses |
|---|---|---|
| 5. Connections | Computes laterals from parcels to streets. | CalculateConnections, PrepareManualAuxiliaryLines, ResetNetwork |
| 6. Parcels | Review and edit parcels and boundary. | UpdateNetwork, automatic on boundary edit |
| 7. Main collector | Proposes routes or adjusts a hand-drawn route and inserts it. | Second1, Second2, SecondMainLine, ResetMainLine |
| 8. Costs | Edit construction parameters and per-segment costs. | — (direct table edit) |
| 9. EDU | EDU calculation, report, and export. | CalulateEdus, ExportToShapefile |
advanced-editing — Map editor
- Role: edit features on the map: single, batch, and attachments. Applies Utility Network connectivity rules in the browser. Each edit notifies
workflow-projectto recalculate as needed.
data-statistics — Statistics
- Role: loads project metrics used for time and cost estimates.
- Geoprocess:
CalculateEstimateInputs(read-only).
clone-workflow — Clone project
- Role: creates a copy with a new name and description.
- Geoprocess:
CloneWorkflow.
title-project — Header
- Role: shows project and client names and assigned users.
Listing
list-projects — Projects
- Role: shows projects as cards with preview, status, and assignee. While status is
Pending, polls every 5 seconds and blocks opening. Supports bulk delete. - Geoprocess:
DeleteMultipleProject.
Shared library (shared-code)
The library has 32 modules. The most important:
| Module | Responsibility |
|---|---|
wws-server-fetch, wws-api-request-setup, wws-api-token | Authentication and requests to ArcGIS Server. |
geoprocess | Geoprocess progress bar and error formatting. |
gp-running-lock | Lock that prevents two geoprocesses at once. |
workflow-packages and related | Contracted package catalog (Package table). |
stepper-navigation | Step navigation. |
workflow-controller-coordination, editor-selection-coordination, map-edit-sketch-coordination | Coordination between editor, steps, and map sketch. |
The full list, with widgets per module, is in the widget inventory.
4. Project workflow
In brief: a project goes through two phases. In the request, the user defines the area and discharge point, and the system automatically prepares parcels and streets. In design, engineering completes the network in five steps inside Workflow manager. Screenshots in this chapter show that journey in the application. Names, emails, and phone numbers are redacted.
Diagrams: Phase 1 · Project request · Phase 2 · Design · Geoprocess sequence · Project states
Phase 1 · Project request
| Step | User action | System action |
|---|---|---|
| 1. Location | Chooses project area on Init workflow. | Suggests the area coordinate system. |
| 2. Boundary | Draws the project limit. | — |
| 3. Discharge point | Places the collection point. | — |
| 4. Submit | Completes client data and package, clicks Send to Engineers. | Runs CreateWorkflow and, in the background, CalculateInitialNetwork. |
CreateWorkflow (Create_workflow.py):
- Registers boundary, project (status
Pending, step 5), and collection point. - In production, creates the HubSpot contact.
- Returns the project identifier.
CalculateInitialNetwork (Calculate_initial_network.py):
- Generates a preview image and stores it as an attachment.
- Clips streets from the roads database (OpenStreetMap) to the boundary, keeps only those connected to the collection point, and if needed adds a segment linking the collection point to the nearest street. These become auxiliary lines.
- Downloads parcels inside the boundary from Lightbox.
- Sets the project to
Ready, orReady with errorsif something fails.
After submit, the app shows confirmation. The project appears in List projects and can be opened once it leaves Pending.
Phase 2 · Design
The project opens from List projects. The current step is stored on the project record; the app blocks advancing if the next step lacks required data.
| Step | Engineer action | Geoprocesses | Data affected |
|---|---|---|---|
| 5. Connections | Computes laterals from each parcel to the street. Can add hand-drawn auxiliary lines or reset the network. | CalculateConnections, PrepareManualAuxiliaryLines, ResetNetwork | Service connections, laterals, tees |
| 6. Parcels | Reviews and fixes parcels, boundary, and laterals in the editor. | UpdateNetwork when boundary changes | Parcels, boundary, related network |
| 7. Main collector | Automatic: pick among proposed routes. Manual: draw a route and the system snaps it to the network. | Second1 → Second2, SecondMainLine, ResetMainLine | Main collector (force main) |
| 8. Costs | Reviews construction parameters and per-segment costs. | — | LineCosts, ConstructionParameters |
| 9. EDU | Calculates EDU, reviews feasibility report, exports project. | CalulateEdus, ExportToShapefile | EDU points; ZIP with shapefiles |
Two more actions are available throughout design:
- Statistics (
CalculateEstimateInputs): project metrics. - Clone (
CloneWorkflow): project copy.
From List projects, projects can be deleted (DeleteMultipleProject).
Project states
| State | When | Set by |
|---|---|---|
Pending | Right after project creation. | CreateWorkflow |
Ready | When initial calculation or a network operation finishes successfully. | CalculateInitialNetwork, ResetNetwork, UpdateNetwork |
Ready with errors | When one of those operations fails partially. | Same processes |
Besides status, the project stores the current step (5–9) and whether connections have been calculated (calculated_connections).
General rules
- One geoprocess at a time. The app does not start a calculation while another is running.
- Shared authentication. All geoprocesses use the same mechanism (see 2. Web application).
- Data version. Calculations use geodatabase version
sde.DEFAULT.
5. Geoprocessing
In brief: all calculations are Python scripts defined as tools in ArcGIS Pro toolbox Steps UN.atbx and published as asynchronous services in ArcGIS Server folder AWWSP_UN. Each service maps to one tool, and each task to one script.
https://<wpds-server>/server/rest/services/AWWSP_UN/CreateWorkflow/GPServer/Create_Workflow
folder service = tool task = script (Create_workflow.py)
Some names contain typos that are part of the contract with the web app (for example, CalulateEdus). Do not fix them without republishing the service and updating application configuration.
Annexes: web–geoprocessing links · toolboxes · scripts
Catalog
The Contract column shows whether the published contract could be compared to the local toolbox definition: ✔ match, ✖ differs, 🔒 requires authentication.
Project request
| Service / task | Inputs → outputs | Script | Used in | Contract |
|---|---|---|---|---|
CreateWorkflow/Create_Workflow | boundary, collection point, name, description, package, company, contact data → workflow_id | Create_workflow.py | Request, step 4 | ✖ |
CalculateInitialNetwork/Calculate_initial_network | workflowId, sdeVersion | Calculate_initial_network.py | Request, background | ✔ |
Network design
| Service / task | Inputs → outputs | Script | Step | Contract |
|---|---|---|---|---|
CalculateConnections/Calculate_connections | workflowId, distance, unit, sdeVersion | Calculate_connections.py | 5 | 🔒 |
PrepareManualAuxiliaryLines/Prepare_manual_auxiliary_lines | workflowId → segments_prepared | Prepare_manual_auxiliary_lines.py | 5 | 🔒 |
ResetNetwork/Reset_network | workflowId, sdeVersion | Reset_network.py | 5 | 🔒 |
UpdateNetwork/Update_network | workflowId, distance, unit, sdeVersion | Update_network.py | 6 | 🔒 |
Second1/Second_1 | workflowId, totalRoutes → routes | Second_1.py | 7 | 🔒 |
Second2/Second_2 | workflowId, route | Second_2.py | 7 | 🔒 |
SecondMainLine/Second_main_line | workflowId, userRoute | Second_main_line.py | 7 | 🔒 |
ResetMainLine/Reset_main_line | workflowId | Reset_main_line.py | 7 | 🔒 |
CalulateEdus/Calculate_edus | workflowId | Calculate_edus.py | 9 | 🔒 |
ExportToShapefile/Export_to_shapefile | workflowId → shapefiles | Export_to_shapefile.py | 9 | 🔒 |
CalculateEstimateInputs/Calculate_estimate_inputs | workflowId, graphMode, sdeVersion → resultJson | Calculate_estimate_inputs.py | Statistics | 🔒 |
Project management
| Service / task | Inputs → outputs | Script | Used in | Contract |
|---|---|---|---|---|
CloneWorkflow/Clone_workflow | workflowId, projectName, projectDescription → newWorkflowId | Clone_workflow.py | Clone | 🔒 |
DeleteMultipleProject/Delete_multiple_projects | workflowsId | Delete_multiple_projects.py | List | 🔒 |
Tools not used by the application
CopyToLocal: copies a project to a local geodatabase for debugging.- Scripts
Second_1_on_edus.pyandSecond_1_priori.py: experimental route variants, not published.
Script structure
All entry scripts follow the same pattern:
- Parameters. Read by index (
arcpy.GetParameter(0),GetParameter(1), …). Order must match the published tool. - Data access. Project data elements from
UtilsUN.vars(e.g.workflows_fc,sewer_line_fc). Each wraps the corresponding service URL. - Local calculation. Copy project data to a temporary geodatabase (
Manager), compute with ArcPy or NetworkX, push results to the service. - Cleanup. Update project status when needed and close the edit session.
UtilsUN module | Responsibility |
|---|---|
vars.py | Configuration: loads credentials from .env, picks environment, builds service URLs, defines subtype and domain codes. |
elements_rest.py | Service access: queries and edits filtered by project, Utility Network operations. |
manager.py | Temporary workspace per run. |
workflow_registration.py | Project request and HubSpot registration. |
connection_functions*.py, parcel_functions.py, street_functions.py | Laterals, parcels (Lightbox), streets. |
network_cleanup.py | Network cleanup after main collector insertion. |
elevation_raster.py | Elevation for EDU and estimates. |
hubspot.py, gp_errors.py, functions.py | CRM integration, error handling, utilities. |
Environment
| Item | Staging (documented) |
|---|---|
| Parameters | Params/params_staging.py |
| Data services | AWWSP_UN/Utility_Network, AWWSP_UN/Utility_Network___Auxiliar |
| Geoprocessing | Folder AWWSP_UN |
Environment is not inferred from where a service is published: it is fixed in UtilsUN/vars.py (environment = "STAGING").
Adding a geoprocess
- Script. Create
Scripts Utiliy Network/<Task_name>.pyfollowing the structure above. Access data only throughUtilsUN.vars. - Tool. Add it to
AWWSP Dev/Steps UN.atbxwith parameters in the same order the script reads them. - Publish to staging. Publish as an asynchronous service in folder
AWWSP_UN. Confirmvars.pyenvironment first. - Application. Register the service as an application utility and select it in widget configuration. In code, submit through the shared auth module and respect the running-job lock.
- Documentation. Update this documentation.
6. ArcGIS Pro
In brief: project Geoproccess/AWWSP Dev/AWWSP.aprx is the preparation and publishing environment. From it you maintain calculation tools, publish services, and inspect data. The web application does not use this project directly—it uses published services.
Annex: ArcGIS Pro inventory
Toolboxes
| Toolbox | Status | Notes |
|---|---|---|
Steps UN.atbx | In use (15 tools) | Source of services in folder AWWSP_UN. |
Steps classical.atbx | Broken reference | Still registered in the project; file no longer exists. |
Many tools point at scripts via paths from another machine (C:\Repo\DIG_Python\…). On a new machine, relink them to Geoproccess/Scripts Utiliy Network.
Maps
| Map | Contents | Use |
|---|---|---|
| Utility Network - Web Map | Layers from Utility_Network and Utility_Network___Auxiliar services | Desktop view of what users see in the app. Useful for debugging. |
| Utility Network | Sanitary sewer network read directly from awwsp_un | Review Utility Network model. |
| Utility Network - Auxiliar | Project tables and layers (boundary, parcels, EDU, costs…) | Source of the auxiliary service. |
| Roads | OpenStreetMap roads (awwsp_roads) | Street source for initial calculation. |
| Create Workflow | Collection point and boundaries from the legacy model (awwsp) | Reference to older onboarding; the app uses published services. |
Database connections
| Server | Database | User | Maps |
|---|---|---|---|
| GIS server on Azure | awwsp_un | dig | Utility Network, Utility Network - Auxiliar |
| GIS server on Azure | awwsp | sde | Create Workflow |
localhost | awwsp_roads | sde | Roads |
Connection files live under Local connections/ and Remote connections/. Scripts connect directly only to the roads database (Remote connections/Awwsp Roads.sde). Everything else goes through services.
Relationship to services
- Geoprocessing. Tools in
Steps UN.atbxpublish as GP services underAWWSP_UN. - Data. Maps Utility Network and Utility Network - Auxiliar are the source of data services. Scripts reach them by layer index (
/FeatureServer/2,/5,/12, …), so when republishing, preserve layer order. The full mapping is in 7. Data.
7. Data
In brief: data lives in enterprise geodatabase awwsp_un (PostgreSQL, owner dig). There are two groups: the Utility Network (sanitary sewer network) and project data (boundary, parcels, EDU…), plus several management tables. All data for one project links through workflowid.
Source: schema export AWWSP Dev/Awwsp UN_ExportXMLWorkspaceD.xml.
Diagrams: Data model · Data flow · Annex with fields, domains, subtypes: geodatabase
Utility Network (UtilityNetwork)
The Utility Network was built with ArcGIS Pro 3.4.3 and uses branch versioning, so it can only be edited through its services. Classes the platform uses:
| Class | Types (asset groups and asset types) | Platform use |
|---|---|---|
SewerLine | Gravity Main (street main; hidden main used as force main) · Force Main · Lateral | Auxiliary streets, main collector, laterals |
SewerDevice | Treatment (collection point) · Service Connection (commercial, industrial, residential) | Collection / discharge point and service connections |
SewerJunction | Fitting (tee, cross) | Connection tees on the main |
The model includes other classes the platform does not use directly: SewerAssembly, SewerSubnetLine, Structure classes, and internal Utility Network tables.
Project data (ProjectData) and management tables
| Table | Type | Contents |
|---|---|---|
Workflow | Table | The project: name, client, contact, package (package_id), assignee (assigned_user), status, current step, and whether connections are calculated. Attachments store the preview image. |
Boundary | Polygon | Project limit. Referenced by perimeterid. |
Parcel | Polygon | Project parcels with land use, EDU, and linked service connection. |
Edus | Point | EDU points along streets. |
Route | Line | Main collector route candidates. |
LineCosts, ConstructionParameters | Table | Costs and construction parameters for step 8. |
Package | Table | Contracted package catalog. |
WorkflowUser | Table | Users assignable to a project. |
Published services
| Service | Contents |
|---|---|
AWWSP_UN/Utility_Network | Utility Network |
AWWSP_UN/Utility_Network___Auxiliar | Project data and management tables |
Both services require authentication.
Who uses each table
| Table | Service layer | Variable in UtilsUN/vars.py | Geoprocesses that use it | Web editing |
|---|---|---|---|---|
SewerDevice | Utility_Network/2 | sewer_device_url (collection point and connections) | Request, initial calc, connections, EDU, routes, update, reset, clone, delete, export, statistics | Map editor |
SewerJunction | Utility_Network/4 | sewer_junction_url (tees) | Initial calc, connections, EDU, update, reset, clone, delete, statistics | Map editor |
SewerLine | Utility_Network/5 | sewer_line_url (auxiliary streets, main, laterals) | Most calculation processes | Map editor |
Edus | Utility_Network___Auxiliar/0 | edu_points_url | EDU, connections, main collector, update, reset, clone, delete, export | Read-only (step 9) |
Parcel | Utility_Network___Auxiliar/4 | parcels_project_url | Initial calc, update, reset, EDU, clone, delete, export, statistics | Map editor (step 6) |
Boundary | Utility_Network___Auxiliar/5 | perimeter_url | Request, initial calc, update, reset, EDU, clone, delete, export | Map editor (triggers UpdateNetwork) |
Workflow | Utility_Network___Auxiliar/6 | workflows_url | All that change project status, plus clone, delete, export | Current step and assignee |
ConstructionParameters | Utility_Network___Auxiliar/12 | construction_parameters_url | Clone, delete | Step 8 |
LineCosts | Utility_Network___Auxiliar/13 | line_costs_url | Clone, delete | Step 8 |
WorkflowUser | Utility_Network___Auxiliar/14 | — | — | Read-only |
Exact table-by-table and script-by-script links are in the geodatabase annex.
External sources
| Source | Use |
|---|---|
| Lightbox | Cadastral parcels inside the project boundary. |
OpenStreetMap (awwsp_roads.sde.roads_usa_osm) | Streets for initial calculation; the only direct database read. |
| USGS Wetlands | Wetlands as a reference layer on the map. |
| USGS elevation service | Ground elevation for EDU points. Geoprocess CalulateEdus queries the USGS Elevation Point Query Service for each point. |
| HubSpot | Commercial contact when creating a project in production. |
8. Successful implementations
In brief: the same wastewater planning workflow has been delivered as two products. ARXInfrastructure is the branded application shown below, from location through EDU export. DIG (Digital Infrastructure) is an earlier delivery of the Waste Water Planning Tool; the frames come from a recorded walkthrough of one project, from map extent through the hydraulic profile.
ARXInfrastructure
The platform is the Wastewater Planning & Design System (WPDS). ARXInfrastructure is one branded deployment of that workflow. A project starts with a location, a drawn boundary, and a collection point, then goes to engineering. Design continues with connections, parcels, the main collector, costs, and EDU.
These frames are the same sequence used in 4. Workflow. Names, emails, and phone numbers are redacted.
DIG
The product on screen is Digital Infrastructure — Automated Waste Water System Planning (Waste Water Planning Tool). The walkthrough covers one project: set the map extent, draw the boundary, place the collection point, send the request, generate laterals, choose a main route, then review segments, the hydraulic grade line, and design-flow parameters.
Experience Builder applications
Pages, data sources, and widget coordination for each app under ExB/server/public/apps.
Updated 2026-09-29.
App 1 — Staging | Wastewater Planning & Design System (WPDS)
Experience Builder 1.17.0 · ExB/server/public/apps/1
Pages
| Page | Custom widgets |
|---|---|
| Create workflow | Create workflow (create-workflow), Stepper Create (stepper), Stepper Create (SMALL) (stepper), Create workflow (floating) (create-workflow-floating) |
| Workflow manager | Data Statistics (data-statistics), Workflow Controller (workflow-controller), Workflow Project (workflow-project), Advanced editing (advanced-editing), Clone Workflow (clone-workflow), Stepper Workflow (stepper), Title Project (title-project) |
| List projects | List projects (list-projects) |
| Init workflow | Stepper Existing Init (stepper), Init Workflow (init-workflow) |
Data sources
| Id | Type | Portal item | Portal |
|---|---|---|---|
| dataSource_6 | WEB_MAP | 8c5593220f234638bd9036ed9bb22a70 | https://<wpds-server>/portal |
| dataSource_11 | WEB_MAP | 6228c09e2bc84a3eaf6f59ba51a582b2 | https://<wpds-server>/portal |
Widget messages
| From | Message | To | Action |
|---|---|---|---|
| Advanced editing | DATA_RECORD_SET_CHANGE | Workflow Project | network |
Widget references in configuration
| Widget | Config key | Referenced widget |
|---|---|---|
| Stepper Create | widgetToControl | Create workflow |
| Stepper Create | initWorkflowWidgetId | Init Workflow |
| Stepper Workflow | widgetToControl | Workflow Project |
| Stepper Workflow | initWorkflowWidgetId | Init Workflow |
| Advanced editing | workflowControllerWidgetId | Workflow Controller |
| Stepper Existing Init | widgetToControl | Init Workflow |
| Stepper Create (SMALL) | widgetToControl | Create workflow (floating) |
| Stepper Create (SMALL) | initWorkflowWidgetId | Init Workflow |
ArcGIS Pro projects
Maps, layers, toolboxes, and connections for .aprx projects (read with arcpy 3.5).
Updated 2026-09-29.
Geoproccess/AWWSP Dev/AWWSP.aprx
Toolboxes: Geoproccess/AWWSP Dev/Steps UN.atbx, ../DIG/AWWSP Geoproccess/AWWSP Dev/Steps classical.atbx
Databases: D:\WWS\Geoproccess\AWWSP Dev\AWWSP.gdb, .\Roads\Roads full USA - TIGER.gdb, D:\WWS\Geoproccess\AWWSP Dev\Remote connections\Awwsp Roads.sde, D:\WWS\Geoproccess\AWWSP Dev\Remote connections\Awwsp UN - Admin.sde, D:\WWS\Geoproccess\AWWSP Dev\Remote connections\Awwsp UN.sde, ..\..\..\Roads_USA_cleaned.gdb
Enterprise connections used by layers
| Server | Instance | Database | Version | User | Layers | Maps |
|---|---|---|---|---|---|---|
| <gis-server> | sde:postgresql:<gis-server> | awwsp_un | sde.DEFAULT | dig | 16 | Utility Network, Utility Network - Auxiliar |
| <gis-server> | sde:postgresql:<gis-server> | awwsp | sde.DEFAULT | sde | 14 | Create Workflow |
| localhost | sde:postgresql:localhost | awwsp_roads | sde.DEFAULT | sde | 1 | Roads |
Connection files
Local connections/Awwsp EGDB Remote.sde, Local connections/Awwsp Roads.sde, Local connections/Awwsp UN - Admin.sde, Local connections/Awwsp UN.sde, Remote connections/Awwsp Roads.sde, Remote connections/Awwsp UN - Admin.sde, Remote connections/Awwsp UN.sde
Maps
| Map | Layers | Tables | Source kinds |
|---|---|---|---|
| Utility Network | 12 | 4 | enterprise-gdb, service |
| Utility Network - Web Map | 16 | 9 | group, service |
| Create Workflow | 4 | 1 | enterprise-gdb, service |
| Roads | 3 | 1 | enterprise-gdb, service |
| Utility Network - Auxiliar | 6 | 5 | enterprise-gdb, service |
Utility Network — layers
| Layer | Source kind | Dataset / origin |
|---|---|---|
| Sewer Device | enterprise-gdb | awwsp_un.dig.SewerDevice |
| Sewer Assembly | enterprise-gdb | awwsp_un.dig.SewerAssembly |
| Sewer Junction | enterprise-gdb | awwsp_un.dig.SewerJunction |
| Sewer Line | enterprise-gdb | awwsp_un.dig.SewerLine |
| Sewer Subnet Line | enterprise-gdb | awwsp_un.dig.SewerSubnetLine |
| Structure Junction | enterprise-gdb | awwsp_un.dig.StructureJunction |
| Structure Line | enterprise-gdb | awwsp_un.dig.StructureLine |
| Structure Boundary | enterprise-gdb | awwsp_un.dig.StructureBoundary |
| UtilityNetwork Utility Network | enterprise-gdb | awwsp_un.dig.UtilityNetwork |
| UtilityNetwork Utility Network\Dirty Areas | enterprise-gdb | awwsp_un.dig.UN_41_DirtyAreas |
| World Topographic Map | service | https://<external-service> |
| World Hillshade | service | https://<external-service>/World_Hillshade |
Utility Network - Web Map — layers
| Layer | Source kind | Dataset / origin |
|---|---|---|
| Utility Network\Sewer Device | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/2 |
| Utility Network\Sewer Assembly | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/3 |
| Utility Network\Sewer Junction | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/4 |
| Utility Network\Sewer Line | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/5 |
| Utility Network\Sewer Subnet Line | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/6 |
| Utility Network\Structure Junction | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/7 |
| Utility Network\Structure Line | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/8 |
| Utility Network\Structure Boundary | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/9 |
| Utility Network\UtilityNetwork Utility Network | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer/0 |
| Utility Network\UtilityNetwork Utility Network\Dirty Areas | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network/FeatureServer;VERSION=sde.DEFAULT;VERSIONGUID={BD3F4817-9A00-41AC-B0CC-58F78DBAE0A1}/1 |
| Utility Network _ Auxiliar\Edus | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network___Auxiliar/FeatureServer;VERSION=sde.DEFAULT;VERSIONGUID={BD3F4817-9A00-41AC-B0CC-58F78DBAE0A1}/0 |
| Utility Network _ Auxiliar\Route | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network___Auxiliar/FeatureServer;VERSION=sde.DEFAULT;VERSIONGUID={BD3F4817-9A00-41AC-B0CC-58F78DBAE0A1}/3 |
| Utility Network _ Auxiliar\Parcel | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network___Auxiliar/FeatureServer;VERSION=sde.DEFAULT;VERSIONGUID={BD3F4817-9A00-41AC-B0CC-58F78DBAE0A1}/4 |
| Utility Network _ Auxiliar\Boundary | service | https://<wpds-server>/server/rest/services/AWWSP_UN/Utility_Network___Auxiliar/FeatureServer;VERSION=sde.DEFAULT;VERSIONGUID={BD3F4817-9A00-41AC-B0CC-58F78DBAE0A1}/5 |
| World Topographic Map | service | https://<external-service> |
| World Hillshade | service | https://<external-service>/World_Hillshade |
Create Workflow — layers
| Layer | Source kind | Dataset / origin |
|---|---|---|
| Collection Point | enterprise-gdb | awwsp.sde.WWCollectionPoint |
| Boundaries | enterprise-gdb | awwsp.sde.Boundaries |
| World Topographic Map | service | https://<external-service> |
| World Hillshade | service | https://<external-service>/World_Hillshade |
Roads — layers
| Layer | Source kind | Dataset / origin |
|---|---|---|
| Roads | enterprise-gdb | awwsp_roads.sde.roads_usa_osm |
| Hybrid Reference Layer | service | https://<external-service> |
| World Imagery | service | https://<external-service>/World_Imagery |
Utility Network - Auxiliar — layers
| Layer | Source kind | Dataset / origin |
|---|---|---|
| Edus | enterprise-gdb | awwsp_un.dig.Edus |
| Route | enterprise-gdb | awwsp_un.dig.Route |
| Parcel | enterprise-gdb | awwsp_un.dig.Parcel |
| Boundary | enterprise-gdb | awwsp_un.dig.Boundary |
| World Topographic Map | service | https://<external-service> |
| World Hillshade | service | https://<external-service>/World_Hillshade |
Geodatabase schema
Geodatabase structure from the XML schema export, and how each table links to services, code, and maps.
Updated 2026-09-29.
Geoproccess/AWWSP Dev/Awwsp UN_ExportXMLWorkspaceD.xml
Version sde.DEFAULT · database awwsp_un · owner dig
Feature datasets
| Feature dataset | Contents |
|---|---|
| UtilityNetwork | StructureJunction, SewerLine, ServiceTerritory, StructureLine, StructureBoundary, SewerJunction, SewerDevice, SewerSubnetLine, UtilityNetwork, SewerAssembly |
| ProjectData | Boundary, Edus, Route, Parcel |
Tables and feature classes
| Name | Kind | Feature dataset | Geometry | Fields | Subtypes | Versioned | Service layer | Code variable | Scripts using it | Pro maps |
|---|---|---|---|---|---|---|---|---|---|---|
SewerEdgeObject | Table | — | — | 11 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
StructureJunctionObject | Table | — | — | 10 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
StructureJunction | Feature class | UtilityNetwork | Point | 11 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
SewerLine | Feature class | UtilityNetwork | Polyline | 17 | ASSETGROUP: 0=Unknown, 1=Gravity Main, 2=Force Main, 3=Lateral | yes | AWWSP_UN/Utility_Network/5 | sewer_line_url | Calculate_connections, Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Second_2, Second_main_line, Update_network, connection_functions, connection_functions_assoc, network_cleanup | Utility Network, Utility Network - Web Map |
ServiceTerritory | Feature class | UtilityNetwork | Polygon | 9 | — | yes | — | — | — | — |
StructureLine | Feature class | UtilityNetwork | Polyline | 13 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
StructureBoundary | Feature class | UtilityNetwork | Polygon | 13 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
SewerJunction | Feature class | UtilityNetwork | Point | 12 | ASSETGROUP: 0=Unknown, 1=Fitting | yes | AWWSP_UN/Utility_Network/4 | sewer_junction_url | Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Reset_network, Second_1_on_edus, Second_1_priori, Update_network, connection_functions, connection_functions_assoc, network_cleanup | Utility Network, Utility Network - Web Map |
SewerDevice | Feature class | UtilityNetwork | Point | 19 | ASSETGROUP: 0=Unknown, 1=Treatment, 2=Service Connection | yes | AWWSP_UN/Utility_Network/2 | sewer_device_url | Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Create_workflow, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Second_main_line, Update_network, connection_functions, connection_functions_assoc, network_cleanup | Utility Network, Utility Network - Web Map |
SewerSubnetLine | Feature class | UtilityNetwork | Polyline | 14 | TIERNAME: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
SewerAssembly | Feature class | UtilityNetwork | Point | 10 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
WorkflowUser | Table | — | — | 9 | — | yes | — | — | — | Utility Network - Auxiliar, Utility Network - Web Map |
StructureEdgeObject | Table | — | — | 11 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
Package | Table | — | — | 12 | — | yes | — | — | — | Roads, Utility Network - Auxiliar, Utility Network - Web Map |
Boundary | Feature class | ProjectData | Polygon | 12 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/5 | perimeter_url | Calculate_edus, Calculate_initial_network, Clone_workflow, Copy_to_local, Create_workflow, Export_to_shapefile, Reset_network, Update_network | Create Workflow, Utility Network - Auxiliar, Utility Network - Web Map |
Edus | Feature class | ProjectData | Point | 18 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/0 | edu_points_url | Calculate_connections, Calculate_edus, Clone_workflow, Export_to_shapefile, Reset_network, Second_2, Second_main_line, Update_network | Utility Network - Auxiliar, Utility Network - Web Map |
Route | Feature class | ProjectData | Polyline | 11 | — | yes | — | — | — | Utility Network - Auxiliar, Utility Network - Web Map |
Parcel | Feature class | ProjectData | Polygon | 18 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/4 | parcels_project_url | Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Export_to_shapefile, Reset_network, Second_1_on_edus, Second_1_priori, Update_network, connection_functions, connection_functions_assoc | Utility Network - Auxiliar, Utility Network - Web Map |
LineCosts | Table | — | — | 35 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/13 | line_costs_url | Clone_workflow | Utility Network - Auxiliar, Utility Network - Web Map |
ConstructionParameters | Table | — | — | 12 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/12 | construction_parameters_url | Clone_workflow | Utility Network - Auxiliar, Utility Network - Web Map |
Workflow__ATTACH | Table | — | — | 11 | — | yes | — | — | — | — |
SewerJunctionObject | Table | — | — | 15 | ASSETGROUP: 0=Unknown | yes | — | — | — | Utility Network, Utility Network - Web Map |
Workflow | Table | — | — | 21 | — | yes | AWWSP_UN/Utility_Network___Auxiliar/6 | workflows_url | Calculate_connections, Calculate_edus, Calculate_initial_network, Clone_workflow, Copy_to_local, Create_workflow, Export_to_shapefile, Reset_network, Update_network | Utility Network - Auxiliar, Utility Network - Web Map |
UN_41_TraceConfigurations | Table | — | — | 12 | — | no | — | — | — | — |
UN_41_Templates | Table | — | — | 7 | — | no | — | — | — | — |
UN_41_Rules | Table | — | — | 16 | — | yes | — | — | — | — |
Relationships
| Name | Origin | Destination | Cardinality | Composite | Attachments |
|---|---|---|---|---|---|
| Workflow__ATTACHREL | Workflow | Workflow__ATTACH | OneToMany | yes | yes |
Utility Network UtilityNetwork
Created with ArcGIS Pro 3.4.3 · schema generation 7 · branch versioned: yes · service territory ServiceTerritory
| Domain network | Tier | Class | Usage | Asset groups (asset types) |
|---|---|---|---|---|
| Structure | esriTDNone | StructureJunction | StructureJunction | Unknown (Unknown) |
| Structure | esriTDNone | StructureBoundary | StructureBoundary | Unknown (Unknown) |
| Structure | esriTDNone | StructureJunctionObject | StructureJunctionObject | Unknown (Unknown) |
| Structure | esriTDNone | StructureLine | StructureLine | Unknown (Unknown) |
| Structure | esriTDNone | StructureEdgeObject | StructureEdgeObject | Unknown (Unknown) |
| Sewer | esriTDHierarchical | SewerDevice | Device | Unknown (Unknown); Treatment (Treatment Collection Point); Service Connection (Commercial Service Connection, Industrial Service Connection, Residential Service Connection) |
| Sewer | esriTDHierarchical | SewerAssembly | Assembly | Unknown (Unknown) |
| Sewer | esriTDHierarchical | SewerJunction | Junction | Unknown (Unknown); Fitting (Tee, Cross) |
| Sewer | esriTDHierarchical | SewerJunctionObject | JunctionObject | Unknown (Unknown) |
| Sewer | esriTDHierarchical | SewerLine | Line | Unknown (Unknown); Gravity Main (Sanitary Collector, Hidden Collector - Used as Force main); Force Main (Sanitary Force Main); Lateral (Sanitary Lateral) |
| Sewer | esriTDHierarchical | SewerSubnetLine | SubnetLine | Unknown () |
| Sewer | esriTDHierarchical | SewerEdgeObject | EdgeObject | Unknown (Unknown) |
Network attributes: Source ID, Terminal ID, Asset group, Asset type, Is subnetwork controller, Tier name, Shape length, Position from, Position to, Flow direction
Terminal configurations: Single terminal
Domains
| Domain | Type | Values | Used in |
|---|---|---|---|
| Asset_Type_Sewer_Device_Service_Connection | SmallInteger | 1=Commercial Service Connection, 2=Industrial Service Connection, 3=Residential Service Connection | SewerDevice.assettype [Service Connection] |
| ErrorType | String | 2=Through, 1=Edits, 3=Intentional | Parcel.error |
| UtilityNetwork_6_FlowDirection | SmallInteger | 1=With digitized, 2=Against digitized, 3=Indeterminate | SewerEdgeObject.flowdirection, SewerEdgeObject.flowdirection [Unknown], SewerLine.flowdirection, SewerLine.flowdirection [Force Main], SewerLine.flowdirection [Gravity Main], SewerLine.flowdirection [Lateral], SewerLine.flowdirection [Unknown], StructureEdgeObject.flowdirection, … |
| UtilityNetwork_41_UnknownAssetType | SmallInteger | 0=Unknown | SewerAssembly.assettype [Unknown], SewerDevice.assettype [Unknown], SewerEdgeObject.assettype [Unknown], SewerJunction.assettype [Unknown], SewerJunctionObject.assettype [Unknown], SewerLine.assettype [Unknown], StructureBoundary.assettype [Unknown], StructureEdgeObject.assettype [Unknown], … |
| UtilityNetwork_41_IsConnected | SmallInteger | 0=False, 1=True, 2=Unknown | SewerDevice.isconnected, SewerDevice.isconnected [Service Connection], SewerDevice.isconnected [Treatment], SewerDevice.isconnected [Unknown], SewerEdgeObject.isconnected, SewerEdgeObject.isconnected [Unknown], SewerJunction.isconnected, SewerJunction.isconnected [Fitting], … |
| Asset_Type_Sewer_Junction_Fitting | SmallInteger | 1=Tee, 2=Cross | SewerJunction.assettype [Fitting] |
| UtilityNetwork_41_IsSubnetworkController | SmallInteger | 0=False, 1=True | SewerDevice.issubnetworkcontroller, SewerDevice.issubnetworkcontroller [Service Connection], SewerDevice.issubnetworkcontroller [Treatment], SewerDevice.issubnetworkcontroller [Unknown], SewerJunctionObject.issubnetworkcontroller, SewerJunctionObject.issubnetworkcontroller [Unknown] |
| Asset_Type_Sewer_Device_Treatment | SmallInteger | 1=Treatment Collection Point | SewerDevice.assettype [Treatment] |
| Asset_Type_Sewer_Line_Gravity_Main | SmallInteger | 1=Sanitary Collector, 2=Hidden Collector - Used as Force main | SewerLine.assettype [Gravity Main] |
| YesNo | SmallInteger | 0=No, 1=Yes | Package.active, Parcel.is_excluded, Workflow.calculated_connections |
| Asset_Type_Sewer_Line_Force_Main | SmallInteger | 1=Sanitary Force Main | SewerLine.assettype [Force Main] |
| UtilityNetwork_41_TerminalNames | SmallInteger | 0=None, 1=Single Terminal | SewerLine.fromdeviceterminal, SewerLine.fromdeviceterminal [Force Main], SewerLine.fromdeviceterminal [Gravity Main], SewerLine.fromdeviceterminal [Lateral], SewerLine.fromdeviceterminal [Unknown], SewerLine.todeviceterminal, SewerLine.todeviceterminal [Force Main], SewerLine.todeviceterminal [Gravity Main], … |
| UtilityNetwork_41_TierName | SmallInteger | 0=Unknown | SewerDevice.tiername, SewerDevice.tiername [Service Connection], SewerDevice.tiername [Treatment], SewerDevice.tiername [Unknown], SewerJunctionObject.tiername, SewerJunctionObject.tiername [Unknown] |
| Asset_Type_Sewer_Line_Lateral | SmallInteger | 1=Sanitary Lateral | SewerLine.assettype [Lateral] |
| UtilityNetwork_41_IsContentVisible | SmallInteger | 0=False, 1=True | — |
| UtilityNetwork_41_AssociationStatus | SmallInteger | 0=None, 1=Container, 2=Structure, 4=Content, 5=Content and Container, 6=Content and Structure, 8=Attachment, 9=Attachment and Container, 10=Attachment and Structure, 12=Attachment and Content, 13=Attachment and Content and Container, 14=Attachment and Content and Structure, 16=Visible Content, 17=Vi | SewerAssembly.associationstatus, SewerAssembly.associationstatus [Unknown], SewerDevice.associationstatus, SewerDevice.associationstatus [Service Connection], SewerDevice.associationstatus [Treatment], SewerDevice.associationstatus [Unknown], SewerEdgeObject.associationstatus, SewerEdgeObject.associationstatus [Unknown], … |
| UtilityNetwork_41_FeatureSourceID | SmallInteger | 0=Unknown, 1=Association, 2=System Junction, 3=System Junction Object, 4=Structure Junction, 5=Structure Line, 6=Structure Boundary, 7=Structure Junction Object, 8=Structure Edge Object, 9=Sewer Device, 10=Sewer Line, 11=Sewer Assembly, 12=Sewer Junction, 13=Sewer Subnet Line, 14=Sewer Junction Obje | — |
| UtilityNetwork_41_IsDeleted | SmallInteger | 0=False, 1=True | — |
| UtilityNetwork_41_TierTopologyType | SmallInteger | 1=Radial, 2=Mesh | — |
| UtilityNetwork_41_IsDirty | SmallInteger | 0=Clean, 1=Dirty, 2=Invalid | SewerSubnetLine.isdirty, SewerSubnetLine.isdirty [Unknown] |
SewerEdgeObject — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| isconnected | SmallInteger | Is connected | UtilityNetwork_41_IsConnected | no | 2 |
| flowdirection | SmallInteger | Flow direction | UtilityNetwork_6_FlowDirection | yes | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
StructureJunctionObject — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| subnetworkname | String | Supported subnetwork name | — | no | 2000 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
StructureJunction — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| subnetworkname | String | Supported subnetwork name | — | no | 2000 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
SewerLine — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| isconnected | SmallInteger | Is connected | UtilityNetwork_41_IsConnected | no | 2 |
| fromdeviceterminal | SmallInteger | From device terminal | UtilityNetwork_41_TerminalNames | no | 2 |
| todeviceterminal | SmallInteger | To device terminal | UtilityNetwork_41_TerminalNames | no | 2 |
| flowdirection | SmallInteger | Flow direction | UtilityNetwork_6_FlowDirection | yes | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| workflowid | GUID | workflowid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
| fclass | String | fclass | — | yes | 80 |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
ServiceTerritory — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | OBJECTID | — | no | 8 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | SHAPE | — | yes | 8 |
| st_area(shape) | Double | st_area(shape) | — | yes | — |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
StructureLine — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| subnetworkname | String | Supported subnetwork name | — | no | 2000 |
| flowdirection | SmallInteger | Flow direction | UtilityNetwork_6_FlowDirection | yes | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
StructureBoundary — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| subnetworkname | String | Supported subnetwork name | — | no | 2000 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
| st_area(shape) | Double | st_area(shape) | — | yes | — |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
SewerJunction — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| isconnected | SmallInteger | Is connected | UtilityNetwork_41_IsConnected | no | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| workflowid | GUID | workflowid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
SewerDevice — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| issubnetworkcontroller | SmallInteger | Is subnetwork controller | UtilityNetwork_41_IsSubnetworkController | no | 2 |
| isconnected | SmallInteger | Is connected | UtilityNetwork_41_IsConnected | no | 2 |
| subnetworkcontrollername | String | Subnetwork controller name | — | no | 2000 |
| tiername | SmallInteger | Tier name | UtilityNetwork_41_TierName | no | 2 |
| tierrank | Integer | Tier rank | — | no | 4 |
| terminalconfiguration | String | Terminal path | — | no | 128 |
| globalid | GlobalID | Global ID | — | no | 38 |
| workflowid | GUID | workflowid | — | no | 38 |
| error | SmallInteger | error | — | yes | 2 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
| connection_id | GUID | Connection ID | — | yes | 38 |
SewerSubnetLine — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| subnetworkname | String | Subnetwork name | — | no | 64 |
| isdirty | SmallInteger | Status | UtilityNetwork_41_IsDirty | no | 2 |
| tiername | SmallInteger | Tier name | — | no | 2 |
| subnetworkcontrollernames | String | Subnetwork controller names | — | no | 1073741822 |
| lastupdatesubnetwork | Date | Last update subnetwork | — | yes | 8 |
| lastackexportsubnetwork | Date | Last ack export subnetwork | — | yes | 8 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
SewerAssembly — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | Shape | — | no | 8 |
WorkflowUser — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | OBJECTID | — | no | 4 |
| first_name | String | name | — | yes | 255 |
| portal_user_name | String | portal_user_name | — | yes | 255 |
| last_name | String | last_name | — | yes | 255 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
StructureEdgeObject — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| subnetworkname | String | Supported subnetwork name | — | no | 2000 |
| flowdirection | SmallInteger | Flow direction | UtilityNetwork_6_FlowDirection | yes | 2 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
Package — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | OBJECTID | — | no | 4 |
| name | String | Name | — | yes | 255 |
| type | String | Type | — | yes | 255 |
| description | String | Description | — | yes | 255 |
| cost | Integer | Cost | — | yes | 4 |
| active | SmallInteger | Active | YesNo | yes | 2 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| success_type | SmallInteger | Success Type | — | yes | 2 |
Boundary — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| id | GUID | ID | — | yes | 38 |
| status | String | Status | — | yes | 255 |
| step | SmallInteger | Step | — | yes | 2 |
| globalid | GlobalID | globalid | — | no | 38 |
| shape | Geometry | shape | — | yes | 8 |
| st_area(shape) | Double | st_area(shape) | — | yes | — |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
Edus — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| is_subline | SmallInteger | Is subline | — | yes | 2 |
| accum_length | Double | Acummulate Length | — | yes | 8 |
| line_length | Double | Line Length | — | yes | 8 |
| level | SmallInteger | level | — | yes | 2 |
| line_guid | GUID | line_guid | — | yes | 38 |
| point_guid | GUID | point_guid | — | yes | 38 |
| parent_point | GUID | parent_point | — | yes | 38 |
| z | Double | Z | — | yes | 8 |
| edus | Integer | edus | — | yes | 4 |
| acumm_edus | Integer | acumm_edus | — | yes | 4 |
| workflowid | GUID | Workflow Id | — | yes | 38 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | shape | — | yes | 8 |
Route — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| facilityid | Integer | FacilityID | — | yes | 4 |
| total_length | Double | Total_Length | — | yes | 8 |
| workflowid | GUID | workflowid | — | yes | 38 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | shape | — | yes | 8 |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
Parcel — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| edu | Integer | EDU | — | yes | 4 |
| workflowid | GUID | Workflow ID | — | yes | 38 |
| error | String | Error | ErrorType | yes | 255 |
| landusedes | String | Land usedes | — | yes | 255 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| shape | Geometry | shape | — | yes | 8 |
| parcel_apn | String | Parcel APN | — | yes | 255 |
| is_excluded | SmallInteger | Excluded parcel | YesNo | yes | 2 |
| service_connection_id | GUID | service_connection_id | — | yes | 38 |
| area_m | Double | Area (in meters) | — | yes | 8 |
| area_acres | Double | Area (in acres) | — | yes | 8 |
| st_area(shape) | Double | st_area(shape) | — | yes | — |
| st_length(shape) | Double | st_length(shape) | — | yes | — |
LineCosts — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| nominal_dia | Double | Nominal Diameter | — | yes | 8 |
| hdpe_ips_dr9 | Double | HDPE IPS DR9 | — | yes | 8 |
| hdpe_ips_dr11 | Double | HDPE IPS DR11 | — | yes | 8 |
| hdpe_dips_dr11 | Double | HDPE DIPS DR11 | — | yes | 8 |
| hdpe_ips_dr135 | Double | HDPE IPS DR13.5 | — | yes | 8 |
| pvc_sdr21 | Double | PVC SDR21 | — | yes | 8 |
| pvc_sdr26 | Double | PVC SDR26 | — | yes | 8 |
| pvc_sdr25 | Double | PVC SDR25 | — | yes | 8 |
| pvc_sch40 | Double | PVC Sch40 | — | yes | 8 |
| min_ex | Double | Min Ex | — | yes | 8 |
| pipe_bedding | Double | Pipe Bedding | — | yes | 8 |
| ac_class_a | Double | AC Class A | — | yes | 8 |
| three_quarter_class_a | Double | 3/4" Class A | — | yes | 8 |
| three_quarter_class_b | Double | 3/4" Class B | — | yes | 8 |
| select_native_class_b | Double | Select/Native Class B | — | yes | 8 |
| native_select_class_c | Double | Native/Select Class C | — | yes | 8 |
| trench_class_a_mid_range | Double | Trench Class A Mid Range | — | yes | 8 |
| trench_class_b_mid_range | Double | Trench Class B Mid Range | — | yes | 8 |
| trench_class_c_mid_range | Double | Trench Class C Mid Range | — | yes | 8 |
| class_a_pvc_sdr21 | Double | Class A - PVC SDR21 | — | yes | 8 |
| class_a_pvc_sdr26 | Double | Class A - PVC SDR26 | — | yes | 8 |
| class_a_hdpe_dips_dr11 | Double | Class A - HDPE DIPS DR11 | — | yes | 8 |
| class_b_pvc_sdr26 | Double | Class B - PVC SDR26 | — | yes | 8 |
| class_b_hdpe_dips_dr11 | Double | Class B - HDPE DIPS DR11 | — | yes | 8 |
| class_c_pvc_sdr21_26 | Double | Class C - PVC SDR21/26 | — | yes | 8 |
| class_c_hdpe_dips_dr11 | Double | Class C - HDPE DIPS DR11 | — | yes | 8 |
| dr11_general_assumed | Double | DR11 General Assumed | — | yes | 8 |
| workflowid | GUID | Workflow ID | — | yes | 38 |
| id | Integer | Id | — | yes | 4 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
ConstructionParameters — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | objectid | — | no | 4 |
| label | String | Parameter | — | yes | 255 |
| value | Double | Value | — | yes | 8 |
| unit | String | Unit | — | yes | 50 |
| description | String | Description | — | yes | 255 |
| workflowid | GUID | Workflow ID | — | yes | 38 |
| id | String | ID | — | yes | 255 |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
Workflow__ATTACH — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| attachmentid | OID | attachmentid | — | no | 4 |
| rel_globalid | GUID | rel_globalid | — | no | 38 |
| content_type | String | content_type | — | no | 150 |
| att_name | String | att_name | — | no | 250 |
| data_size | Integer | data_size | — | no | 4 |
| data | Blob | data | — | yes | — |
| globalid | GlobalID | globalid | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
SewerJunctionObject — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | Object ID | — | no | 8 |
| assetgroup | Integer | Asset group | — | no | 4 |
| assettype | SmallInteger | Asset type | — | no | 2 |
| associationstatus | SmallInteger | Association status | UtilityNetwork_41_AssociationStatus | no | 2 |
| issubnetworkcontroller | SmallInteger | Is subnetwork controller | UtilityNetwork_41_IsSubnetworkController | no | 2 |
| isconnected | SmallInteger | Is connected | UtilityNetwork_41_IsConnected | no | 2 |
| subnetworkcontrollername | String | Subnetwork controller name | — | no | 2000 |
| tiername | SmallInteger | Tier name | UtilityNetwork_41_TierName | no | 2 |
| tierrank | Integer | Tier rank | — | no | 4 |
| terminalconfiguration | String | Terminal path | — | no | 128 |
| globalid | GlobalID | Global ID | — | no | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
Workflow — fields
| Field | Type | Alias | Domain | Nullable | Length |
|---|---|---|---|---|---|
| objectid | OID | OBJECTID | — | no | 4 |
| globalid | GlobalID | globalid | — | no | 38 |
| project_name | String | Project name | — | yes | 255 |
| step | SmallInteger | Step | — | yes | 2 |
| status | String | Status | — | yes | 255 |
| perimeterid | GUID | Boundary | — | yes | 38 |
| created_user | String | created_user | — | yes | 255 |
| created_date | Date | created_date | — | yes | 8 |
| last_edited_user | String | last_edited_user | — | yes | 255 |
| last_edited_date | Date | last_edited_date | — | yes | 8 |
| phone_number | String | Phone number | — | yes | 255 |
| inputvars | String | Input vars | — | yes | 1500 |
| String | — | yes | 255 | ||
| description | String | Description | — | yes | 1000 |
| client_name | String | Client name | — | yes | 255 |
| company | String | company | — | yes | 255 |
| calculated_connections | SmallInteger | Calculated connections | YesNo | yes | 2 |
| assigned_user | Integer | Assigned user | — | yes | 4 |
| client_first_name | String | Client first name | — | yes | 255 |
| client_last_name | String | Client last name | — | yes | 255 |
| package_id | GUID | Package ID | — | yes | 38 |
Web application to geoprocessing links
Each row is the full chain: widget and config key → GP service → published toolbox tool → Python script.
Updated 2026-09-29.
App 1
| Page | Widget | Config key | GP service / task | Toolbox | Tool | Script |
|---|---|---|---|---|---|---|
| Workflow manager | Workflow Project | calculate_connections.toolUrl | AWWSP_UN/CalculateConnections/Calculate_connections | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateConnections | Geoproccess/Scripts Utiliy Network/Calculate_connections.py |
| Workflow manager | Data Statistics | statisticsTool.toolUrl | AWWSP_UN/CalculateEstimateInputs/Calculate_estimate_inputs | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateEstimateInputs | Geoproccess/Scripts Utiliy Network/Calculate_estimate_inputs.py |
| Create workflow | Create workflow | calculateInitialNetworkTool.toolUrl | AWWSP_UN/CalculateInitialNetwork/Calculate_initial_network | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateInitialNetwork | Geoproccess/Scripts Utiliy Network/Calculate_initial_network.py |
| Workflow manager | Workflow Project | calculate_initial_network.toolUrl (unused in code) | AWWSP_UN/CalculateInitialNetwork/Calculate_initial_network | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateInitialNetwork | Geoproccess/Scripts Utiliy Network/Calculate_initial_network.py |
| — | Create workflow (SMALL) | calculateInitialNetworkTool.toolUrl | AWWSP_UN/CalculateInitialNetwork/Calculate_initial_network | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateInitialNetwork | Geoproccess/Scripts Utiliy Network/Calculate_initial_network.py |
| Create workflow | Create workflow (floating) | calculateInitialNetworkTool.toolUrl | AWWSP_UN/CalculateInitialNetwork/Calculate_initial_network | Geoproccess/AWWSP Dev/Steps UN.atbx | CalculateInitialNetwork | Geoproccess/Scripts Utiliy Network/Calculate_initial_network.py |
| Workflow manager | Workflow Project | calculate_edus.toolUrl | AWWSP_UN/CalulateEdus/Calculate_edus | Geoproccess/AWWSP Dev/Steps UN.atbx | CalulateEdus | Geoproccess/Scripts Utiliy Network/Calculate_edus.py |
| Workflow manager | Clone Workflow | geoProcessingUrl (unused in code) | AWWSP_UN/CloneWorkflow/Clone_workflow | Geoproccess/AWWSP Dev/Steps UN.atbx | CloneWorkflow | Geoproccess/Scripts Utiliy Network/Clone_workflow.py |
| Workflow manager | Clone Workflow | cloneWorkflowTool.toolUrl | AWWSP_UN/CloneWorkflow/Clone_workflow | Geoproccess/AWWSP Dev/Steps UN.atbx | CloneWorkflow | Geoproccess/Scripts Utiliy Network/Clone_workflow.py |
| Create workflow | Create workflow | createWorkflowTool.toolUrl | AWWSP_UN/CreateWorkflow/Create_Workflow | Geoproccess/AWWSP Dev/Steps UN.atbx | CreateWorkflow | Geoproccess/Scripts Utiliy Network/Create_workflow.py |
| — | Create workflow (SMALL) | createWorkflowTool.toolUrl | AWWSP_UN/CreateWorkflow/Create_Workflow | Geoproccess/AWWSP Dev/Steps UN.atbx | CreateWorkflow | Geoproccess/Scripts Utiliy Network/Create_workflow.py |
| Create workflow | Create workflow (floating) | createWorkflowTool.toolUrl | AWWSP_UN/CreateWorkflow/Create_Workflow | Geoproccess/AWWSP Dev/Steps UN.atbx | CreateWorkflow | Geoproccess/Scripts Utiliy Network/Create_workflow.py |
| List projects | List projects | deleteProjectsTool.toolUrl | AWWSP_UN/DeleteMultipleProject/Delete_multiple_projects | Geoproccess/AWWSP Dev/Steps UN.atbx | DeleteMultipleProject | Geoproccess/Scripts Utiliy Network/Delete_multiple_projects.py |
| Workflow manager | Workflow Project | export_shapefiles.toolUrl | AWWSP_UN/ExportToShapefile/Export_to_shapefile | Geoproccess/AWWSP Dev/Steps UN.atbx | ExportToShapefile | Geoproccess/Scripts Utiliy Network/Export_to_shapefile.py |
| Workflow manager | Workflow Project | first.toolUrl | AWWSP_UN/First/First | — | — | — |
| Workflow manager | Workflow Project | prepare_manual_auxiliary_lines.toolUrl | AWWSP_UN/PrepareManualAuxiliaryLines/Prepare_manual_auxiliary_lines | Geoproccess/AWWSP Dev/Steps UN.atbx | PrepareManualAuxiliaryLines | Geoproccess/Scripts Utiliy Network/Prepare_manual_auxiliary_lines.py |
| Workflow manager | Workflow Project | reset_main_line.toolUrl | AWWSP_UN/ResetMainLine/Reset_main_line | — | — | — |
| Workflow manager | Workflow Project | reset_network.toolUrl | AWWSP_UN/ResetNetwork/Reset_network | Geoproccess/AWWSP Dev/Steps UN.atbx | ResetNetwork | Geoproccess/Scripts Utiliy Network/Reset_network.py |
| Workflow manager | Workflow Project | second_1.toolUrl (unused in code) | AWWSP_UN/Second1/Second_1 | Geoproccess/AWWSP Dev/Steps UN.atbx | Second1 | Geoproccess/Scripts Utiliy Network/Second_1.py |
| Workflow manager | Workflow Project | get_candidates_main_line.toolUrl | AWWSP_UN/Second1/Second_1 | Geoproccess/AWWSP Dev/Steps UN.atbx | Second1 | Geoproccess/Scripts Utiliy Network/Second_1.py |
| Workflow manager | Workflow Project | second_2.toolUrl (unused in code) | AWWSP_UN/Second2/Second_2 | Geoproccess/AWWSP Dev/Steps UN.atbx | Second2 | Geoproccess/Scripts Utiliy Network/Second_2.py |
| Workflow manager | Workflow Project | add_main_line.toolUrl | AWWSP_UN/Second2/Second_2 | Geoproccess/AWWSP Dev/Steps UN.atbx | Second2 | Geoproccess/Scripts Utiliy Network/Second_2.py |
| Workflow manager | Workflow Project | second_main_line.toolUrl (unused in code) | AWWSP_UN/SecondMainLine/Second_main_line | Geoproccess/AWWSP Dev/Steps UN.atbx | SecondMainLine | Geoproccess/Scripts Utiliy Network/Second_main_line.py |
| Workflow manager | Workflow Project | add_manual_main_line.toolUrl | AWWSP_UN/SecondMainLine/Second_main_line | Geoproccess/AWWSP Dev/Steps UN.atbx | SecondMainLine | Geoproccess/Scripts Utiliy Network/Second_main_line.py |
| Workflow manager | Workflow Project | third.toolUrl (unused in code) | AWWSP_UN/Third/Third | — | — | — |
| Workflow manager | Workflow Project | messageAction[network].perimeter.geoprocessTool.utility | AWWSP_UN/UpdateNetwork/Update_network | Geoproccess/AWWSP Dev/Steps UN.atbx | UpdateNetwork | Geoproccess/Scripts Utiliy Network/Update_network.py |
Tool copies in other toolboxes
No items.
Geoprocessing scripts
Scripts under Geoproccess/Scripts Utiliy Network: parameters read and returned, and dependencies.
Updated 2026-09-29.
Geoprocessing entry scripts
| Script | Description | Inputs (index:variable) | Outputs (index) | Internal modules | Main arcpy usage |
|---|---|---|---|---|---|
Calculate_connections | — | 0:workflowid, 1:sde_version | — | UtilsUN.connection_functions, UtilsUN.dev_reload, UtilsUN.elements_rest, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.GetInstallInfo, arcpy.management.GetCount, arcpy.da.SearchCursor |
Calculate_edus | — | 0:workflowid | — | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars, UtilsUN, UtilsUN | arcpy.da.SearchCursor, arcpy.management.MakeFeatureLayer, arcpy.AddWarning, arcpy.PointGeometry, arcpy.da.UpdateCursor |
Calculate_estimate_inputs | Calculate_estimate_inputs.py — read-only GP that returns Estimate workbook metrics. | 0:?, 1:?, 2:? | None | Estimates, UtilsUN.dev_reload, UtilsUN.elevation_raster, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.AddWarning, arcpy.GetInstallInfo, arcpy.PointGeometry, arcpy.Exists |
Calculate_initial_network | — | 0:workflowid, 1:sde_version | — | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.parcel_functions, UtilsUN.vars | arcpy.da.SearchCursor, arcpy.Point, arcpy.AddMessage, arcpy.SpatialReference, arcpy.server.ExportWebMap |
Clone_workflow | — | 0:workflowid, 1:projectName, 2:projectDescription | 3 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.GetInstallInfo |
Copy_to_local | — | 0:workflowid | — | UtilsUN.connection_functions, UtilsUN.dev_reload, UtilsUN.elements_rest, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.GetInstallInfo |
Create_workflow | — | 0:input_boundary, 1:input_collection_point, 2:project_name, 3:project_description, 4:package_id, 5:company, 6:client_first_name, 7:client_last_name, 8:email, 9:phone_number | 10 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars, UtilsUN | arcpy.AddMessage, arcpy.GetInstallInfo |
Delete_multiple_projects | — | 0:workflows_ids | — | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN | arcpy.AddMessage, arcpy.GetInstallInfo |
Export_to_shapefile | — | 0:workflowid | 1 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.conversion.FeatureClassToShapefile, arcpy.Exists, arcpy.conversion.TableToDBASE, arcpy.GetInstallInfo |
Prepare_manual_auxiliary_lines | Prepare_manual_auxiliary_lines.py — prepare hand-drawn auxiliary lines for routing. | 0:value, 0:value | 1 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.management.GetCount, arcpy.GetInstallInfo |
Reset_main_line | Reset_main_line.py — restore streets hidden during main-line calculation. | 0:workflowid | — | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.network_cleanup | arcpy.AddMessage, arcpy.GetInstallInfo |
Reset_network | — | 0:workflowid, 1:sde_version | — | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.parcel_functions, UtilsUN.vars | arcpy.Point, arcpy.AddMessage, arcpy.analysis.Near, arcpy.GetInstallInfo, arcpy.da.SearchCursor |
Second_1 | Name: Find longest routes candidates | 0:workflowid, 1:n_rutas | 2 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.AddMessage, arcpy.management.GetCount, arcpy.Point, arcpy.da.SearchCursor, arcpy.management.Delete |
Second_1_on_edus | Name: Find EDU-weighted route candidates | 0:workflowid, 1:n_rutas | 2 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.management.AddField, arcpy.AddMessage, arcpy.AddWarning, arcpy.management.Delete, arcpy.da.SearchCursor |
Second_1_priori | Name: Find EDU-weighted route candidates (road-class priority) | 0:workflowid, 1:n_rutas | 2 | UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.vars | arcpy.management.AddField, arcpy.AddWarning, arcpy.AddMessage, arcpy.management.Delete, arcpy.da.SearchCursor |
Second_2 | Name: Add main line | 0:workflowid, 1:polyline | — | UtilsUN.dev_reload, UtilsUN.elements_rest, UtilsUN.manager, UtilsUN.network_cleanup, UtilsUN.vars | arcpy.AddMessage, arcpy.da.SearchCursor, arcpy.management.MakeFeatureLayer, arcpy.management.SelectLayerByLocation, arcpy.GetInstallInfo |
Second_main_line | Name: Add main line | 0:workflowid, 1:user_route_fc | — | UtilsUN.dev_reload, UtilsUN.elements_rest, UtilsUN.manager, UtilsUN.network_cleanup, UtilsUN.vars | arcpy.AddMessage, arcpy.da.SearchCursor, arcpy.AddWarning, arcpy.ListFields, arcpy.Array |
Update_network | — | 0:workflowid, 1:distance, 2:distance_unit, 3:sde_version | — | UtilsUN.connection_functions, UtilsUN.dev_reload, UtilsUN.functions, UtilsUN.manager, UtilsUN.parcel_functions, UtilsUN.vars | arcpy.management.GetCount, arcpy.AddMessage, arcpy.management.SelectLayerByLocation, arcpy.analysis.Clip, arcpy.GetInstallInfo |
Helper modules
| Module | Description | Functions | Used by |
|---|---|---|---|
Estimates.__init__ | — | 0 | — |
Estimates.estimate_metrics | Pure metric helpers for Estimate workbook inputs. | 37 | — |
Estimates.register_estimate_inputs_tool | Register CalculateEstimateInputs in AWWSP Dev/Steps UN.atbx. | 2 | — |
Estimates.test_estimate_metrics | Synthetic tests for Estimates.estimate_metrics (ArcPy required). | 5 | — |
Params.__init__ | — | 0 | — |
Params.params_staging | — | 0 | — |
UtilsUN.__init__ | — | 0 | — |
UtilsUN.connection_functions | Shared parcel connection helpers for Utility Network scripts. | 35 | Calculate_connections, Copy_to_local, Update_network |
UtilsUN.connection_functions_assoc | Shared parcel connection helpers for Utility Network scripts. | 23 | — |
UtilsUN.dev_reload | Development-only module reloading for ArcGIS Pro geoprocessing tools. | 1 | Calculate_connections, Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Copy_to_local, Create_workflow, Delete_multiple_projects, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_main_line, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Second_2, Second_main_line, Update_network |
UtilsUN.elements_rest | — | 7 | Calculate_connections, Copy_to_local, Second_2, Second_main_line, UtilsUN.connection_functions, UtilsUN.network_cleanup, UtilsUN.vars |
UtilsUN.elevation_raster | — | 28 | Calculate_estimate_inputs |
UtilsUN.functions | — | 21 | Calculate_connections, Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Create_workflow, Delete_multiple_projects, Estimates.estimate_metrics, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_main_line, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Update_network, UtilsUN.connection_functions, UtilsUN.connection_functions_assoc, UtilsUN.elevation_raster, UtilsUN.hubspot, UtilsUN.manager, UtilsUN.network_cleanup |
UtilsUN.gp_errors | Structured GP tool errors for client display and support lookup. | 5 | UtilsUN.elements_rest |
UtilsUN.hubspot | HubSpot CRM helpers for create-workflow Step 4. | 10 | — |
UtilsUN.manager | — | 0 | Calculate_connections, Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Copy_to_local, Create_workflow, Delete_multiple_projects, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_main_line, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Second_2, Second_main_line, Update_network |
UtilsUN.network_cleanup | Prune redundant auxiliary segments while treating force main as immutable. | 80 | Reset_main_line, Second_2, Second_main_line |
UtilsUN.parcel_functions | Shared Lightbox parcel helpers for Utility Network scripts. | 22 | Calculate_initial_network, Reset_network, Update_network, UtilsUN.street_functions |
UtilsUN.street_functions | Shared street sync helpers for Utility Network scripts. | 9 | — |
UtilsUN.vars | — | 2 | Calculate_connections, Calculate_edus, Calculate_estimate_inputs, Calculate_initial_network, Clone_workflow, Copy_to_local, Create_workflow, Delete_multiple_projects, Export_to_shapefile, Prepare_manual_auxiliary_lines, Reset_network, Second_1, Second_1_on_edus, Second_1_priori, Second_2, Second_main_line, Update_network, UtilsUN.connection_functions, UtilsUN.connection_functions_assoc, UtilsUN.hubspot, UtilsUN.network_cleanup, UtilsUN.parcel_functions, UtilsUN.workflow_registration |
UtilsUN.workflow_registration | Shared helpers to register perimeter, workflow, and collection point for create-workflow GP tools. | 3 | — |
Services and web maps
Feature services and web maps used by the application, scripts, and ArcGIS Pro projects.
Updated 2026-09-29.
Data services
| Service | Kind | Layers | Used by |
|---|---|---|---|
| AWWSP_UN/Utility_Network | FeatureServer | 0, 2, 3, 4, 5, 6, 7, 8, 9 | Pro: Utility Network - Web Map, params_staging.utilityNetwork |
| AWWSP_UN/Utility_Network___Auxiliar | FeatureServer | — | Pro: Utility Network - Web Map, params_staging.auxiliaryData |
| Canvas/World_Light_Gray_Base | MapServer | — | list-projects |
| Elevation/World_Hillshade | MapServer | — | Pro: Create Workflow, Pro: Utility Network, Pro: Utility Network - Auxiliar, Pro: Utility Network - Web Map |
| World_Imagery | MapServer | — | Pro: Roads |
Web maps
| App | Data source | Portal item | Portal | Map widgets |
|---|---|---|---|---|
| 1 | dataSource_6 | 8c5593220f234638bd9036ed9bb22a70 | https://<wpds-server>/portal | Map Stage 1, Map Stage 1 (SMALL) |
| 1 | dataSource_11 | 6228c09e2bc84a3eaf6f59ba51a582b2 | https://<wpds-server>/portal | Map Stage 2 |
Toolboxes and tools
Tools in each ArcGIS Pro toolbox, their parameters, and the script each runs.
Updated 2026-09-29.
Geoproccess/AWWSP Dev/Steps UN.atbx (Steps 3.0)
| Tool | Toolset | Title | Parameters (→ output, ? optional) | Script | Script resolution |
|---|---|---|---|---|---|
| CalculateConnections | Main | Calculate connections | workflowId:GPString, distance:GPLong, unit:GPString, sdeVersion:GPString | Geoproccess/Scripts Utiliy Network/Calculate_connections.py | link outside repo; matched by filename |
| CalculateEstimateInputs | Main | Calculate estimate inputs | workflowId:GPString, graphMode:GPString, sdeVersion:GPString, resultJson:GPString → | Geoproccess/Scripts Utiliy Network/Calculate_estimate_inputs.py | link outside repo; matched by filename |
| CalculateInitialNetwork | Main | Calculate initial network | workflowId:GPString, sdeVersion:GPString | Geoproccess/Scripts Utiliy Network/Calculate_initial_network.py | link outside repo; matched by filename |
| CalulateEdus | Main | Calculate EDUs | workflowId:GPString | Geoproccess/Scripts Utiliy Network/Calculate_edus.py | link outside repo; matched by filename |
| CloneWorkflow | Auxiliar | Clone workflow | workflowId:GPString, projectName:GPString, projectDescription:GPString, newWorkflowId:GPString → | Geoproccess/Scripts Utiliy Network/Clone_workflow.py | link outside repo; matched by filename |
| CopyToLocal | <root> | Copy to local | Workflow id:GPString | Geoproccess/Scripts Utiliy Network/Copy_to_local.py | link outside repo; matched by filename |
| CreateWorkflow | Main | Create workflow | perimeter:GPFeatureRecordSetLayer, collection point:GPFeatureRecordSetLayer, project_name:GPString, project_description:GPString?, stage:GPString?, company:GPString?, client_first_name:GPString, client_last_name:GPString, email:GPString, phone_number:GPString?, workflow_id:GPString → | Geoproccess/Scripts Utiliy Network/Create_workflow.py | link outside repo; matched by filename |
| DeleteMultipleProject | Auxiliar | Delete multiple projects | workflowsId:GPMultiValue | Geoproccess/Scripts Utiliy Network/Delete_multiple_projects.py | link outside repo; matched by filename |
| ExportToShapefile | Auxiliar | Export to shapefile | workflowId:GPString, shapefiles:DEFile → | Geoproccess/Scripts Utiliy Network/Export_to_shapefile.py | link outside repo; matched by filename |
| PrepareManualAuxiliaryLines | Main | Prepare manual auxiliary lines | workflowId:GPString, segments_prepared:GPLong → | Geoproccess/Scripts Utiliy Network/Prepare_manual_auxiliary_lines.py | link outside repo; matched by filename |
| ResetNetwork | Main | Reset network | workflowId:GPString, sdeVersion:GPString | Geoproccess/Scripts Utiliy Network/Reset_network.py | link outside repo; matched by filename |
| Second1 | Main | Calculate candidate routes | workflowId:GPString, totalRoutes:GPLong, routes:GPFeatureRecordSetLayer → | Geoproccess/Scripts Utiliy Network/Second_1.py | link outside repo; matched by filename |
| Second2 | Main | Add selected main line | workflowId:GPString, route:GPFeatureRecordSetLayer | Geoproccess/Scripts Utiliy Network/Second_2.py | link outside repo; matched by filename |
| SecondMainLine | Main | Add main line (manual route) | workflowId:GPString, userRoute:GPFeatureRecordSetLayer | Geoproccess/Scripts Utiliy Network/Second_main_line.py | link outside repo; matched by filename |
| UpdateNetwork | Main | Update network | workflowId:GPString, distance:GPLong, unit:GPString, sdeVersion:GPString | Geoproccess/Scripts Utiliy Network/Update_network.py | link outside repo; matched by filename |
Widget inventory
Custom widgets under ExB/client/your-extensions/widgets and shared library shared-code.
Updated 2026-09-29.
Custom widgets
| Widget | Display name | Version | Code areas | Shared modules | GP calls | Messaging | Tests |
|---|---|---|---|---|---|---|---|
advanced-editing | Advanced editing | 1.17.0 | config.ts, runtime, setting | 7 | 0 | DataRecordSetChangeMessage, MessageManager, publishMessage | yes |
clone-workflow | Clone Workflow | 1.16.0 | config.ts, runtime, setting | 3 | 1 | — | yes |
create-workflow | Create workflow | 1.12.0 | config.ts, runtime, setting | 14 | 1 | — | yes |
create-workflow-floating | Create workflow (floating) | 1.17.0 | config.ts, runtime, setting | 14 | 1 | — | yes |
data-statistics | Data Statistics | 1.17.0 | config.ts, runtime, setting | 1 | 1 | — | no |
init-workflow | Init Workflow | 1.17.0 | config.ts, runtime, setting | 7 | 0 | — | yes |
list-projects | List Projects | 1.17.0 | config.ts, runtime, setting | 5 | 2 | — | yes |
stepper | Stepper | 1.16.0 | config.ts, runtime, setting | 1 | 0 | — | yes |
title-project | Title Project | 1.17.0 | config.ts, runtime, setting | 1 | 0 | — | no |
workflow-controller | Workflow Controller | 1.16.0 | config.ts, runtime, setting | 2 | 0 | — | no |
workflow-project | Workflow Project | 1.16.0 | config.ts, data-actions, runtime, setting | 13 | 2 | DataRecordSetChangeMessage | yes |
shared-code modules
| Module | Used by |
|---|---|
arcade-editor | advanced-editing |
basemap-persistence | workflow-project |
build-buffered-location-query-params | init-workflow |
build-create-workflow-gp-params | create-workflow, create-workflow-floating |
editor-selection-coordination | advanced-editing, workflow-controller |
geoprocess | create-workflow, create-workflow-floating, workflow-project |
gp-running-lock | workflow-project |
lib | — |
map-edit-sketch-coordination | advanced-editing, workflow-project |
match-state-plane-coordinate-system | init-workflow |
modal | advanced-editing, list-projects, title-project, workflow-project |
nad83-state-plane-coordinate-systems | init-workflow |
project-geometry | create-workflow, create-workflow-floating |
query-state-plane-zones | init-workflow |
render-rich-text | create-workflow, create-workflow-floating |
stepper-navigation | create-workflow, create-workflow-floating, init-workflow, stepper, workflow-project |
street-network | workflow-project |
toast | advanced-editing, clone-workflow, create-workflow, create-workflow-floating, init-workflow, list-projects, workflow-project |
tool-selector | clone-workflow, create-workflow, create-workflow-floating, data-statistics, list-projects, workflow-project |
use-workflow-packages | create-workflow, create-workflow-floating |
wetlands-layer-visibility | workflow-project |
workflow-calculated-connections-events | workflow-project |
workflow-controller-coordination | advanced-editing, workflow-controller |
workflow-id-attributes | advanced-editing |
workflow-package-ui | create-workflow, create-workflow-floating |
workflow-packages | create-workflow, create-workflow-floating, list-projects |
workflow-submit-form-schema | create-workflow, create-workflow-floating |
wws-api-request-setup | create-workflow, create-workflow-floating, workflow-project |
wws-api-token | — |
wws-secured-layer | — |
wws-server-fetch | clone-workflow, create-workflow, create-workflow-floating, list-projects, workflow-project |
wws-url-location | create-workflow, create-workflow-floating, init-workflow |
Per-widget dependencies
| Widget | Shared modules | ArcGIS SDK modules |
|---|---|---|
| advanced-editing | arcade-editor, editor-selection-coordination, map-edit-sketch-coordination, modal, toast, workflow-controller-coordination, workflow-id-attributes | 30 |
| clone-workflow | toast, tool-selector, wws-server-fetch | 1 |
| create-workflow | build-create-workflow-gp-params, geoprocess, project-geometry, render-rich-text, stepper-navigation, toast, tool-selector, use-workflow-packages, workflow-package-ui, workflow-packages, workflow-submit-form-schema, wws-api-request-setup, wws-server-fetch, wws-url-location | 23 |
| create-workflow-floating | build-create-workflow-gp-params, geoprocess, project-geometry, render-rich-text, stepper-navigation, toast, tool-selector, use-workflow-packages, workflow-package-ui, workflow-packages, workflow-submit-form-schema, wws-api-request-setup, wws-server-fetch, wws-url-location | 15 |
| data-statistics | tool-selector | 1 |
| init-workflow | build-buffered-location-query-params, match-state-plane-coordinate-system, nad83-state-plane-coordinate-systems, query-state-plane-zones, stepper-navigation, toast, wws-url-location | 2 |
| list-projects | modal, toast, tool-selector, workflow-packages, wws-server-fetch | 11 |
| stepper | stepper-navigation | 0 |
| title-project | modal | 0 |
| workflow-controller | editor-selection-coordination, workflow-controller-coordination | 0 |
| workflow-project | basemap-persistence, geoprocess, gp-running-lock, map-edit-sketch-coordination, modal, stepper-navigation, street-network, toast, tool-selector, wetlands-layer-visibility, workflow-calculated-connections-events, wws-api-request-setup, wws-server-fetch | 28 |