What are Custom Objects in Forerunner?
Custom Objects are user-defined geospatial features that can represent any type of geographic data your organization needs to track. Unlike Properties (which are always address-based points), Custom Objects support any geometry type—points, lines, polygons, and more. Custom Objects enable Forerunner users to extend the platform beyond traditional property management to support infrastructure tracking, zone management, and any other geospatial use case.Why Custom Objects Matter
Custom Objects provide flexibility to:- Track infrastructure like stormwater systems, utilities, roads, and critical facilities
- Define zones and regions such as community boundaries, flood zones, or planning areas
- Import existing GIS data from Shapefiles, GeoJSON, and other formats
- Create custom schemas with exactly the fields your organization needs
- Visualize any geometry including points, lines, areas, and multi-part features
- Engage public users through the public website, where community members can view custom object details, submit records, and attach files
Custom Objects are a newer concept in Forerunner that significantly expands what you can track and manage beyond traditional properties. They enable cross-sector use cases from emergency management to infrastructure planning.
Key Features
Flexible Geometry Types
Custom Objects support all standard GIS geometry types:- Points: Individual locations (fire hydrants, signs, trees)
- Lines: Linear features (roads, pipes, power lines)
- Polygons: Areas (communities, flood zones, land parcels)
- Multi-part geometries: Complex features with multiple components
Dynamic Field Structure
Unlike Properties with fixed address fields, Custom Objects have:- Label: The primary display name for each object
- Additional Fields: Flexible key-value data imported from your source files
- Auto-detected schema: Field types automatically determined from your data
- Custom styling: Colors, icons, line widths, and opacity per object type
Bulk Import Workflow
Custom Objects are typically created through bulk import:- Prepare GeoJSON or Shapefile data with your features
- Upload to designated import location
- System processes and validates the data
- Objects appear on map and in tables
- Attachments (records, files, tasks) are preserved during re-imports
Custom objects can be drawn directly on the map from the web or mobile app, or imported in bulk from GeoJSON or Shapefile data. See Creating objects for details.
How Custom Objects Work
Object Types
Each set of Custom Objects belongs to an object type (called a CustomMap in the codebase). For example:- “Fire Hydrants” object type containing individual hydrant objects
- “Stormwater Systems” object type containing pipe and inlet objects
- “Community Boundaries” object type containing neighborhood polygons
- What fields all objects of that type will have
- How objects are styled on the map (colors, icons, line styles)
- Whether labels appear on the map
- Display order and legend settings
Object Groups
Related object types can be organized into object groups for easier navigation and management. For example, you might create a “Stormwater Infrastructure” group containing:- Stormwater inlets
- Stormwater pipes
- Outfall structures
- Drainage basins
- Organized navigation in the sidebar
- Combined table views across multiple object types
- Logical grouping of related features
Object Information Panel
Click any custom object on the map or in a table to open the Object Information Panel (OIP):- Overview
- Activity
- Tasks
- Records
- Files
View object details including:
- Object type and name (label)
- Coordinates (interior point for areas)
- All custom fields from your data
- Geometry information
Importing Custom Objects
Supported Data Formats
Forerunner accepts two primary formats for custom object imports: GeoJSON:- Standard web-friendly geospatial format
- JSON-based, human-readable
- Supports all geometry types
- Includes feature properties as fields
- Traditional GIS format
- Requires .shp, .shx, .dbf, and .prj files
- Converted to GeoJSON during import
- Supports coordinate system transformations
Import Process
1
Prepare your data
Ensure your GeoJSON or Shapefile includes:
- Valid geometry in WGS 84 (EPSG:4326) projection
- A
source_idfield for each feature (important for re-imports) - All attribute fields you want to track
- Consistent field names and types
2
Upload data file
Work with your administrator to:
- Upload file to designated S3 bucket
- Trigger import command with appropriate map ID
- Monitor import progress
3
Import processing
Forerunner automatically:
- Converts shapefiles to GeoJSON if needed
- Auto-detects schema from first 100 features
- Creates partition table for efficient storage
- Generates map tileset for visualization
- Performs atomic swap to new data
4
Review and verify
After import completion:
- Check objects appear on map
- Verify fields display correctly in tables
- Test filtering and search
- Confirm styling and labels
Re-Importing and Updates
When you re-import Custom Objects:- Matching by source_id: Objects with matching
source_idvalues are updated (not recreated) - Attachments preserved: Records, files, tasks, and comments remain linked
- Schema must match: New imports must have the same fields as existing data
- Removed objects tracked: Objects missing from new import are flagged if they have attachments
Map Visualization
Styling Options
Custom Objects support rich styling configurations: For Points:- Icon selection from library
- Icon size and color
- Custom marker images
- Line color and opacity
- Line width
- Dash patterns
- Fill color and opacity
- Border color and width
- Border opacity
- Toggle labels on/off per object type
- Automatic label positioning
- Collision detection
Layer Controls
Each custom object type appears as a separate map layer:- Toggle layers on/off in map controls
- Control layer order (z-index)
- Visibility based on zoom level
- Legend showing all active layers
Common Use Cases
Infrastructure Management
Track stormwater systems, utilities, roads, bridges, and other physical assets
Zone Management
Define and monitor community boundaries, planning zones, or regulatory areas
Emergency Response
Map critical facilities, evacuation routes, and emergency resources
Environmental Monitoring
Track natural features, conservation areas, or environmental observations
Custom Object vs. Property
Understanding when to use each type:
Use Properties when:
- You’re tracking buildings or addresses
- You need elevation certificates
- You want manual entry through UI
- You need parcel data integration
- You need line or polygon geometry
- You’re importing existing GIS data
- You need flexible field structure
- You’re tracking non-address features
Limitations and Constraints
Schema Constraints
- Additional fields must be flat key-value pairs (no nested objects or arrays)
- Field types limited to: string, number, boolean, null
- Field names must be valid JSON keys
- Schema changes require re-import of all data
Import Constraints
- Large imports (>10,000 features) may take significant processing time
- Only one import per object type at a time
- Import is atomic (all features succeed or all fail)
- Maximum file size depends on system configuration
Editing
- Objects created manually on web or mobile can have their label and geometry edited in the app
- Objects brought in through a GIS import are updated by re-importing the source data
- Field values are updated by re-importing
In-app editing covers the label and geometry of manually-created objects. Imported objects and field values are maintained through re-import, reflecting the bulk data management nature of large geospatial datasets. See Editing a custom object.
Next Steps
Import Custom Objects
Learn how to prepare and import geospatial data
Organize with Groups
Create groups to organize custom object types
View and Search
Learn how to find and filter custom objects
Attach Records
Add records and files to custom objects