-
Notifications
You must be signed in to change notification settings - Fork 23
Use Case: On‐street EV Charging and Usage Tracking
Note: this is a specific implementation of a use case from the CDS Examples page.
This example supports the CDS use case "On-street EV charging and usage tracking." It shows how the Curb Data Specification (CDS) describes the location of an on-street, at-curb EV charging station with associated permissions, the details of the EV charging "object", and an Event that tracks a charging session there.
EV only parking policy and rules. 4 hour max stay, with 1 hour no return. For electric vehicles. Small vehicles not allowed. $2 an hour flat rate.
{
"curb_policy_id": "b02b3c99-3475-451d-a1d7-c3ef438db5fe",
"name": "Rules for parking an electric vehicle (EV) in a curb space with a charging station.",
"description": "4 hour max stay, with 1 hour no return. For electric vehicles. Small vehicles not allowed. $2 an hour flat rate.",
"published_date": 1643130000000,
"priority": 1,
"rules": [
{
"name": "string",
"description": "string",
"activity": "parking",
"max_stay": 240,
"max_stay_unit": "minutes",
"no_return": 60,
"no_return_unit": "minutes",
"user_classes_except": [
"combustion", "bicycle", "bus", "cargo_bicycle", "moped", "scooter"
],
"purposes": [
"parking", "service_vehicles", "taxi", "valet"
],
"rate": [
{
"rate": 2,
"rate_unit": "hour"
}
]
}
],
"time_spans": [
{
"start_date": 1643130000000,
"end_date": 1649130000000,
}
]
}Define the curb zone.
{
"curb_zone_id": "0eaa505d-c9e1-49ad-9fac-3c745ba58676",
"geometry": {
"type": "Polygon",
"coordinates": [
[
-73.982105,
40.767932
],
[
-73.973694,
40.764551
],
[
-73.949318,
40.796918
]
]
},
"description": "string",
"curb_policy_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"published_date": 1643130000000,
"prev_policies": [
{
"curb_policy_ids": [
null
],
"start_date": 1643130000000,
"end_date": 1643130000000
}
],
"last_updated_date": 1643130000000,
"available": true,
"available_spaces": 0,
"jurisdiction_type": "public",
"owner_name": "string",
"address_number": "string",
"prev_curb_zone_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"start_date": 1643130000000,
"end_date": 1643130000000,
"location_references": [
{
"source": "string",
"ref_id": "string",
"start": 0,
"end": 0,
"side": "left"
}
],
"name": "string",
"user_zone_id": "string",
"street_name": "string",
"cross_street_start_name": "string",
"cross_street_end_name": "string",
"length": 1,
"width": 1,
"available_space_lengths": [
0
],
"availability_time": 1643130000000,
"parking_angle": "parallel",
"num_spaces": 0,
"street_side": "N",
"median": true,
"entire_roadway": true,
"curb_area_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"curb_object_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"curb_space_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"custom_attributes": {
"color": "blue",
"kiosk_id": "K-1234"
},
"external_references": [
{
"reference_url": "https://example.com/wzdx/road-events",
"name": "WZDx",
"public": true,
"identifier_name": "RoadEventFeature",
"ids": [
"road_event_feature_1234"
]
}
]
}Define a single parking space in the curb zone for an EV vehicle.
{
"curb_space_id": "182c227b-ca22-4250-a08c-0b1d60c1dadc",
"geometry": {
"type": "Polygon",
"coordinates": [
[
-73.982105,
40.767932
],
[
-73.973694,
40.764551
],
[
-73.949318,
40.796918
]
]
},
"name": "string",
"published_date": 1643130000000,
"last_updated_date": 1643130000000,
"curb_zone_id": "0eaa505d-c9e1-49ad-9fac-3c745ba58676",
"curb_object_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"space_number": 10,
"length": 0,
"width": 0,
"available": true,
"availability_time": 1643130000000,
"custom_attributes": {
"color": "blue",
"kiosk_id": "K-1234"
},
"external_references": [
{
"reference_url": "https://example.com/wzdx/road-events",
"name": "WZDx",
"public": true,
"identifier_name": "RoadEventFeature",
"ids": [
"road_event_feature_1234"
]
}
]
}Define an EV charging station and properties.
{
"curb_object_id": "1f4e2d6a-9b3c-4f8a-bd21-7c5e9a0d3b62",
"geometry": {
"type": "Point",
"coordinates": [
-73.982105,
40.767932
]
},
"curb_zone_id": "a3b1c8d4-2e6f-4a90-9c11-5d7e8f2a4b06",
"curb_policy_id": "6d2f9c14-8b37-4e51-a0d9-1c4e7b8a52f3",
"lane_type": "parking",
"object_type": "signage",
"name": "No Parking 8-10 AM sign",
"description": "Pole-mounted regulatory sign at the upstream end of the loading zone.",
"owner": "City Department of Transportation",
"operator": "City Department of Transportation",
"linear_distance": 0,
"perpendicular_distance": 45,
"max_length": 30,
"max_depth": 30,
"max_height": 240,
"published_date": 1643130000000,
"last_updated_date": 1643130000000,
"external_references": [
{
"reference_url": "https://example.com/signs/no-parking-8-10",
"name": "CDS",
"public": true,
"identifier_name": "id",
"ids": [
"sign_1234"
]
}
]
}Create an EV charging event and transaction.
{
"event_id": "a7a26ff2-e851-45b6-9634-d595f45458b7",
"event_type": "comms_lost",
"event_purpose": "string",
"event_location": {
"type": "Point",
"coordinates": [
[
-73.982105,
40.767932
]
]
},
"event_time": 1643130000000,
"event_publication_time": 1643130000000,
"event_session_id": "b81ad47b-76c8-44b9-8c45-3655880d887a",
"curb_zone_id": "1897ba21-d26b-4e9a-b61b-d4e6712c8a45",
"curb_area_ids": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"curb_space_id": "182c227b-ca22-4250-a08c-0b1d60c1dadc",
"curb_object_id": "55e9452a-5b45-463a-b891-f0ea32fc0eaf",
"data_source_type": "data_feed",
"data_source_operator_id": "55b617b9-730e-485e-83de-5e1a35fdc352",
"data_source_operator_name": "string",
"data_source_device_id": "642bca69-00e8-4d70-bb51-65c53111d838",
"data_source_device_name": "string",
"data_source_manufacturer": "string",
"data_source_model": "string",
"sensor_status_is_commissioned": true,
"sensor_status_is_online": true,
"vehicle_id": "string",
"vehicle_license_plate": "string",
"vehicle_license_plate_jurisdiction": "string",
"vehicle_license_plate_confidence": 1,
"vehicle_permit_number": "string",
"vehicle_length": 0,
"vehicle_type": "bicycle",
"vehicle_type_confidence": 1,
"vehicle_color": "string",
"vehicle_color_confidence": 1,
"vehicle_company_name": "string",
"vehicle_company_name_confidence": 1,
"vehicle_run_id": "string",
"vehicle_run_id_confidence": 1,
"vehicle_propulsion_types": [
"human"
],
"vehicle_blocked_lane_types": [
"travel_lane"
],
"curb_occupants": [
{
"type": "bicycle",
"length": 0,
"linear_location": [
null,
null
]
}
],
"actual_cost": 100,
"enforcement": {
"enforcement_id": "123e4567-e89b-12d3-a456-426614174000",
"citation_id": "C-2026-0001",
"is_warning": false,
"action_taken": "citation_posted",
"citation_cost": "6500",
"violations": [
{
"violation_code": "NO_PARKING",
"violation_name": "No parking in loading zone",
"violation_cost": "6500"
}
]
},
"payment_channel": "meter",
"payment_method": "cash",
"payment_transaction_id": "string",
"custom_attributes": {
"color": "blue",
"kiosk_id": "K-1234"
},
"external_references": [
{
"reference_url": "https://example.com/wzdx/road-events",
"name": "WZDx",
"public": true,
"identifier_name": "RoadEventFeature",
"ids": [
"road_event_feature_1234"
]
}
]
}Turning this event into a session in Metrics.
{
"session_type": "parking",
"event_session_id": "b81ad47b-76c8-44b9-8c45-3655880d887a",
"event_id_start": "c7d99cd9-387d-4a57-872b-844234319ba0",
"event_id_end": "801eb3f4-3c11-4432-8896-0f2bd66be2db",
"event_location_start_latitude": -180,
"event_location_start_longitude": -180,
"event_location_end_latitude": -180,
"event_location_end_longitude": -180,
"event_time_start": 1643130000000,
"event_time_end": 1643130000000,
"curb_zone_id": "1897ba21-d26b-4e9a-b61b-d4e6712c8a45",
"curb_space_id": "182c227b-ca22-4250-a08c-0b1d60c1dadc",
"curb_object_id": "55e9452a-5b45-463a-b891-f0ea32fc0eaf",
"vehicle_length": 900,
"vehicle_type": "car"
}Sample of aggregated counts and calculations of usage at this EV charging station.
{
"curb_place_type": "space",
"curb_place_id": "3dff0d35-b1c0-40e1-8246-2e24b6871b69",
"metric_type": "total_sessions",
"date": "2023-04-30",
"hour": 23,
"value": 100
}- Curb Wiki Home
- Curb Data Specification (CDS)
- About CDS
- Scope of Work document
- Curb mailing list
- Full Working Group Charter
CDS Links
- CDS Releases
- Policy Language Guidance
- Architectural Decisions
- Pilot Project Guide
- Getting Started Guide
- Curbs Use Cases
1.1.0 Release
1.0.0 Release
