This environment is pre-loaded with a utility-scale solar facility schema and a representative PV array layout. All templates, schema fields, and connectivity logic shown here are production-ready and remappable to your facility's naming conventions. Interact freely - nothing you do here affects any live system.
Web-based workflow for registering utility-scale solar facility assets from as-built CAD into a managed GIS schema — designed for O&M teams to coordinate maintenance, warranties, cleaning schedules, and component tracking across the facility lifecycle.
| Name | Type | Group | Geom | Conn | Status | Source |
|---|---|---|---|---|---|---|
Solar Field – Horizon | site_infrastructure | solar field | polygon | 0 | valid | Existing |
Perimeter Fence – North | site_infrastructure | perimeter fence | line | 0 | valid | Existing |
Perimeter Fence – South | site_infrastructure | perimeter fence | line | 0 | valid | Existing |
Perimeter Fence – East | site_infrastructure | perimeter fence | line | 0 | valid | Existing |
Perimeter Fence – West | site_infrastructure | perimeter fence | line | 0 | valid | Existing |
Main Gate | site_infrastructure | gate | point | 0 | valid | Existing |
Emergency Gate NE | site_infrastructure | gate | point | 0 | valid | Existing |
Site Access Drive | site_infrastructure | site access drive | line | 0 | valid | Existing |
Main Access Drive | site_infrastructure | access drive | line | 0 | valid | Existing |
RP-1A-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-1A-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-1A-003 | pv_array | racking post | point | 0 | valid | Existing |
RP-1B-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-1B-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-1B-003 | pv_array | racking post | point | 0 | valid | Existing |
RP-2A-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-2A-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-2B-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-2B-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-3A-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-3A-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-3B-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-3B-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-5A-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-5A-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-5B-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-5B-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-6A-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-6A-002 | pv_array | racking post | point | 0 | valid | Existing |
RP-6B-001 | pv_array | racking post | point | 0 | valid | Existing |
RP-6B-002 | pv_array | racking post | point | 0 | valid | Existing |
TM-1A | pv_array | tracker motor | point | 0 | valid | Existing |
TM-1B | pv_array | tracker motor | point | 0 | valid | Existing |
TM-2A | pv_array | tracker motor | point | 0 | valid | Existing |
TM-2B | pv_array | tracker motor | point | 0 | valid | Existing |
TM-3A | pv_array | tracker motor | point | 0 | valid | Existing |
TM-3B | pv_array | tracker motor | point | 0 | valid | Existing |
TM-5A | pv_array | tracker motor | point | 0 | valid | Existing |
TM-5B | pv_array | tracker motor | point | 0 | valid | Existing |
TM-6A | pv_array | tracker motor | point | 0 | valid | Existing |
TM-6B | pv_array | tracker motor | point | 0 | valid | Existing |
CB-1A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-1B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-2A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-2B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-3A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-3B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-4A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-4B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-5A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-5B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-6A-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
CB-6B-01 | collection_wiring | combiner box | point | 0 | valid | Existing |
DC HR – CB-1A to INV-1 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-1B to INV-1 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-2A to INV-1 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-2B to INV-1 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-3A to INV-2 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-3B to INV-2 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-5A to INV-3 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-5B to INV-4 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-6A to INV-5 | collection_wiring | cable | line | 1 | valid | Existing |
DC HR – CB-6B to INV-6 | collection_wiring | cable | line | 1 | valid | Existing |
INV-1 | power_conversion | inverter | point | 1 | valid | Existing |
INV-2 | power_conversion | inverter | point | 1 | valid | Existing |
INV-3 | power_conversion | inverter | point | 1 | valid | Existing |
INV-4 | power_conversion | inverter | point | 1 | valid | Existing |
INV-5 | power_conversion | inverter | point | 1 | valid | Existing |
INV-6 | power_conversion | inverter | point | 1 | valid | Existing |
TX-1 | power_conversion | transformer | point | 1 | valid | Existing |
TX-2 | power_conversion | transformer | point | 1 | valid | Existing |
TX-3 | power_conversion | transformer | point | 1 | valid | Existing |
TX-4 | power_conversion | transformer | point | 1 | valid | Existing |
TX-5 | power_conversion | transformer | point | 1 | valid | Existing |
TX-6 | power_conversion | transformer | point | 1 | valid | Existing |
DS-1 | protection_switching | disconnect switch | point | 0 | valid | Existing |
DS-2 | protection_switching | disconnect switch | point | 0 | valid | Existing |
DS-3 | protection_switching | disconnect switch | point | 0 | valid | Existing |
DS-4 | protection_switching | disconnect switch | point | 0 | valid | Existing |
DS-5 | protection_switching | disconnect switch | point | 0 | valid | Existing |
DS-6 | protection_switching | disconnect switch | point | 0 | valid | Existing |
AC Collection – West Feeder | collection_wiring | cable | line | 2 | valid | Existing |
AC Collection – South West Feeder | collection_wiring | cable | line | 1 | valid | Existing |
AC Collection – East Feeder | collection_wiring | cable | line | 1 | valid | Existing |
POI Switchgear | protection_switching | switchgear | point | 1 | valid | Existing |
WS-01 | monitoring | weather station | point | 0 | valid | Existing |
WS-02 | monitoring | weather station | point | 0 | valid | Existing |
DAS-01 | monitoring | data acquisition system | point | 1 | valid | Existing |
Power Station 1 | power_conversion | power station | polygon | 0 | valid | Existing |
Power Station 2 | power_conversion | power station | polygon | 0 | valid | Existing |
Power Station 3 | power_conversion | power station | polygon | 0 | valid | Existing |
PV Panel (per segment) (Demo Row 1) | pv_array | pv panel | polygon | 1 | dirty | Template |
Racking Post 1 (Demo Row 1) | pv_array | racking post | point | 0 | dirty | Template |
Racking Post 2 (Demo Row 1) | pv_array | racking post | point | 0 | dirty | Template |
Racking Post 3 (Demo Row 1) | pv_array | racking post | point | 0 | dirty | Template |
Racking Post 4 (Demo Row 1) | pv_array | racking post | point | 0 | dirty | Template |
Racking Post 5 (Demo Row 1) | pv_array | racking post | point | 0 | dirty | Template |
Tracker Motor (Demo Row 1) | pv_array | tracker motor | point | 0 | dirty | Template |
Motor Control Box (Demo Row 1) | pv_array | tracker motor control box | point | 1 | dirty | Template |
Tracker Drive Shaft (Demo Row 1) | pv_array | tracker drive shaft | line | 0 | dirty | Template |
PV Panel (per segment) (Demo Row 2) | pv_array | pv panel | polygon | 1 | valid | Template |
Racking Post 1 (Demo Row 2) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 2 (Demo Row 2) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 3 (Demo Row 2) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 4 (Demo Row 2) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 5 (Demo Row 2) | pv_array | racking post | point | 0 | valid | Template |
Tracker Motor (Demo Row 2) | pv_array | tracker motor | point | 0 | valid | Template |
Motor Control Box (Demo Row 2) | pv_array | tracker motor control box | point | 1 | valid | Template |
Tracker Drive Shaft (Demo Row 2) | pv_array | tracker drive shaft | line | 0 | valid | Template |
PV Panel (per segment) (Demo Row 3) | pv_array | pv panel | polygon | 1 | valid | Template |
Racking Post 1 (Demo Row 3) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 2 (Demo Row 3) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 3 (Demo Row 3) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 4 (Demo Row 3) | pv_array | racking post | point | 0 | valid | Template |
Racking Post 5 (Demo Row 3) | pv_array | racking post | point | 0 | valid | Template |
Tracker Motor (Demo Row 3) | pv_array | tracker motor | point | 0 | valid | Template |
Motor Control Box (Demo Row 3) | pv_array | tracker motor control box | point | 1 | valid | Template |
Tracker Drive Shaft (Demo Row 3) | pv_array | tracker drive shaft | line | 0 | valid | Template |
Select a feature to view attributes
From as-built CAD to a managed asset registry — designed for operations and maintenance teams.
Templates accelerate the process of converting as-built CAD drawings into a structured GIS schema. One template application registers multiple related components — panels, racking, wiring, and combiner boxes — in a single operation.
Template defaults enforce standard values for string assignments, combiner box configurations, cable types, and equipment specifications. O&M teams inherit clean, consistent data from day one.
Every component registered through this schema carries fields for cleaning dates, serial numbers, air filter schedules, and installation status — the foundation for proactive maintenance and warranty management.
O&M field crews can review and update asset data through a web editor without desktop GIS software. Inspectors, site managers, and remote teams all work from the same managed facility model.
Fields shown below are derived from a real solar facility schema used for O&M asset management. Each feature type maps to a component class — PV Panel, Combiner Box, Inverter, Transformer, Cable, Conduit, Weather Station, Data Acquisition, and site infrastructure. The schema is designed to be populated from as-built CAD and used by operations teams for maintenance, warranty tracking, and lifecycle management. Field names and domains can be remapped through the schema adapter layer.
| Feature Type | Geometry | Field Name | Description | Value Source | Editable? | By Template? |
|---|---|---|---|---|---|---|
| Perimeter Fence | line | fence_type | Type and height of perimeter fence | template default | Yes | Yes |
| shape_length | Geometric length of fence run | calculated | — | Yes | ||
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| notes | Free-text notes | user input | Yes | — | ||
| PV Panel | polygon | location | Panel location | user input | Yes | — |
| string_number | String the panel belongs to | template default | Yes | Yes | ||
| combiner_box_id | Associated combiner box identifier | template default | Yes | Yes | ||
| date_cleaned | Last cleaning date | user input | Yes | — | ||
| owner_funded | Whether owner-funded | user input | Yes | — | ||
| Racking Post | point | location | Post location | user input | Yes | — |
| racking_type | Type of racking system | template default | Yes | Yes | ||
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| notes | Free-text notes | user input | Yes | — | ||
| Combiner Box | point | name | Combiner box name | template default | Yes | Yes |
| number | Assigned box number | template default | Yes | Yes | ||
| string_count | Number of strings connected | template default | Yes | Yes | ||
| source | Source component | template default | Yes | Yes | ||
| dc_max | Maximum DC rating | template default | Yes | Yes | ||
| Cable | line | location | Cable route location | user input | Yes | — |
| cable_type | Type of cable | template default | Yes | Yes | ||
| cable_length | Cable run length | calculated | — | Yes | ||
| cable_quantity | Number of cables in run | template default | Yes | Yes | ||
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| Conduit | line | location | Conduit route location | user input | Yes | — |
| conduit_type | Conduit material type | template default | Yes | Yes | ||
| conduit_size | Conduit diameter | template default | Yes | Yes | ||
| conduit_length | Conduit run length | calculated | — | Yes | ||
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| Inverter | point | inverter_name | Inverter designator | template default | Yes | Yes |
| inverter_size | Rated capacity | template default | Yes | Yes | ||
| inverter_model | Manufacturer model | user input | Yes | — | ||
| input_voltage_dc | DC input voltage | template default | Yes | Yes | ||
| output_voltage_ac | AC output voltage | template default | Yes | Yes | ||
| Transformer | point | location | Transformer location | user input | Yes | — |
| transformer_size | kVA rating | template default | Yes | Yes | ||
| transformer_voltage | Primary / secondary voltage | template default | Yes | Yes | ||
| serial_number | Transformer serial number | user input | Yes | — | ||
| transformer_model | Manufacturer model | user input | Yes | — | ||
| Weather Station | point | location | Station location | user input | Yes | — |
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| notes | Free-text notes | user input | Yes | — | ||
| Data Acquisition System | point | feature_name | DAS name | template default | Yes | Yes |
| feature_function | DAS function | template default | Yes | Yes | ||
| install_status | Installation lifecycle | template default | Yes | Yes | ||
| notes | Free-text notes | user input | Yes | — |
All field names, domains, and defaults are remappable to your existing naming conventions.
The schema preview above shows a subset of the full data model. The complete spec includes:
The schema is remappable. Field names, domains, and geometry types can be adapted to your existing GIS or CMMS - no proprietary lock-in.
Only the person sending your file sees your email. We do not share contacts with third parties. The schema spec PDF is formatted for internal distribution and technical review. Forward it freely.
The spec is a PDF. We send it once. No account created, no sales follow-up unless you request it. The document includes a consultation link if you want to go deeper. This is a real schema derived from a deployed solar facility project; it is operational, not illustrative.
What a managed solar facility schema delivers for operations teams.
Templates convert as-built CAD into a managed GIS schema in a fraction of the time required for manual feature-by-feature data entry. Entire tracker rows, wiring runs, and power stations are registered in single operations.
Auto-applied defaults for string assignments, combiner box ratings, cable types, and equipment specs eliminate the most common data-entry mistakes in solar facility asset models.
Every registered asset carries the fields O&M teams need — cleaning schedules, serial numbers, installation status, warranty dates — structured for maintenance workflows from the start.
Component relationships, containment hierarchies, and connectivity associations give operations teams a complete picture of how equipment relates across the facility, from panel string to point of interconnection.
More working examples
Compare this sightline scoring tool with the full collection of mapping and geospatial decision tools we've built.