Sample Project - Municipal Asset Inspection
Purpose: Follow a complete municipal inspection example.
Before you start: A sample workspace and the permissions needed for each selected feature.
Expected result: A small inspection workflow has been prepared, collected, reviewed, and handed over.
This walkthrough shows how a supervisor can set up a realistic municipal inspection project, send collectors into the field, review the data, and export results. It is written as an example workflow, so adapt the names, fields, and roles to your organization.
1. Scenario
A municipality needs to inspect streetlights across several districts. Field collectors must record condition, repair priority, photos, notes, and inspection status. Supervisors need to review incomplete records, create exports for weekly reporting, and keep contractors from deleting project data.
Project Outcome
By the end of this workflow, the project will include:
- A hosted or local Mapplex project
- A point layer for streetlights
- An optional polygon reference layer for districts
- A structured inspection form
- Controlled values for condition, priority, and status
- Offline map preparation for field teams
- A review process for missing or high-priority records
- Exportable CSV, GeoJSON, KMZ, PDF, and, where entitled, GeoPackage outputs
- An optional File Geodatabase handoff, prepared online and checked for the required features and attachments
2. Requirements
| Item | Minimum Requirement | Notes |
|---|---|---|
| Project setup | Owner, Admin, or Editor | Needed to create layers and forms |
| Field collection | Collector or higher | Collectors can add records to existing layers |
| Hosted collaboration | Signed-in account and cloud workspace | Use Local project if the work stays on one device |
| Offline maps | Internet before fieldwork | Tiles must be downloaded before losing connectivity |
| Smart Logic | Smart Logic entitlement | Optional, but useful for repair-specific fields |
| Lexicons | Lexicon entitlement | Optional, but improves value consistency |
| Geova AI review | Geova AI entitlement, credits, and network | Optional decision-support step |
| PDF / GeoPackage export | Export entitlement | Use CSV, GeoJSON, or KMZ if these are not available |
| GDB exchange | Signed-in session, internet, and GeoPackage export access for export | For linked tables and attachments, use Project package and review its included content; an ordinary layer export is not a complete project handover |
3. Quick Features Used in This Workflow
This sample project uses several Mapplex shortcuts that are worth calling out before setup begins:
| Feature | How It Applies to This Project |
|---|---|
| Quick Capture | Collectors can add a missing streetlight point at their current GPS location with fewer taps once the Streetlights layer is active |
| AI-assisted SQL / filters | Supervisors can ask for incomplete inspections, urgent repairs, or missing photos and then review the generated filter or result table |
| Lexicon picklists | Shared condition, priority, or district values can stay consistent across contractors and inspection cycles |
| Spatial Auto-Fill | A collected streetlight can automatically inherit the district or maintenance zone by matching its location against a reference polygon layer |
| Auto Geometry | The form can store coordinates for point assets, and other workflows can calculate length, area, or perimeter for line and polygon layers |
| Related records and attachments | Keep inspection visits, work orders, photos, PDFs, or other supporting files connected to the parent streetlight asset |
These features are optional, but they make the workflow faster and reduce cleanup after field collection.
4. Create the Project
- Open the Dashboard.
- Tap + New Project.
- Use a clear project name, for example:
Streetlight Inspection - North District - Choose storage:
- Hosted (Cloud) if several people need to collaborate and sync.
- Local (Offline) if one device will collect and export the data.
- Add a short description:
Weekly condition inspection for municipal streetlights in the North District. - Tap Create Project.
Good Setup Practice
Use a project name that includes the asset type, area, and time period. This makes exports, dashboard lists, and reports easier to identify later.
5. Create the Asset Layer
- Open Layers.
- Create a new layer named:
Streetlights - Set the geometry type to Point.
- Choose a marker color that stands out on the basemap.
- Enable labels if you have an asset ID or pole number field.
Suggested Layer Style
| Setting | Recommendation |
|---|---|
| Geometry | Point |
| Marker color | Amber or yellow for streetlight assets |
| Label field | Asset ID or Pole Number |
| Clustering | Enabled for dense urban areas |
| Completion indicator | Enable to review all eligible visible fields; turn it off to use status-based classification |
For colors based specifically on Inspection Status, use categorical symbology on that field. Completion mode is a separate green/red check for unanswered fields, including optional visible inputs; see Completion Indicator.
6. Build the Inspection Form
Open Forms, select the Streetlights layer, and create the form fields below.
| Field | Type | Example Values | Purpose |
|---|---|---|---|
| Asset ID | Text | SL-10482 | Links the inspection to the municipal asset register |
| Pole Number | Text | P-17-042 | Field-visible identifier |
| Condition | Dropdown | Good, Fair, Poor, Damaged, Not Found | Standard condition rating |
| Repair Priority | Dropdown | None, Low, Medium, High, Urgent | Helps supervisors triage work |
| Lamp Working | Checkbox | Checked / unchecked | Quick operational status |
| Inspection Status | Dropdown | Not Started, In Progress, Complete, Needs Review | Supports completion tracking |
| Inspection Date | Date | Current date | Required for reporting |
| Photo | Photo | Site photo | Evidence of condition |
| Gallery | Gallery | Multiple site photos | Evidence for complex or recurring defects |
| Attachment | Attachment | PDF or supporting file | Work order, report, or related document |
| Notes | Text | Free text | Field observations |
| Auto Geometry | Auto geometry | Coordinates | Records location details |
Human-Friendly Field Names
Use labels that field teams already understand. For example, Lamp Working is clearer in the field than Operational Boolean, and Repair Priority is clearer than Severity Code.
Optional Related Inspection Records
Choose the record structure before collection. The form above stores the asset's current inspection state. If you need a history of repeated visits, keep stable asset details on Streetlights and put visit date, condition, notes, and evidence in Inspection visits. A new visit should add a related record instead of overwriting the previous visit.
Follow Record repeated inspections to create the table, activate the relationship, and select the streetlight through Parent links. Asset ID is a readable label; matching text alone does not create a link. The current manual related-record creation controls require Owner, Admin, or Editor access, so test the actual field user's permissions before assigning this workflow.
Before field deployment, open one streetlight and confirm that its related records and attachments are visible from the parent record. This gives the team a clear pattern to follow during later inspections.
7. Add Controlled Values
Controlled values reduce cleanup later. Use one of these approaches:
| Approach | When to Use |
|---|---|
| Dropdown fields | Small fixed lists such as condition and priority |
| Lexicon picklists | Shared values used by linked fields and layers, including across hosted workspace projects |
| Data Dictionary aliases | When imported field names are technical or abbreviated |
Recommended Value Lists
Condition
- Good
- Fair
- Poor
- Damaged
- Not Found
Repair Priority
- None
- Low
- Medium
- High
- Urgent
Inspection Status
- Not Started
- In Progress
- Complete
- Needs Review
8. Configure Smart Logic
Smart Logic is optional, but it makes the form easier for collectors.
Example Rule
If Condition is Poor or Damaged, show:
Repair PriorityPhotoNotes
If Condition is Good, keep the form shorter and require only the standard inspection fields.
Why This Helps
Collectors see repair fields only when they are relevant. Supervisors receive more consistent details for assets that actually need attention.
Start with the one-condition worked example and test both matching and non-matching answers before extending it to Poor or Damaged. A show action changes visibility; it does not by itself make the field required.
Note: AI-assisted Smart Logic generation requires Geova AI credits. You can also configure rules manually where Smart Logic is available.
9. Import Existing Asset Data
If the municipality already has streetlight locations, import them before field collection.
| Source File | Best Import Path | Notes |
|---|---|---|
| CSV / Excel | Data & Sync -> CSV / Excel import | Use when the file has coordinate columns. Target layer must be Point |
| GeoJSON / KMZ / KML | Data & Sync -> geographic vector import | Good for existing GIS exports |
| GeoPackage | Data & Sync -> geographic vector import | Useful for GIS teams and larger datasets |
| File Geodatabase (GDB) | Data & Sync → GeoJSON / KMZ / GPKG / GDB | Import a zipped package through the online Geova conversion service; check fields and attachments |
| Shapefile | SHP Manager | Requires SHP entitlement and Owner/Admin/Editor role |
| DXF | CAD Manager | Use when asset locations come from CAD drawings |
Import Check
After importing:
- Open the Map View.
- Confirm points appear in the expected district.
- Open the Collected Features Table.
- Check that Asset ID, Pole Number, and other fields imported correctly.
- If imported points appear in the wrong place, review the source CRS.
- If the source is GDB, verify converted feature fields and attachments. Do not assume separate inspection tables have become editable relationships; check the preservation reference before planning that workflow.
10. Add District Reference Zones
Reference zones are useful when each inspection should inherit a district, maintenance area, or contractor zone.
- Open Data & Sync.
- Upload district polygons as a KMZ, KML, or GeoJSON reference layer.
- Name the reference layer, for example:
Maintenance Districts - Configure Spatial Auto-Fill in Forms so new streetlight inspections can store the district name.
Example Auto-Fill Field
| Form Field | Reference Layer | Reference Attribute |
|---|---|---|
| District | Maintenance Districts | district_name |
When a collector saves a streetlight point inside a district polygon, Mapplex can populate the District field from the matching polygon attribute. For line or polygon collection workflows, the lookup uses the collected feature's centroid.
When to Skip This Step
Skip reference zones if district information already exists in the imported asset table or if the project does not need zone-based reporting.
11. Prepare Field Devices
Before the team leaves:
- Open the project on each device.
- Confirm each collector can see the
Streetlightslayer and form. - Download offline map tiles for the inspection area.
- Confirm GPS permission is enabled.
- Enable required field tools in Settings:
- GPS Accuracy Indicator
- GPS Recording Tools if teams will record movement
- Quick Capture if the workflow uses fast point collection
- Keep Screen Awake for long field sessions
- Confirm the sync method:
- Cloud sync if internet is expected.
- Local P2P sync if devices will consolidate data on the same Wi-Fi or hotspot.
Field Briefing
Give collectors a short instruction such as:
Inspect only assigned streets. Capture or update each streetlight point, complete the condition fields, attach a photo for damaged assets, and mark the record Complete only after reviewing the form.
12. Collect Records in the Field
Collectors should follow a consistent pattern:
- Open Map View.
- Select the
Streetlightslayer. - Tap an existing asset point, or use GPS capture to add a missing asset.
- Fill the inspection form.
- Add a photo when the asset is damaged, obstructed, missing, or needs repair.
- Set
Inspection StatustoCompletewhen all required fields are entered. - Save the record before moving to the next asset.
Using Quick Capture for Missing Assets
If a collector finds a streetlight that is not already on the map:
- Confirm the active layer is
Streetlights. - Wait for GPS accuracy to stabilize.
- Use Record in the Collector phone layout or GPS Pin in other layouts. Quick Capture, when enabled, changes the form workflow; review the position and values before saving.
- Fill the form immediately, including Asset ID or Pole Number if visible on site.
- Add a note such as
New asset found in fieldif the asset needs office verification.
Describing a Missing Asset by Voice
If voice entry is available in the Quick Capture form, describe the new asset using your actual field labels and choice values. For example, dictate a separate condition and note rather than combining an observation with the asset identifier. Check the recognized Asset ID or Pole Number carefully; type its exact spelling if uncertain.
Use Suggest values and Apply to form, complete any unresolved fields manually, and add the photo normally. Choose Save Capture before moving to the next asset. Voice assistance fills the new capture draft; opening an existing asset uses that record's normal editing workflow.
When GPS Is Inaccurate
If the GPS accuracy indicator is poor:
- Wait for the signal to stabilize.
- Move away from tall buildings or heavy tree cover if possible.
- Use manual coordinate entry only when the team has reliable source coordinates.
- Add a note if the location needs office review.
13. Review Data During or After Collection
Open Data & Sync and expand the Streetlights layer in the collected features table.
Check for:
- Empty Asset ID or Pole Number values
- Records still marked
Not StartedorIn Progress - Damaged assets without photos
- High or Urgent repair priority without notes
- Duplicate points at the same location
- Records outside the expected district
Useful Dashboard Filters
These examples filter the asset form above. If you chose separate related visits, review those visits through the related-record workflow rather than assuming their fields belong to the asset layer.
In the Dashboard project detail modal, use Guided Builder or Raw SQL filters such as:
inspection_status != 'Complete'repair_priority = 'Urgent'condition = 'Damaged' AND photo IS NULLEnter only the filter expression. Do not include SELECT or WHERE.
A missing photo can be stored as null or another empty value. Check a known incomplete record and use the available empty-value condition for your field; the example above tests only null.
Tip: Use the field chips in the Dashboard query panel to insert the exact field names from your layer. Imported datasets often use different names, such as
status,insp_stat, orrepair_pri.
14. Use Geova AI for Review
If Geova AI is available, use it to speed up review. Keep prompts specific and review the result before exporting or saving.
| Review Goal | Prompt |
|---|---|
| Find incomplete records | "Show streetlight inspections where Inspection Status is not Complete" |
| Triage urgent repairs | "List streetlights where Repair Priority is Urgent, grouped by district" |
| Check missing photos | "Find damaged streetlights that do not have a photo" |
| Summarize progress | "Count completed and incomplete inspections by district" |
| Prepare a supervisor list | "List streetlights where Repair Priority equals Urgent and Inspection Date is from 5 October 2026 through 11 October 2026" |
| Draft a dashboard filter | "Create a filter for damaged streetlights with missing photos" |
Review Before Acting
Before sharing AI results:
- Expand the SQL or query details when available.
- Check the result count.
- Open the map preview and confirm the locations make sense.
- Export or save the result only after review. To create a result layer, use the offered result action; asking for a list does not itself save a layer.
15. Export the Weekly Report
Choose the export format based on the recipient.
| Recipient | Recommended Export | Why |
|---|---|---|
| Supervisor | CSV | Easy to review in Excel or Google Sheets |
| GIS team | GeoJSON, GeoPackage, or GDB | Choose a layer export for selected spatial data, or Project package for supported linked tables and attachments; FileGDB conversion requires internet |
| Contractor | CSV plus PDF map | Clear list of work plus visual reference |
| Public meeting / briefing | PDF map | Good for presentation and printed review |
| Google Earth review | KMZ | Easy visual handoff |
Suggested Export Package
For a weekly municipal inspection handoff:
- CSV of all urgent and high-priority repairs.
- PDF map showing inspected assets and priority categories.
- GeoJSON or GeoPackage for GIS archive.
- For a handover that includes related inspections, choose Project package in GeoPackage or FileGDB ZIP. Review the included layers, tables, relationships and attachments; finish syncing first for a hosted package. Follow Export a project package and check the output in the receiving GIS tool.
- Photo and file attachments retained in the project for evidence review.
16. Sync and Handoff
If Using Hosted Projects
- Return to the Dashboard when internet is available.
- Check the sync status.
- Open sync details and resolve any pending or uncertain deliveries without clearing application data.
- Ask the supervisor to review the hosted project before exporting final files.
If Using Local Projects
- Export CSV and GeoJSON backups.
- Use local P2P sync if multiple field devices need to consolidate records.
- Upload the local project to hosted storage if collaboration becomes necessary.
17. Common Variations
| Variation | How to Adapt the Workflow |
|---|---|
| Hydrant inspection | Replace Lamp Working with Flow Rate, Accessibility, and Hydrant Type |
| Road defect survey | Use a point layer for potholes or a line layer for damaged road segments |
| Sign inventory | Add fields for sign type, reflectivity, mounting condition, and replacement priority |
| Park asset audit | Use layers for benches, lights, trees, and facilities |
| Storm damage assessment | Add fields for damage category, accessibility, safety risk, and follow-up status |
18. What Makes This Workflow Reliable
- Clear roles prevent accidental schema changes or deletions.
- Dropdowns and Lexicons reduce inconsistent field values.
- Smart Logic keeps forms shorter while still collecting repair details.
- Offline tile preparation avoids field delays.
- Data review happens before export, not after the report is sent.
- AI is used for review and summarization, with human confirmation before action.
Previous: Module 15: Capability ReferenceNext: Module 17: Glossary & Key Concepts