Deprecated: WPDataTables\Vendor\DI\create(): Implicitly marking parameter $className as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\functions.php on line 35

Deprecated: WPDataTables\Vendor\DI\autowire(): Implicitly marking parameter $className as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\functions.php on line 48

Deprecated: WPDataTables\Vendor\DI\ContainerBuilder::writeProxiesToFile(): Implicitly marking parameter $proxyDirectory as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\ContainerBuilder.php on line 283

Deprecated: WPDataTables\Vendor\DI\Definition\Source\ReflectionBasedAutowiring::autowire(): Implicitly marking parameter $definition as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Source\ReflectionBasedAutowiring.php on line 19

Deprecated: WPDataTables\Vendor\DI\Definition\Source\Autowiring::autowire(): Implicitly marking parameter $definition as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Source\Autowiring.php on line 23

Deprecated: WPDataTables\Vendor\DI\Definition\Source\DefinitionFile::__construct(): Implicitly marking parameter $autowiring as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Source\DefinitionFile.php on line 28

Deprecated: WPDataTables\Vendor\DI\Definition\Source\DefinitionArray::__construct(): Implicitly marking parameter $autowiring as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Source\DefinitionArray.php on line 39

Deprecated: WPDataTables\Vendor\DI\Definition\Source\DefinitionNormalizer::normalizeRootDefinition(): Implicitly marking parameter $wildcardsReplacements as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Source\DefinitionNormalizer.php on line 46

Deprecated: WPDataTables\Vendor\DI\Proxy\ProxyFactory::__construct(): Implicitly marking parameter $proxyDirectory as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Proxy\ProxyFactory.php on line 43

Deprecated: WPDataTables\Vendor\DI\Container::__construct(): Implicitly marking parameter $definitionSource as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Container.php on line 87

Deprecated: WPDataTables\Vendor\DI\Container::__construct(): Implicitly marking parameter $proxyFactory as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Container.php on line 87

Deprecated: WPDataTables\Vendor\DI\Container::__construct(): Implicitly marking parameter $wrapperContainer as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Container.php on line 87

Deprecated: WPDataTables\Vendor\DI\Definition\ObjectDefinition::__construct(): Implicitly marking parameter $className as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\ObjectDefinition.php on line 72

Deprecated: WPDataTables\Vendor\DI\Definition\ObjectDefinition::setClassName(): Implicitly marking parameter $className as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\ObjectDefinition.php on line 88

Deprecated: WPDataTables\Vendor\DI\Definition\ObjectDefinition::setLazy(): Implicitly marking parameter $lazy as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\ObjectDefinition.php on line 186

Deprecated: WPDataTables\Vendor\DI\Definition\Resolver\ObjectCreator::setPrivatePropertyValue(): Implicitly marking parameter $className as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Resolver\ObjectCreator.php on line 212

Deprecated: WPDataTables\Vendor\DI\Definition\Resolver\ParameterResolver::resolveParameters(): Implicitly marking parameter $definition as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Resolver\ParameterResolver.php on line 38

Deprecated: WPDataTables\Vendor\DI\Definition\Resolver\ParameterResolver::resolveParameters(): Implicitly marking parameter $method as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\scope-vendor\php-di\php-di\src\Definition\Resolver\ParameterResolver.php on line 38

Deprecated: WDTIntegration\Webhooks\WebhookManagerService::__construct(): Implicitly marking parameter $repository as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Services\WebhookManagerService.php on line 24

Deprecated: WDTIntegration\Webhooks\WebhookDispatcherService::__construct(): Implicitly marking parameter $repository as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Services\WebhookDispatcherService.php on line 30

Deprecated: WDTIntegration\Webhooks\WebhookDispatcherService::__construct(): Implicitly marking parameter $payloadBuilder as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Services\WebhookDispatcherService.php on line 30

Deprecated: WDTIntegration\Webhooks\WebhooksAjaxController::__construct(): Implicitly marking parameter $manager as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Controllers\WebhooksAjaxController.php on line 18

Deprecated: WDTIntegration\Webhooks\WebhooksAjaxController::__construct(): Implicitly marking parameter $dispatcher as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Controllers\WebhooksAjaxController.php on line 18

Deprecated: WDTIntegration\Webhooks\WebhookDispatchHooks::__construct(): Implicitly marking parameter $dispatcher as nullable is deprecated, the explicit nullable type must be used instead in C:\inetpub\sites\SafeDesign\wp-content\plugins\wpdatatables\backend\tiers\pro\webhooks\Hooks\WebhookDispatchHooks.php on line 15
Successively Smaller Curves | Safe Design

Successively Smaller Curves

DEFINITION AND DESCRIPTION

A series of progressively sharper curves creates a self-enforcing roadway that encourages motorists to reduce speeds. These commonly take the form of reverse curves separated by a tangent, where a broad-radius curve is followed by a moderate-radius curve. Actual speeds associated with these radii vary by roadway approach speed and deceleration needs.

Implementation Categories

Area(s) Design & Geometrics
Safety Category 2

CONSIDERATIONS

  • Successive curves should not introduce speed differentials of more than 10 mph – 15 mph between each curve.
  • May be used in speed transition zones.
  • Applicable to new construction and reconstruction projects.
  • The required length of the deceleration zone depends on the distance required to decelerate from the approach design speed to the target speed (See the AASHTO Green Book, Figure 2-34).
  • Curve radii are calculated using the AASHTO Green Book (2018), Equation 3-8, with side-friction factors from Figure 3-4.
  • Often used on high-speed roundabout approaches, freeway exit ramps, and speed transitions on rural highways.
  • Ensure adequate sight distance is maintained through the sequence of curves.

APPLICATION

  • Use in areas of speed transition zones in rural or suburban contexts on new construction or reconstruction projects.
  • Effective at roundabout approaches and exit ramps where speed reduction is critical.
  • Apply AASHTO criteria to design horizontal curvature. Guidance is also available in Section 5.2 of KYTC’s Roundabout Design Guidance.

example

Image Source: KYTC Roundabout Design Guidance

complementary Countermeasures

[wpforms id="3461"]

CONTACT:

Jill Asher

Research Engineer 

jill.asher@uky.edu