Collection, monitoring, analyzing and reporting of traffic data via vehicle sensor devices placed at multiple remote locations
Traffic management reports are created from data provided by vehicle sensor devices placed at different fixed locations in a region. Data of vehicles that pass each of the vehicle sensor devices are captured and communicated to a central computer database. At the central computer database, traffic management reports are periodically created from the vehicle data. Each traffic management report incorporates vehicle data from a plurality of vehicles. The vehicle data is for a plurality of previous, non-current times so as to allow for analysis of past vehicle data.
Latest Intuitive Control Systems, LLC Patents:
- Collection, monitoring, analyzing and reporting decay rate of traffic speed data via vehicle sensor devices placed at multiple remote locations
- Collection, monitoring, analyzing and reporting of traffic data via vehicle sensor devices placed at multiple remote locations to create traffic priority enforcement reports
- Method and computer program product for allowing a software application to interact with a product
- Collection, monitoring, analyzing and reporting of traffic data via vehicle sensor devices placed at multiple remote locations
- Collection, monitoring, analyzing and reporting of traffic data via vehicle sensor devices placed at multiple remote locations
This application is a continuation of U.S. patent application Ser. No. 13/792,359 filed Mar. 11, 2013, which in turn is a continuation of U.S. patent application Ser. No. 11/901,357 filed Sep. 17, 2007, now U.S. Pat. No. 8,417,442. The entire disclosure of both of these applications are incorporated by reference herein.
This application claims the benefit of U.S. Provisional Patent Application No. 60/845,796 filed Sep. 19, 2006.
BACKGROUND TO THE INVENTIONRadar speed trailers (also, referred to as “radar trailers,” “speed trailers” or “radar speed signs”) are portable devices that capture vehicle speed as the vehicle passes the device. Typically, the device also includes a speed indicator and the posted speed limit. Radar speed trailers typically include optional data collection units that store data detected by the radar devices. The stored data may be downloaded into a computer for analysis, charting, and the like.
Intuitive Control Systems, LLC (d/b/a All Traffic Solutions (ATS)), State College, Pa., sells a radar speed sign called SPEEDsentry™ Radar Speed Display. The SPEEDsentry display uses a radar antenna to measure the speed of an approaching vehicle and then displays the speed. The SPEEDsentry is sold with a standard programming features included and a number of other optional features, including a data logging feature. The data logging feature will keep a running log in local memory of every speed measured by the radar and the time of the measurement. The radar sensor takes a periodic reading. All readings are saved to the unit's internal memory. The user of the SPEEDsentry periodically downloads this data directly to a Laptop/PC using a cable or indirectly via a PDA. This prior art method is illustrated in
The downloaded data is very useful for those responsible for traffic control. In addition to the supplied proprietary software, the data can be imported into a spreadsheet program and manipulated and analyzed. Some of the useful information than can and is often obtained from the downloaded data includes:
1. Average speed (overall and for specific time periods/windows)
2. 85th percentile speed
3. Maximum speeds can be determined by sorting the data on the spreadsheet
4. Road volume per time window
5. Car volume per speed range for each time window
Traffic managers (e.g., law enforcement) are able to make appropriate decisions for traffic control and speed enforcement based on reports derived from the data. Such decisions can include where and when to provide police law enforcement. It can also provide road traffic volumes for making other volume dependent decisions.
While the downloaded data is very useful to customers for monitoring traffic and making appropriate decisions, there are significant drawbacks. These include the cumbersome nature of collecting the data, storing numerous data files in an organized fashion to allow searching at a later time, analyzing the data for trends and combining data from separate data files. In particular, each time a customer downloads data, it is placed in a separate file. If a customer has multiple SPEEDsentrys, each SPEEDsentry generates data files for each location where it recorded data. It is complicated to collect and organize this data and keep track of the multiple files. Furthermore, it is complicated to make comparisons between separate data sets. In sum, the current method of developing useful reports from the collected data is time-consuming and too complicated for the average traffic officer.
BRIEF SUMMARY OF THE INVENTIONPreferred embodiments of the present invention provide at least the following benefits:
- 1. Data from multiple sources can be placed into a common database.
- 2. Data from any number of sensor devices can be automatically and independently uploaded into a common database with near immediate access to reports on the data from any web browser.
- 3. Data sets can be identified by a plurality of names (e.g., up to 12 names) for later sorting and organizing. These names may include county or municipality, road name, location on the road, side of the road, speed limit, school zone, work zone, or the like. The names are determined by the user and determined by future studies. Dates are automatically included, as these are part of the data.
- 4. Data can be grouped by the named fields and used to generate reports over a broad range or a very narrow range depending on the criteria selected.
- 5. The system can sort the data automatically and determine for the traffic officer the time windows with the highest percentage of speed violations or the highest speed violation events within a selected data range.
- 6. The system can automatically generate summary charts that provide the user with a traffic and speed summary for a given data range, the summary including vehicle count, maximum and minimum speeds, average speeds, percentile speeds (e.g., 85th percentile speeds), and can provide other information.
- 7. The system can provide the effectiveness decay rate of actual police enforcement by allowing the user to chart the speeds in a particular location and overlay times when an officer was present and providing on-site enforcement. The system can monitor the speed in the location and when the speeds creep back up to a set speed or multiple of the speed after the enforcement period, the officer can be notified to provide enforcement again and reduce the speeds.
- 8. The system can provide alerts including individual high speed events, tamper alerts, low average speed indicating a problem, and average speed above the set value. All of the alerts have settings that are configured by the user.
- 9. The system can provide road volume reports with variable length periods of minimum vehicular traffic and maximum traffic.
- 10. The system can compare speed and traffic volume statistics across multiple jurisdictions and across the nation to determine the effectiveness of a local program compared to a national average or other average or comparison statistics determined to be appropriate.
The foregoing summary, as well as the following detailed description of preferred embodiments of the invention, will be better understood when read in conjunction with the appended drawings. For the purpose of illustrating the invention, there is shown in the drawings embodiments which are presently preferred. It should be understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown.
Certain terminology is used herein for convenience only and is not to be taken as a limitation on the present invention.
I. Overview
The present invention is described in the context of a web-enabled service referred to as “WebEmpowered™ SPEEDSentry™, provided by All Traffic Solutions. This service provides a method for collecting and reporting on the data generated by SPEEDsentry installations. However, the scope of the present invention is not limited to this particular embodiment.
The general process is represented by
- 1. Provide an installed base of multiple traffic sensing devices at different locations. The installed base optionally comprises multiple customers, each having at least one traffic sensing device installed at one or more locations.
- 2. Collect vehicle/traffic data from multiple locations (all or a subset of the installed base) as vehicles pass by the sensing devices (e.g., SPEEDsentry devices).
- 3. Transmit via electronic means (automatically or manually) the collected data to one or more databases, each aggregating data from multiple sensing devices.
- 4. Provide customer access to one or more predefined reports derived from the database(s) via a user interface (e.g., traffic management reports or traffic enforcement reports using selected for filtered data).
A. Providing an Installed Base
The first step of the process is to provide an installed base of traffic sensing devices. This can comprise a single customer having sensing devices at one or multiple locations or can be multiple customers at separate localities, each customer having one or more of such devices (e.g., the SPEEDsentry). The devices can be installed by the company, or the devices can be installed by the customer. For example, a local police force may install a single SPEEDsentry along five different residential streets in its jurisdiction at multiple different periods to collect speed data as vehicles pass by. The specific type of sensing equipment is not critical to the present invention. However, the most practical are devices that contain a standard radar antenna and are capable of collecting speed, date, time, a unique location/data source identifier, traffic directional identifier and radar selectivity/sensitivity data. Other types of sensors and other data collection systems are also within the scope of the invention. Laser speed sensors, road tubes and other road type sensors, infrared beams, acoustic sensors, piezoelectric sensors and many other technologies could be used to gather the data. The installed sensor base can contain devices of many different types and can range from being highly portable to permanent installations.
B. Data Collection
The next step of the process is to collect vehicle/traffic data from all or a subset of the installed base of devices as vehicles pass at least one sensing device at each location. This is preferably done at each location, and the data from one location has no relationship to the data from another location. In current practice, the data collected is speed, date, time, a unique location/data source identifier, traffic directional identifier and radar selectivity/sensitivity data. Other types of sensors and other data collection is also within the scope of the invention. The collected data and any locally generated derivative data (e.g., car count estimates, consolidated or compressed data, zero or no vehicles present data, rolling average speed) are temporarily stored in local memory until being periodically transmitted to a central database (also, referred to interchangeably as a “central computer database” or “centralized data center”). It is important to note that this collection is typically done automatically and independently at each location by local settings on the device. However, the settings can be changed from a remote location as will be discussed later. The calculations can also be performed on the server with only the raw data saved at the local device.
While the scope of the present invention including having only a single location for any one customer, the value of the present invention becomes significantly greater as the number of data collecting locations increases and the number of data sets increase as the unit(s) are placed to take data in these locations for more time periods. Thus, one preferred embodiment of the present invention is when there are multiple data collecting devices in a single local region (e.g., a municipality). Another preferred embodiment occurs when there are multiple localities (e.g., municipalities) that each have one or multiple data collecting devices. This particular version is represented in
C. Data Transmission
The next step of the process is transmittal of the collected data via electronic means to a centralized computer/server where the data is stored in at least one common/central database that aggregates data from one or multiple devices and one or multiple locations. The specific electronic means that is used to transmit the data to the central server is not critical.
- (1) downloading the radar speed sign data to a PDA, connecting it to a computer with an internet browser, and uploading the data;
- (2) connecting the radar speed sign directly to a computer with an internet connection (with appropriate software); and/or
- (3) connecting the radar speed sign to a wireless communications module capable of TCP/IP (e.g., cellular GPRS, cellular CDMA, 801.11/WiFi). See
FIG. 2 .
Again the specific data transfer means is not critical as long as the data can be transmitted to a central database. The data could also be loaded directly into the database. Our currently preferred method of transmitting the data is through a cellular service. This service works by having a cellular modem at the data collection device call out on a regular schedule determined by the user and transmit the data to the central server.
In one preferred embodiment, each remote location transmits its data independent of the others. The transmissions could be done in real time as the data is produced. However, in practice, each location is programmed (which can be changed) to submit the data at a frequency (e.g., every 3 hours or once a day). This can save battery power and/or wireless transmission bandwidth and charges compared to transmitting in real time. The transmission is preferably two-way so that the programming or settings/configuration on each device can be updated or changed. Data communications to the devices typically includes settings such as the speed limit, whether the display is on or off, frequency of checking with the server for new settings or data upload, and other standard settings for the device.
D. Database Structure
E. Central Database Access/Use
The final step of the process is to provide access to reports from the database(s) to provide useful information (beyond raw data) that a traffic manager or others can use to make informed decisions. Typically, the users would be the customers that have the installed base of devices referred to above. However, additional users may include IT professionals, database managers, other company or governmental personnel, and the general public. There are many useful things that can be done with the data that will provide a traffic manager with more information than the raw data can provide, and the system provides a means for the user to get this report information easily. The data can be sorted, filtered, averaged, maximums and minimums determined, vehicle counts determined, and the like. Additionally, these values can be calculated for any time periods of interest. Some examples will be discussed below in the next section.
In practice, the database is accessed via a web user interface that any number of users (e.g., customers) can have access too. While the central database will contain data from many customers, each customer (via a unique login id) will typically have access to only their own data sources. This is accomplished by a table in the database that associates each user to a specific set of data sources. The users will be able to compare their data to other municipalities, but the specific names will remain confidential.
The primary use of the data for law enforcement customers is to provide enforcement reports. These reports give the officer the ability to select a dataset (e.g., all locations in the municipality for the last 6 months, all school zones for the last two weeks, all 25 MPH roads for the last month, all locations on a specific road, one specific location in a certain timeframe) and generate a report that highlights a certain number (e.g., 10) time periods of highest speeding violations. The time period duration is selectable, for example, 15 minute time windows or one hour time windows, depending on the resolution that the officer desires. The speed ranges are selectable as well. The violations can be the highest percentage over the speed limit or the highest actual number over the speed limit. The report also generates the highest individual speed violations for the data selected, again by actual speed or percentage over the posted speed limit. These times can be reviewed to see if there are patterns for the high speed events and these patterns can be used to identify likely enforcement times or repeat offenders passing the same location on a regular basis.
Reports can be generated on demand, in response to the occurrence of predefined conditions, or they can be scheduled to be generated and emailed or printed on a periodic schedule. All of the reports in the WebEmpowered system can be set up to be generated automatically (or automatically and periodically), including but not limited to the Summarized Speed Report (
These municipalities can share data only if they give each other approval to look at each other's data. They can also compare their data to national averages. This feature will allow the user to compare their speed enforcement performance with the performance of other communities in the nation of similar, smaller or larger size, or to compare their performance with a national average. These comparisons are simply selected in the report criteria section (
To get a report, the user selects criteria from a criteria selection screen (
The criteria selection screen allows for the generation of customized reports such as the Summarized Speed Report (
Selecting the report criteria links each criteria with the appropriate data field in which this data is stored (
Use of the data that is provided by the sensors, unit or location alerts can be provided. The alert criteria or triggers are input on the Alert Criteria Screen (
The system will also provide an alert when it senses a bad radar sensor in the unit. If the control circuitry in the unit gets either incorrect or corrupt data from the radar unit or no signal for some preset interval in which it is very unlikely that there were no cars, the unit will send a “bad Radar” alarm to the individuals configured to receive this specific alarm. These might be the officer responsible for the unit or the department's or outsourced service personnel. The bad radar alert is similar to other alerts in
The alerts and sensor settings are tied to a location in the WebEmpowered System, not to a specific unit. If a sensor is set up in a specific location, the next time the sensor dials in for settings or to download data, the settings saved in the database for this location will be downloaded to the unit. These settings can include the speed limit, radar sensitivity, maximum speed displayed, and all of the other display settings. The alert settings are also tied to the location, not to a specific unit. In most cases, the settings for the high speed alert, low speed alert, tamper alert and others are tied to the location of the unit, not to the unit itself that can be set up in many different locations. In this manner, the user does not have to keep track of which unit is at a specific location. Instead, the user merely keeps track of which locations they will be installing units and the settings for that particular location. If a user has 10 signs, they would not need to know which of the 10 is set up at Main and Elm Streets. The user simply needs to know that a unit is there and what the settings are for any unit at that location.
II. Detailed Disclosure
400: Power up module.
402: Once a minute, the module checks to see if it is time for an update or a data upload event based on variables stored in its own EEPROM. If it is not, it goes back to doing nothing. If it is, the process continue.
404: The module transmits packets back and forth between itself and the radar speed sign to gather all of its current settings and a history of settings as they have changed (with timestamps), and, if possible, all of the speed data stored in the speed sign.
406: Once it has all of its data from the speed sign, the module powers on the modem, waits for a cellular signal (much like when a telephone powers on), and finally connects to the internet. Once it its talking over TCP/IP through the internet, it connects to the main server who will control the communications from here out.
408: The server will send a variety of packets of data to the communication module. Here, the module validates each packet to make sure that it was not altered during transmission.
410: If the packet command that was sent was a request to close the connection, the module will initiate shutdown procedures in process 414. Otherwise it processes the packet in process 412.
412: The packet is processed here—packet commands are all requests for data (such as “send all settings,” “send all data”) and commands to set variables (“apply these settings,” “set the clock,”) so the module returns the data that was requested of it to the server. See
414: The server has said to close the connection, so the module logs off the server, shuts down its wireless interne connection and powers off the modem. When this is complete, it returns back to checking to see if it is time for a new update.
500: Server Software is loaded.
502: A TCP/IP Socket/Port on the server is opened and set to listen for incoming connections.
504: When a new connection comes in, jump out of a endless loop of listening.
506: The server parses the connection string, and tries to find a match in the database of known, good devices. If a match is found, the program continues in process 510, otherwise, go to process 508.
508: The connection was declared as invalid and the connection is dropped. Start the process over.
510: The connection was declared as a valid device. Pass the socket and related device information off to a new thread that will handle all of the communications from here out.
520: New thread was created for a validated device.
522: If the SQL server has a flag set that the user has updated the settings, add a packet into the packet queue that will send the settings down.
524: Database settings are pulled and converted to a packet to be sent at a later time and added to the packet queue.
526: If the SQL server has a flag set that the user wants to ignore the data upload schedule and instead get data immediately, add a packet into the packet queue that will tell the module to get all of the data when this process is done.
528: Packet is generated and added to the packet queue.
530: The rest of the default packets are added to the packet queue.
532: The Packet queue is now built, so the server starts sending the commands to the module.
534: Every packet sent will get a response. Those responses could be simple “Task completed” notices or they could contain data that was requested. They are processed accordingly.
536: If there still packets left to send, the software jump back to process 532. If there are no more packets left to be sent, the software is done with the bulk of the communication work and is free to continue.
538: Since all communication is done, the server sends a close connection request packet to the communications module, and subsequently closes its socket connection.
540: If the module uploaded speed data, the server needs to take all that data in its memory and put it into SQL. If not, skip to process 546.
542: Data is moved from the server's in-memory collection of speeds and timestamps to rows in a SQL data table for storage.
544: The processing of raw data into useable information is very processor intensive due to the large quantity of data. Because of this, the server does all summarizing of the data as soon as the data arrives at the server and stores the result in a summarized table. Users then have near-instant access to the information they need.
546: Processing is complete, terminate the thread.
- 600: UserTypes—Various types of users (Administrator, Demo Users, Standard User)
- user_type_id: Primary key, index
- description: A description of the type of user
- 601: UserEmails—Acts as an email address pool
- email_id: Primary key, index
- user_id: The user that this email address belongs to—linked to users
- email_address: An email address string.
- is_mobile: A field indicating whether the email address in this row is a mobile device
- 602: UserEventsLog—Logs actions by the users on the website
- user_events_log_id—Index of the event
- user_id—the user who created the event
- user_event_id—the index of the event that is begin recorded (see UserEvents table)
- timestamp—the date and time (no seconds)
- 603: Users—List of all the users in the system and some associated information regarding their account
- user_id—A unique ID for the user.
- UserName—login name string
- Password—the account's password string
- user_type—The index of the associated type of the user, see UserTypes
- display_name—A string containing a friendlier name to display within the website
- IsDisabled—A bit flag that determines if the account is active or not
- IsMetric—A bit flag that determines if the account is a metric or English account
- last login—A timestamp field noting the last login date and time at the website
- ICS_CustomerID—An internal account ID that can associate
- 604: email_linx—A link table associating a product/device with multiple types of alerts and multiple email addresses
- product_id—The associated product that an alert is for. (See UserProducts)
- alert_type—The type of alert
- email_id—The email address ID associated with the alert (See UserEmails)
- 605: SIMS—An internal book-keeping list of all cellular SIMs and phone numbers in the system
- SIMid—A unique identifying index.
- ICCID—The SIM's serial number
- phone_number—The phone number associated with the account
- aqusition_date—The date that the ICCID was activated by the cellular carrier.
- 606: UserEvents—Lists all possible users actions with descriptions
- user_event_id—Unique index
- user_event_description—A string describing the event
- 607: CustomfieldNames—A table associating user-defined strings with Custom1/2/3/4 to make the system appear more user friendly.
- 608: UserProducts—A table of all products/devices and associated settings.
- product_id—A unique index
- product_type—the index of the type of product. (See ProductTypes)
- user_id—The index of the associated user/account that this device belongs to
- product_name—A user customizable string that is used to identify individual devices on the website.
- serial_number—The serial number associated with the device
- firmware_version—The version of the firmware in the communications module
- SIM_id—The ID of the associated SIM in this product
- tamper_enabled—A bit flag noting whether they have purchased the tamper alarm feature
- 609: ServerEventsLog—Logs actions by the server software on the website
- server_events_log_id—Index of the event
- product_id—The user who created the event
- server_event_id—The index of the event that is begin recorded (see ServerEvents table)
- event_detail—A string that is used to log event_specific details
- timestamp—the date and time (no seconds)
- 610: ServerEvents—Lists all possible server actions with descriptions
- server_event_id—Unique index
- server_event_description—A string describing the event
- 611: Enforcement—A table allowing a list of times and locations where police enforcement was in progress.
- Enforcement_id—A unique identifier.
- user_id—The associated user/account.
- Start_time—The time indicating when the enforcement started
- End_time—The time indicating when the enforcement ended
- Road_id—The road at which the enforcement took place.
- Location_id—The location on the road on which the enforcement took place
- 612: SignalHistory—An hourly log of the signal quality uploaded by the devices.
- signal_id—A unique ID
- product_id—The id of the product who's reading this is
- date_time—The timestamp of the reading
- signal_level—The reading itself
- 614: ProductTypes—A table of all the possible product types (15″ radar sign, 18″ radar sign, etc)
- product_type_id—A unique ID
- product_name—A string representing the title of the product.
- firmware_version—The latest firmware version for this product.
- 615: BatteryHistory—An hourly log of the battery level uploaded by the devices.
- battery_id—A unique ID.
- product_id—The id of the product who's reading this is.
- date_time—The timestamp of the reading.
- battery_level—The reading itself.
- 616: ByteTransactions—A log of the number of bytes transferred via cellular for billing purposes
- byte_id—A unique ID.
- time_stamp—The time the recording of bytes took place.
- byte_count—The number of bytes for the session being recorded
- product_id—The product that the bytes were transferred to and from.
- 617: SavedReports—A list of all reports and the settings that the users have set to generate them
- report_type—The type of report that the entry is for
- report_name—The user's title for the report.
- memorized_schedule—The schedule type for the report.
- 618: DataSummary—A table of processed data ready for display by the user.
- data_summary_id—A unique ID
- upload_id—The upload that this raw data is associated with.
- start_time—The start time for this bin
- end_time—The end time for this bin (start time+14 minutes, 59 seconds, 997 milliseconds)
- min_speed—The minimum speed detected during this bin.
- mean_speed—The average speed calculated for this bin.
- median_speed—The 50% median speed calculated for this bin.
- max_speed—The maximum speed detected for this bin.
- pcnt—85_speed—The 85% speed calculated for this bin.
- total_points—The total number of raw speed points used when calculating this bin (for weighting purposes.)
- avg_tr_spd_entering_above_SL—The average speed of a train of cars when entering the view of the radar gun when the entering speed is over the speed limit.
- avg_tr_spd_leaving_above_SL—The average speed of a train of cars when leaving the view of the radar gun when the entering speed is over the speed limit.
- train_cnt_above_SL—A count of the number of trains used to make this calculation.
- avg_tr_spd_entering_below_SL—The average speed of a train of cars when entering the view of the radar gun when the entering speed is under the speed limit.
- avg_tr_spd_leaving_below_SL—The average speed of a train of cars when leaving the view of the radar gun when the entering speed is below the speed limit.
- train_cnt_below_SL—A count of the number of trains used to make this calculation.
- vehicle_cnt_total—The number of vehicles detected in the time bin.
- vehicle_cnt_##_##—The number of vehicles detected in the time bin for this specified 5 MPH speed bin.
- 619: ExtremeViolators—A table listing up to three of the top violators in a 15 minute time window
- violators_id—A unique ID
- data_summary_id—The associated data ID row that the entry is linked to
- time_stamp—The time of the speed event
- speed—The recorded speed of the event
- 620: RawData—The raw speed data pulled from the radar gun
- data_id—A unique ID.
- time_stamp—The time(with milliseconds) of the speed reading.
- speed—The speed detected by the radar gun
- upload_id—The upload that this data is associated with.
- data_id—A unique ID.
- 621: Uploads
- product_id—The associated product that this dataset was uploaded by.
- map_position_top—The Y coordinate noting where on the current map the device was.
- map_position_—The X coordinate noting where on the current map the device was.
- gps_degrees—The degrees reading from the GPS device for this upload.
- gps_minutes—The minutes reading from the GPS device for this upload.
- gps_seconds—The seconds reading from the GPS device for this upload.
- road_id—The road associated with this upload.
- location_id—The location associated with this upload.
- direction_id—The direction associated with this upload.
- custom1_id—The custom1 field associated with this upload.
- custom2_id—The custom2 field associated with this upload.
- custom3_id—The custom3 field associated with this upload.
- custom4_id—The custom4 field associated with this upload.
- SchoolZone—A bit flag noting whether the device is in a school zone
- WorkZone—A bit flag noting whether the device is in a work zone
- display_type—The device's display type with this data.
- sign_mode—The device's sign mode with this data.
- radar_sensitivity—The device's radar sensitivity with this data.
- display_trigger—The device's display trigger with this data. (See Triggers table)
- display_trigger_speed—The device's display trigger speed with this data.
- strobe_trigger—The device's strobe trigger with this data. (See Triggers table)
- strobe_trigger_speed—The device's strobe trigger speed with this data.
- relay_trigger—The device's relay trigger with this data. (See Triggers table)
- relay_trigger_speed—The device's relay trigger speed with this data.
- speed_limit—The device's speed limit with this data.
- reduced_speed_limit—The device's reduced speed limit with this data.
- max_speed_displayed—The device's maximum speed displayed with this data.
- timeAon—The device's Time window A on time with this data.
- TimeAoff—The device's Time window A off time with this data.
- TimeBon—The device's Time window B on time with this data.
- TimeBoff—The device's Time window B off time with this data.
- pickup_distance—The device's manually entered pickup distance estimate with this data.
- upload_time—The time this upload took place.
- IsSummarized—A bit flag that notes whether the raw data for this upload has been summarized.
- HasRawData—A bit flag that notes whether the raw data for this upload still exists in the database.
- min_speed_summary—The speed at which all data below the value was ignored when calculating the summary.
- max_speed_summary—The speed at which all data above the value was ignored when calculating the summary.
- 622: Roads—A table containing all roads used by all accounts.
- road_id—A unique ID.
- road_name—A string containing the road's name
- user_id—The associated account for the road described.
- IsActive—This marks whether the user has disabled the road (for display purposes.)
- 623: Locations—A table containing all locations use by all accounts.
- location_id—A unique ID.
- road_id—The ID of the road that this location is on.
- location_name—A string containing the road's name
- IsActive—This marks whether the user has disabled the road (for display purposes.)
- 624: Directions—A table listing the 4 possible directions a road could have
- direction_id—A unique ID.
- direction_initials—The initials of the directions (NB—North Bound)
- direction_name—A string containing a show description of the direction (North Bound)
- 625: Custom1—A table containing all custom1 fields used by all accounts.
- custom1_id—A unique ID.
- custom1_name—A string containing the custom 1 field's name
- user_id—The associated account for the custom 1 field described.
- IsActive—This marks whether the user has disabled the custom 1 field (for display purposes.)
- 626: Custom2—A table containing all custom1 fields used by all accounts.
- custom2_id—A unique ID.
- custom1_name—A string containing the custom 2 field's name
- user_id—The associated account for the custom 2 field described.
- IsActive—This marks whether the user has disabled the custom 2 field (for display purposes.)
- 627: Custom3—A table containing all custom1 fields used by all accounts.
- custom3_id—A unique ID.
- custom3 name—A string containing the custom 3 field's name
- user_id—The associated account for the custom 3 field described.
- IsActive—This marks whether the user has disabled the custom 3 field (for display purposes.)
- 628: Custom4—A table containing all custom1 fields used by all accounts.
- custom4_id—A unique ID.
- custom4 name—A string containing the custom 4 field's name
- user_id—The associated account for the custom 4 field described.
- IsActive—This marks whether the user has disabled the custom 4 field (for display purposes.)
- 629: Triggers—A table containing the possible speed triggers for the sign
- trigger_id—A unique ID.
- trigger_desc—A description of the trigger (All Vehicles, Speed Limit, None, etc.)
- 630: Settings—A table containing all of the settings for all devices.
- product_id—The associated product that this dataset was uploaded by.
- map_position_top—The Y coordinate noting where on the current map the device was.
- map_position_left—The X coordinate noting where on the current map the device was.
- gps_degrees—The degrees reading from the GPS device for this upload.
- gps_minutes—The minutes reading from the GPS device for this upload.
- gps_seconds—The seconds reading from the GPS device for this upload.
- current_road—The road associated with this upload.
- current_location—The location associated with this upload.
- current_direction—The direction associated with this upload.
- current_custom1—The custom1 field associated with this upload.
- current_custom2—The custom2 field associated with this upload.
- current_custom3—The custom3 field associated with this upload.
- current_custom4—The custom4 field associated with this upload.
- SchoolZone—A bit flag noting whether the device is in a school zone
- WorkZone—A bit flag noting whether the device is in a work zone
- LastLogin—A timestamp of when the sign last logged into the server.
- display_type—The device's display type with this data.
- sign_mode—The device's sign mode with this data.
- radar_sensitivity—The device's radar sensitivity with this data.
- display_trigger—The device's display trigger with this data. (See Triggers table)
- display_trigger_speed—The device's display trigger speed with this data.
- strobe_trigger—The device's strobe trigger with this data. (See Triggers table)
- strobe_trigger_speed—The device's strobe trigger speed with this data.
- relay_trigger—The device's relay trigger with this data. (See Triggers table)
- relay_trigger_speed—The device's relay trigger speed with this data.
- speed_limit—The device's speed limit with this data.
- reduced_speed_limit—The device's reduced speed limit with this data.
- max_speed_displayed—The device's maximum speed displayed with this data.
- TimeAon—The device's Time window A on time with this data.
- TimeAoff—The device's Time window A off time with this data.
- TimeBon—The device's Time window B on time with this data.
- TimeBoff—The device's Time window B off time with this data.
- pickup_distance—The device's manually entered pickup distance estimate with this data.
- IsMetric—A bit flag noting whether this device is a metric unit.
- low_battery_notify—A number representing the percentage at which the device will auto-notify the user when the battery hits that voltage.
- tamper_notify—A sensitivity at which the device will notify the user when it detects vibrations on the sign.
- bad_radar_notify—A back end alert enable bit that allows ATS to be notified if the radar gun appears to have gone bad.
- slow_traffic_notify—A speed at which the device must detect to send a slow traffic alert.
- speed_over_notify—A speed at which the device must detect to send a speeder alert.
- new_data_notify—A bit flag noting whether the user wants to be notified of new data being uploaded into the system.
- uncalibrated_voltage_notify—A back end alert enable bit that allows ATS to be notified if the sign has not had its battery voltage correctly calibrated.
- gmt_offset—A value that allows the server to know what time zone the device is in to send the correct time to.
- settings_update_freq—A frequency (in hours) at which the sign will get online to checks settings.
- settings_update_time—A time for doing the first settings update.
- data_upload_freq—A frequency (in days) at which the sign will get online and upload data.
- data_upload_time—A time within the day to do the data upload
- data_upload_percent—A data percent full value at which the sign will ignore its schedule and upload data.
- ss_firmware_version—The firmware version on the device.
- force_server_alerts—A bit flag noting to the system that the user has change alerts.
- force_server_schedule—A bit flag noting to the system that the user has changed the scheduling.
- force_server_sign_settings—A bit flag noting to the system that the user has changed the sign settings.
- min_speed_summary—The speed to use at which all data below the value will be ignored when calculating the summary.
- max_speed_summary—The speed to use at which all data above the value will be ignored when calculating the summary.
Software Screen Shots and Discussion of the Functions:
The present invention is most easily understood in the context of a radar speed trailer. However, the inventive features are applicable to any vehicle sensor device (a radar speed trailer is one embodiment of a vehicle sensor device), such as a stationery radar gun with no speed indicators. The vehicle sensor device may be trailer-mounted, pole-mounted, or free-standing. Accordingly, the phrase, “vehicle sensor device” is used most generically to refer to the devices described above.
The present invention may be implemented with any combination of hardware and software. If implemented as a computer-implemented apparatus, the present invention is implemented using means for performing all of the steps and functions described above.
The present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer useable media. The media has embodied therein, for instance, computer readable program code means for providing and facilitating the mechanisms of the present invention. The article of manufacture can be included as part of a computer system or sold separately.
It will be appreciated by those skilled in the art that changes could be made to the embodiments described above without departing from the broad inventive concept thereof. It is understood, therefore, that this invention is not limited to the particular embodiments disclosed, but it is intended to cover modifications within the spirit and scope of the present invention.
Claims
1. A computer-implemented method of creating traffic management reports from vehicle data using a server which is in communication with (i) a central computer database, and (ii) a user interface, the method comprising:
- (a) providing one or more vehicle sensor devices, each device being at a different fixed location in a region, each device capturing data of vehicles that pass the device;
- (b) communicating the vehicle data to the central computer database that is located remotely from the vehicles;
- (c) selecting, via the user interface, one or more criteria from a plurality of criteria for filtering the vehicle data and communicating the selected filter criteria to the server; and
- (d) at the server, filtering the vehicle data in the central computer database using the selected filter criteria and automatically creating one or more traffic management reports from the filtered vehicle data, wherein each traffic management report incorporates vehicle data from a plurality of vehicles.
2. The method of claim 1 wherein the user interface is a web-based user interface.
3. The method of claim 1 further comprising:
- (d) associating each device with one or more data fields, wherein at least some of the filter criteria includes one or more of the data fields.
4. The method of claim 1 wherein the vehicle data includes road congestion data.
5. The method of claim 1 wherein step (a) further comprises providing a plurality of simultaneously operating vehicle sensor devices.
6. The method of claim 1 wherein the vehicle data is for a plurality of previous, non-current times so as to allow for analysis of past vehicle data.
7. An apparatus for creating traffic management reports from vehicle data captured by one or more vehicle sensor devices which are located at different fixed locations in a region, each device capturing data of vehicles that pass the device, the apparatus comprising:
- (a) a central computer database that is located remotely from the vehicles and which receives the captured vehicle data;
- (b) a user interface adapted to select one or more criteria from a plurality of criteria for filtering the vehicle data; and
- (c) a server in communication with the central computer database and the user interface, the server filtering the vehicle data in the central computer database using the selected filter criteria and automatically creating one or more traffic management reports from the filtered vehicle data, wherein each traffic management report incorporates vehicle data from a plurality of vehicles.
8. The apparatus of claim 7 wherein the user interface is a web-based user interface.
9. The apparatus of claim 7 wherein each device is associated with one or more data fields, and wherein at least some of the filter criteria includes one or more of the data fields.
10. The apparatus of claim 7 wherein the vehicle data includes road congestion data.
11. The apparatus of claim 7 wherein the vehicle data is provided by a plurality of simultaneously operating vehicle sensor devices.
12. The apparatus of claim 7 wherein the vehicle data is for a plurality of previous, non-current times so as to allow for analysis of past vehicle data.
13. A computer-implemented method of creating a plurality of different traffic enforcement reports from vehicle data using a server which is in communication with a central computer database, the method comprising:
- (a) providing a plurality of vehicle sensor devices, each device being at a different fixed location in a region, each device capturing data of vehicles that pass the device;
- (b) communicating the vehicle data to the central computer database; and
- (c) at the server, creating a plurality of different traffic enforcement reports from the vehicle data, each of the traffic enforcement reports including a plurality of different traffic locations and vehicle speed at each of the locations, wherein each traffic enforcement report incorporates vehicle data from a plurality of vehicles, and wherein the vehicle data is for a plurality of previous, non-current times so as to allow for analysis of past vehicle data.
14. The method of claim 13 wherein step (a) further comprises providing a plurality of simultaneously operating vehicle sensor devices.
15. The method of claim 13 wherein the vehicle data is for a plurality of previous, non-current time windows and the vehicle data includes at least average or median vehicle speed for each of the time windows.
16. An apparatus for creating a plurality of different traffic enforcement reports from vehicle data captured by a plurality of vehicle sensor devices, each device being at a different fixed location in a region, each device capturing data of vehicles that pass the device, the apparatus comprising:
- (a) a central computer database that is located remotely from the vehicles and which receives the captured vehicle data; and
- (b) a server in communication with the central computer database, the server receiving the captured vehicle data and creating a plurality of different traffic enforcement reports from the vehicle data, each of the traffic enforcement reports including a plurality of different traffic locations and vehicle speed at each of the locations, wherein each traffic enforcement report incorporates vehicle data from a plurality of vehicles, and wherein the vehicle data is for a plurality of previous, non-current times so as to allow for analysis of past vehicle data.
17. The apparatus of claim 16 wherein the vehicle data is captured from a plurality of simultaneously operating vehicle sensor devices.
5231393 | July 27, 1993 | Strickland |
5381155 | January 10, 1995 | Gerber |
5548515 | August 20, 1996 | Pilley et al. |
5574648 | November 12, 1996 | Pilley |
6046696 | April 4, 2000 | Blanco |
6060984 | May 9, 2000 | Braun et al. |
6427114 | July 30, 2002 | Olsson |
6577946 | June 10, 2003 | Myr |
6631384 | October 7, 2003 | Richman et al. |
6650945 | November 18, 2003 | Helland et al. |
6650948 | November 18, 2003 | Atkinson et al. |
6681195 | January 20, 2004 | Poland et al. |
6690294 | February 10, 2004 | Zierden |
6809656 | October 26, 2004 | Mitchell et al. |
6816724 | November 9, 2004 | Asikainen |
6853913 | February 8, 2005 | Cherveny et al. |
6985827 | January 10, 2006 | Williams et al. |
7057531 | June 6, 2006 | Okunuga |
7151976 | December 19, 2006 | Lin |
8417422 | April 9, 2013 | Choi et al. |
8417442 | April 9, 2013 | Johnson et al. |
8755990 | June 17, 2014 | Johnson et al. |
20020140924 | October 3, 2002 | Wangler et al. |
20020194016 | December 19, 2002 | Moribe et al. |
20030014181 | January 16, 2003 | Myr |
20030182051 | September 25, 2003 | Yamamoto |
20050206531 | September 22, 2005 | Noel |
20050248469 | November 10, 2005 | DeKock et al. |
20060253246 | November 9, 2006 | Cera et al. |
20070067410 | March 22, 2007 | Mulligan |
20070144814 | June 28, 2007 | Arnold et al. |
20070239569 | October 11, 2007 | Lucas et al. |
20080071467 | March 20, 2008 | Johnson et al. |
20080074117 | March 27, 2008 | Kamel et al. |
20100229096 | September 9, 2010 | Maiocco et al. |
20100255772 | October 7, 2010 | Hellman |
- Product brochure for “SPEEDsentry™ Radar Speed Display & Trailer,” Intuitive Control Systems, LLC (d/b/a All Traffic Solutions (ATS)), State College, Pennsylvania, printout date: approximately Jun. 2004, 4 pages.
- Decatur SpeedTrak Radar Trailer SST w/K-Band Antenna & LED Display, printout from web page: http://www.radarguns.com/decatur-radar-guns-trailersst.html, printout date: Apr. 24, 2006, original posting date: unknown, 2 pages.
- Decatur Stat Pak Traffic Data Logger for Police Radar, LIDAR, Radar Trailers . . . , printout from web page: http://www.opticsplanet.net/printable-decatur-stat-pak-traffic-data-logger.html, printout date: Apr. 24, 2006, original posting date: unknown, 2 pages.
- Ingram Technologies Traffic Radar, Speed Signs, Speed Trailer, Speed Monitoring Trailer, printout from web page: <http://www.ingram-tech.com/us—signs.htm>, printout date: Apr. 24, 2006, original posting date: unknown, 4 pages.
Type: Grant
Filed: Jun 10, 2014
Date of Patent: Jun 30, 2015
Patent Publication Number: 20140350832
Assignee: Intuitive Control Systems, LLC (State College, PA)
Inventors: Christopher S. Johnson (Tyrone, PA), Jason S. Geiger (Boulder, CO), John T. Graef (State College, PA)
Primary Examiner: McDieunel Marc
Application Number: 14/300,570
International Classification: G06F 19/00 (20110101); G08G 1/01 (20060101); G08G 1/00 (20060101); G01C 23/00 (20060101); G01S 19/53 (20100101);