ruby_ptv_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/.directory +11 -0
  3. data/.gitignore +14 -0
  4. data/.rspec +2 -0
  5. data/.travis.yml +4 -0
  6. data/Gemfile +4 -0
  7. data/Guardfile +36 -0
  8. data/README.md +46 -0
  9. data/Rakefile +11 -0
  10. data/bin/console +14 -0
  11. data/bin/setup +8 -0
  12. data/console_initializer.rb +5 -0
  13. data/lib/ruby_ptv_api/base.rb +105 -0
  14. data/lib/ruby_ptv_api/constant.rb +107 -0
  15. data/lib/ruby_ptv_api/id_manager.rb +17 -0
  16. data/lib/ruby_ptv_api/model/base.rb +12 -0
  17. data/lib/ruby_ptv_api/model/plain_point.rb +21 -0
  18. data/lib/ruby_ptv_api/model/point.rb +9 -0
  19. data/lib/ruby_ptv_api/model/x_locate/additional_field.rb +14 -0
  20. data/lib/ruby_ptv_api/model/x_locate/address.rb +24 -0
  21. data/lib/ruby_ptv_api/model/x_locate/address_response.rb +13 -0
  22. data/lib/ruby_ptv_api/model/x_locate/combined_transport_location.rb +13 -0
  23. data/lib/ruby_ptv_api/model/x_locate/combined_transport_response.rb +13 -0
  24. data/lib/ruby_ptv_api/model/x_locate/location.rb +11 -0
  25. data/lib/ruby_ptv_api/model/x_locate/result_address.rb +27 -0
  26. data/lib/ruby_ptv_api/model/x_locate/result_combined_transport.rb +30 -0
  27. data/lib/ruby_ptv_api/model/x_locate/sort_option.rb +14 -0
  28. data/lib/ruby_ptv_api/model/x_locate/suggestion.rb +12 -0
  29. data/lib/ruby_ptv_api/model/x_locate/suggestion_response.rb +13 -0
  30. data/lib/ruby_ptv_api/model/x_route/bounding_rectangle.rb +13 -0
  31. data/lib/ruby_ptv_api/model/x_route/brunnel_manoeuvre.rb +11 -0
  32. data/lib/ruby_ptv_api/model/x_route/cen_emission_configuration.rb +14 -0
  33. data/lib/ruby_ptv_api/model/x_route/cen_emission_conversion_factors.rb +11 -0
  34. data/lib/ruby_ptv_api/model/x_route/cen_emission_scenarios.rb +21 -0
  35. data/lib/ruby_ptv_api/model/x_route/cen_emissions.rb +8 -0
  36. data/lib/ruby_ptv_api/model/x_route/commuter_travel_trend.rb +10 -0
  37. data/lib/ruby_ptv_api/model/x_route/detail_description_option.rb +12 -0
  38. data/lib/ruby_ptv_api/model/x_route/dynamic_info.rb +12 -0
  39. data/lib/ruby_ptv_api/model/x_route/emission_type.rb +11 -0
  40. data/lib/ruby_ptv_api/model/x_route/emissions.rb +23 -0
  41. data/lib/ruby_ptv_api/model/x_route/encoded_geometry.rb +13 -0
  42. data/lib/ruby_ptv_api/model/x_route/exception_path.rb +17 -0
  43. data/lib/ruby_ptv_api/model/x_route/expansion_description.rb +12 -0
  44. data/lib/ruby_ptv_api/model/x_route/feauture_description.rb +11 -0
  45. data/lib/ruby_ptv_api/model/x_route/hbefa_type.rb +11 -0
  46. data/lib/ruby_ptv_api/model/x_route/klm.rb +10 -0
  47. data/lib/ruby_ptv_api/model/x_route/line_string.rb +11 -0
  48. data/lib/ruby_ptv_api/model/x_route/manoeuvre_attr.rb +17 -0
  49. data/lib/ruby_ptv_api/model/x_route/manoeuvre_group.rb +16 -0
  50. data/lib/ruby_ptv_api/model/x_route/norm_speed.rb +12 -0
  51. data/lib/ruby_ptv_api/model/x_route/plain_geometry_base.rb +8 -0
  52. data/lib/ruby_ptv_api/model/x_route/plain_line_string.rb +11 -0
  53. data/lib/ruby_ptv_api/model/x_route/reach.rb +12 -0
  54. data/lib/ruby_ptv_api/model/x_route/reach_info.rb +14 -0
  55. data/lib/ruby_ptv_api/model/x_route/result_list_options.rb +46 -0
  56. data/lib/ruby_ptv_api/model/x_route/route.rb +38 -0
  57. data/lib/ruby_ptv_api/model/x_route/route_info.rb +15 -0
  58. data/lib/ruby_ptv_api/model/x_route/route_list_segment.rb +39 -0
  59. data/lib/ruby_ptv_api/model/x_route/route_manoeuvre.rb +44 -0
  60. data/lib/ruby_ptv_api/model/x_route/routing_option.rb +12 -0
  61. data/lib/ruby_ptv_api/model/x_route/segment_attributes.rb +27 -0
  62. data/lib/ruby_ptv_api/model/x_route/speed_limit.rb +10 -0
  63. data/lib/ruby_ptv_api/model/x_route/speed_limits.rb +10 -0
  64. data/lib/ruby_ptv_api/model/x_route/template +16 -0
  65. data/lib/ruby_ptv_api/model/x_route/unique_geo_id.rb +13 -0
  66. data/lib/ruby_ptv_api/model/x_route/urban_manoeuvre.rb +10 -0
  67. data/lib/ruby_ptv_api/model/x_route/vehicle_option.rb +11 -0
  68. data/lib/ruby_ptv_api/model/x_route/via_type.rb +11 -0
  69. data/lib/ruby_ptv_api/model/x_route/way_point.rb +30 -0
  70. data/lib/ruby_ptv_api/model/x_route/waypoint_desc.rb +28 -0
  71. data/lib/ruby_ptv_api/model/x_tour/abstract_costs.rb +10 -0
  72. data/lib/ruby_ptv_api/model/x_tour/abstract_tour.rb +10 -0
  73. data/lib/ruby_ptv_api/model/x_tour/abstract_tour_point.rb +16 -0
  74. data/lib/ruby_ptv_api/model/x_tour/abstract_tour_result.rb +38 -0
  75. data/lib/ruby_ptv_api/model/x_tour/abstract_transport_order.rb +11 -0
  76. data/lib/ruby_ptv_api/model/x_tour/abstract_vehicle.rb +14 -0
  77. data/lib/ruby_ptv_api/model/x_tour/base_vehicle.rb +30 -0
  78. data/lib/ruby_ptv_api/model/x_tour/capacities.rb +11 -0
  79. data/lib/ruby_ptv_api/model/x_tour/chain.rb +14 -0
  80. data/lib/ruby_ptv_api/model/x_tour/chain_result.rb +20 -0
  81. data/lib/ruby_ptv_api/model/x_tour/costs.rb +10 -0
  82. data/lib/ruby_ptv_api/model/x_tour/depot.rb +8 -0
  83. data/lib/ruby_ptv_api/model/x_tour/distance_matrix_by_road.rb +12 -0
  84. data/lib/ruby_ptv_api/model/x_tour/distance_matrix_calculation.rb +9 -0
  85. data/lib/ruby_ptv_api/model/x_tour/driver_settings.rb +17 -0
  86. data/lib/ruby_ptv_api/model/x_tour/fleet.rb +15 -0
  87. data/lib/ruby_ptv_api/model/x_tour/goal_importance.rb +44 -0
  88. data/lib/ruby_ptv_api/model/x_tour/interval.rb +15 -0
  89. data/lib/ruby_ptv_api/model/x_tour/loading_area.rb +13 -0
  90. data/lib/ruby_ptv_api/model/x_tour/loading_function.rb +16 -0
  91. data/lib/ruby_ptv_api/model/x_tour/logistic_point.rb +19 -0
  92. data/lib/ruby_ptv_api/model/x_tour/maximum_tour_period_restriction.rb +10 -0
  93. data/lib/ruby_ptv_api/model/x_tour/plan.rb +13 -0
  94. data/lib/ruby_ptv_api/model/x_tour/plan_result.rb +21 -0
  95. data/lib/ruby_ptv_api/model/x_tour/planning_params.rb +23 -0
  96. data/lib/ruby_ptv_api/model/x_tour/product_incompatibility.rb +11 -0
  97. data/lib/ruby_ptv_api/model/x_tour/quantities.rb +9 -0
  98. data/lib/ruby_ptv_api/model/x_tour/quantity_dependent_periods.rb +9 -0
  99. data/lib/ruby_ptv_api/model/x_tour/regulations_base.rb +9 -0
  100. data/lib/ruby_ptv_api/model/x_tour/restrictions.rb +13 -0
  101. data/lib/ruby_ptv_api/model/x_tour/seconds_per_quantity_unit.rb +9 -0
  102. data/lib/ruby_ptv_api/model/x_tour/sequencing_params.rb +12 -0
  103. data/lib/ruby_ptv_api/model/x_tour/sequencing_plan.rb +13 -0
  104. data/lib/ruby_ptv_api/model/x_tour/sequencing_plan_result.rb +16 -0
  105. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour.rb +13 -0
  106. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_point.rb +16 -0
  107. data/lib/ruby_ptv_api/model/x_tour/sequencing_tour_result.rb +38 -0
  108. data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_depot.rb +19 -0
  109. data/lib/ruby_ptv_api/model/x_tour/sequencing_transport_order.rb +9 -0
  110. data/lib/ruby_ptv_api/model/x_tour/sequencing_vehicle.rb +8 -0
  111. data/lib/ruby_ptv_api/model/x_tour/standard_params.rb +22 -0
  112. data/lib/ruby_ptv_api/model/x_tour/total_costs.rb +10 -0
  113. data/lib/ruby_ptv_api/model/x_tour/tour.rb +26 -0
  114. data/lib/ruby_ptv_api/model/x_tour/tour_event.rb +14 -0
  115. data/lib/ruby_ptv_api/model/x_tour/tour_point.rb +10 -0
  116. data/lib/ruby_ptv_api/model/x_tour/tour_point_result.rb +28 -0
  117. data/lib/ruby_ptv_api/model/x_tour/tour_restrictions.rb +13 -0
  118. data/lib/ruby_ptv_api/model/x_tour/tour_result.rb +17 -0
  119. data/lib/ruby_ptv_api/model/x_tour/tour_violations.rb +10 -0
  120. data/lib/ruby_ptv_api/model/x_tour/trailer.rb +10 -0
  121. data/lib/ruby_ptv_api/model/x_tour/train.rb +26 -0
  122. data/lib/ruby_ptv_api/model/x_tour/transport_depot.rb +20 -0
  123. data/lib/ruby_ptv_api/model/x_tour/transport_order.rb +19 -0
  124. data/lib/ruby_ptv_api/model/x_tour/transport_point.rb +17 -0
  125. data/lib/ruby_ptv_api/model/x_tour/unscheduled_order_analysis_result.rb +15 -0
  126. data/lib/ruby_ptv_api/model/x_tour/vehicle.rb +27 -0
  127. data/lib/ruby_ptv_api/model/x_tour/vehicle_costs.rb +9 -0
  128. data/lib/ruby_ptv_api/model/x_tour/vehicle_restrictions.rb +11 -0
  129. data/lib/ruby_ptv_api/model/x_tour/vehicle_violations.rb +12 -0
  130. data/lib/ruby_ptv_api/operation/x_locate/base.rb +68 -0
  131. data/lib/ruby_ptv_api/operation/x_locate/find_address.rb +26 -0
  132. data/lib/ruby_ptv_api/operation/x_locate/find_address_by_text.rb +28 -0
  133. data/lib/ruby_ptv_api/operation/x_locate/find_addresses.rb +27 -0
  134. data/lib/ruby_ptv_api/operation/x_locate/find_combined_transport_by_location.rb +31 -0
  135. data/lib/ruby_ptv_api/operation/x_locate/find_location.rb +26 -0
  136. data/lib/ruby_ptv_api/operation/x_locate/find_locations.rb +27 -0
  137. data/lib/ruby_ptv_api/operation/x_locate/find_suggestion.rb +36 -0
  138. data/lib/ruby_ptv_api/operation/x_route/base.rb +25 -0
  139. data/lib/ruby_ptv_api/operation/x_route/calculate_reachable_objects.rb +38 -0
  140. data/lib/ruby_ptv_api/operation/x_route/calculate_route.rb +35 -0
  141. data/lib/ruby_ptv_api/operation/x_route/calculate_route_info.rb +33 -0
  142. data/lib/ruby_ptv_api/operation/x_tour/base.rb +24 -0
  143. data/lib/ruby_ptv_api/operation/x_tour/plan_basic_tours.rb +48 -0
  144. data/lib/ruby_ptv_api/operation/x_tour/plan_sequence.rb +52 -0
  145. data/lib/ruby_ptv_api/version.rb +3 -0
  146. data/lib/ruby_ptv_api/x_tour.rb +94 -0
  147. data/lib/ruby_ptv_api.rb +202 -0
  148. data/ruby_ptv_api.gemspec +32 -0
  149. metadata +331 -0
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class BrunnelManoeuvre < RubyPtvApi::Model::Base
5
+ property 'brunnelIdx'
6
+ property 'brunnelEndIdx'
7
+ property 'brunnelDist'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CenEmissionConfiguration < RubyPtvApi::Model::Base
5
+ property 'fleetSpecificAverageFuelConsumption'
6
+ property 'routeSpecificAverageFuelConsumption'
7
+ property 'actualFuelConsumptionForThisRoute'
8
+ property 'cenVersion', transform_with: ->(value) do
9
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::CEN_VERSION, value)
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissionConversionFactors < RubyPtvApi::Model::Base
5
+ property 'biofuelPercent'
6
+ property 'conversionFactors'
7
+ coerce_key :conversionFactors, CENEmissions
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,21 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissionScenarios < RubyPtvApi::Model::Base
5
+ property 'vehicleSpecific'
6
+ property 'fleetSpecific'
7
+ property 'routeSpecific'
8
+ property 'actualFuelConsumption'
9
+ property 'basedOnHBEFA'
10
+ property 'vehicleSpecificConversionFactors'
11
+
12
+ coerce_key :vehicleSpecific, CENEmissions
13
+ coerce_key :fleetSpecific, CENEmissions
14
+ coerce_key :routeSpecific, CENEmissions
15
+ coerce_key :actualFuelConsumption, CENEmissions
16
+ coerce_key :basedOnHBEFA, CENEmissions
17
+ coerce_key :vehicleSpecificConversionFactors, Array[CENEmissionConversionFactors]
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,8 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CENEmissions < RubyPtvApi::Model::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class CommuterTravelTrend < RubyPtvApi::Model::Base
5
+ property 'departureTime'
6
+ property 'travelTime'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class DetailDescriptionOption < RubyPtvApi::Model::Base
5
+ property 'radius'
6
+ property 'minLevel', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class DynamicInfo < RubyPtvApi::Model::Base
5
+ property 'timeBenefit'
6
+ property 'timeLoss'
7
+ property 'timeLoss2'
8
+ property 'distanceDiff'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class EmissionType < RubyPtvApi::Model::Base
5
+ property 'emissionLevel', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Emissions < RubyPtvApi::Model::Base
5
+ property 'hydrocarbons'
6
+ property 'methane'
7
+ property 'hydrocarbonsExMethane'
8
+ property 'carbonMonoxide'
9
+ property 'carbonDioxide'
10
+ property 'sulphurDioxide'
11
+ property 'nitrogenOxides'
12
+ property 'nitrousOxide'
13
+ property 'ammonia'
14
+ property 'benzene'
15
+ property 'toluene'
16
+ property 'xylene'
17
+ property 'lead'
18
+ property 'particles'
19
+ property 'fuel'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class EncodedGeometry < RubyPtvApi::Model::Base
5
+ property 'wkb'
6
+ property 'wkt'
7
+ property 'kml'
8
+
9
+ coerce_key :klm, KLM
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,17 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ExceptionPath < RubyPtvApi::Model::Base
5
+ property 'nodes'
6
+ property 'extSegments'
7
+ property 'street'
8
+ property 'binaryPathDesc'
9
+ property 'relMalus'
10
+ property 'polyline'
11
+
12
+ coerce_key :nodes, Array[UniqueGeoID]
13
+ coerce_key :polyline, LineString
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ExpansionDescription < RubyPtvApi::Model::Base
5
+ property 'horizons'
6
+ property 'expansionType', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::EXPANSION_TYPE, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class FeatureDescription < RubyPtvApi::Model::Base
5
+ property 'themeId'
6
+ property 'timeDomain'
7
+ property 'description'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class HBEFAType < RubyPtvApi::Model::Base
5
+ property 'version', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::HBEFA_VERSION, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class KLM < RubyPtvApi::Model::Base
5
+ property 'kml'
6
+ property 'placemarks'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class LineString < EncodedGeometry
5
+ property 'lineString'
6
+
7
+ coerce_key :nodes, PlainLineString
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,17 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ManoeuvreAttr < RubyPtvApi::Model::Base
5
+ property 'isBorder'
6
+ property 'tollRoadStart'
7
+ property 'tollRoadEnd'
8
+ property 'isBlockingStart'
9
+ property 'isBlockingEnd'
10
+ property 'isUrbanStart'
11
+ property 'isUrbanEnd'
12
+ property 'isBrunnelStart'
13
+ property 'isBrunnelEnd'
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,16 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ManoeuvreGroup < RubyPtvApi::Model::Base
5
+ property 'fromIdx'
6
+ property 'toIdx'
7
+ property 'type', transform_with: ->(value) do
8
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::MANOEUVRE_GROUP_TYPE, value)
9
+ end
10
+ property 'extend'
11
+
12
+ coerce_key :extend, BoundingRectangle
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class NormSpeed < RubyPtvApi::Model::Base
5
+ property 'normSpeed'
6
+ property 'normSpeedType', transform_with: ->(value) do
7
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::NORM_SPEED_TYPE, value)
8
+ end
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,8 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class PlainGeometryBase < RubyPtvApi::Model::Base
5
+ end
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class PlainLineString < PlainGeometryBase
5
+ property 'points'
6
+
7
+ coerce_key :points, Array[PlainPoint]
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Reach < RubyPtvApi::Model::Base
5
+ property 'reachInfo'
6
+ property 'additional'
7
+
8
+ coerce_key :reachInfo, Array[ReachInfo]
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ReachInfo < RubyPtvApi::Model::Base
5
+ property 'reachable'
6
+ property 'routeInfo'
7
+ property 'branchNode'
8
+
9
+ coerce_key :routeInfo , RouteInfo
10
+ coerce_key :branchNode, UniqueGeoID
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,46 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ResultListOptions < RubyPtvApi::Model::Base
5
+ property 'manoeuvres'
6
+ property 'texts'
7
+ property 'nodes'
8
+ property 'binaryPathDesc'
9
+ property 'polygon'
10
+ property 'polygonElevations'
11
+ property 'detailLevel', transform_with: ->(value) do
12
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
13
+ end
14
+ property 'dynamicInfo'
15
+ property 'segments'
16
+ property 'segmentAttributes'
17
+ property 'segmentAttributePiggyback'
18
+ property 'segmentAttributeNamedToll'
19
+ property 'manoeuvreAttributes'
20
+ property 'brunnelManoeuvres'
21
+ property 'urbanManoeuvres'
22
+ property 'startDetail'
23
+ property 'destDetail'
24
+ property 'manoeuvreGroups'
25
+ property 'manoeuvreGroupRatio'
26
+ property 'tollManoeuvres'
27
+ property 'boundingRectanglesC'
28
+ property 'boundingRectanglesOffset'
29
+ property 'totalRectangle'
30
+ property 'extSegments'
31
+ property 'emissions'
32
+ property 'hbefaType'
33
+ property 'cenEmissionConfiguration'
34
+ property 'speedLimits'
35
+ property 'featureDescriptions'
36
+ property 'utcOffsets'
37
+
38
+ coerce_key :startDetail , DetailDescriptionOption
39
+ coerce_key :destDetail , DetailDescriptionOption
40
+ coerce_key :emissions , EmissionType
41
+ coerce_key :hbefaType , HBEFAType
42
+ coerce_key :cenEmissionConfiguration, CenEmissionConfiguration
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,38 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class Route < RubyPtvApi::Model::Base
5
+ property 'info'
6
+ property 'dynamicInfo'
7
+ property 'stations'
8
+ property 'manoeuvres'
9
+ property 'texts'
10
+ property 'segments'
11
+ property 'nodes'
12
+ property 'polygon'
13
+ property 'binaryPathDesc'
14
+ property 'manoeuvreGroup'
15
+ property 'boundingRectangles'
16
+ property 'totalRectangle'
17
+ property 'extSegments'
18
+ property 'emissions'
19
+ property 'vehicleRelatedEmissions'
20
+ property 'cenEmissions'
21
+
22
+ coerce_key :info, RouteInfo
23
+ coerce_key :dynamicInfo, DynamicInfo
24
+ coerce_key :stations, Array[WayPoint]
25
+ coerce_key :manoeuvres, Array[RouteManoeuvre]
26
+ coerce_key :segments, Array[RouteListSegment]
27
+ coerce_key :nodes, Array[UniqueGeoID]
28
+ coerce_key :polygon, LineString
29
+ coerce_key :manoeuvreGroup, Array[ManoeuvreGroup]
30
+ coerce_key :boundingRectangles, Array[BoundingRectangle]
31
+ coerce_key :totalRectangle, BoundingRectangle
32
+ coerce_key :emissions, Emissions
33
+ coerce_key :vehicleRelatedEmissions, Emissions
34
+ coerce_key :cenEmissions, CENEmissionScenarios
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteInfo < RubyPtvApi::Model::Base
5
+ property 'distance'
6
+ property 'time'
7
+ property 'cost'
8
+ property 'travelTrend'
9
+ property 'hasViolations'
10
+
11
+ coerce_key :travelTrend, Array[CommuterTravelTrend]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,39 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteListSegment < RubyPtvApi::Model::Base
5
+ property 'firstPolyIdx'
6
+ property 'polyC'
7
+ property 'firstNodeIdx'
8
+ property 'nodeC'
9
+ property 'streetNoIdx'
10
+ property 'streetNameIdx'
11
+ property 'dirInfoIdx'
12
+ property 'accTime'
13
+ property 'accDist'
14
+ property 'nC', transform_with: ->(value) do
15
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::NETWORK_CLASS, value)
16
+ end
17
+ property 'vNorm'
18
+ property 'normSpeed'
19
+ property 'vCalc'
20
+ property 'iuCode'
21
+ property 'segmentAttr'
22
+ property 'countryCode'
23
+ property 'emissions'
24
+ property 'cenEmissions'
25
+ property 'speedLimits'
26
+ property 'violations'
27
+ property 'featureDescriptions'
28
+ property 'utcOffset'
29
+
30
+ coerce_key :normSpeed, NormSpeed
31
+ coerce_key :segmentAttr, SegmentAttributes
32
+ coerce_key :emissions, Emissions
33
+ coerce_key :cenEmissions, CENEmissionScenarios
34
+ coerce_key :speedLimits, SpeedLimits
35
+ coerce_key :featureDescriptions, Array[FeatureDescription]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,44 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RouteManoeuvre < RubyPtvApi::Model::Base
5
+ property 'exitAngle'
6
+ property 'exitAngleNorth'
7
+ property 'turnWeight', transform_with: ->(value) do
8
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::TURN_WEIGHT, value)
9
+ end
10
+ property 'turnOrient', transform_with: ->(value) do
11
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::TURN_ORIENT, value)
12
+ end
13
+ property 'exitNr'
14
+ property 'manoeuvreType', transform_with: ->(value) do
15
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::MANOEUVRE_TYPE, value)
16
+ end
17
+ property 'detailLevel', transform_with: ->(value) do
18
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::DETAIL_LEVEL, value)
19
+ end
20
+ property 'dirInfoNodeType', transform_with: ->(value) do
21
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::INFO_NODE_TYPE, value)
22
+ end
23
+ property 'dirInfoIdx'
24
+ property 'locInfoNodeType', transform_with: ->(value) do
25
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::INFO_NODE_TYPE, value)
26
+ end
27
+ property 'locInfoIdx'
28
+ property 'routeListSegmentIdx'
29
+ property 'predSegmentIdx'
30
+ property 'succSegmentIdx'
31
+ property 'manoeuvreDesc'
32
+ property 'manoeuvreAttr'
33
+ property 'urbanlManoeuvre'
34
+ property 'brunnelManoeuvre'
35
+ property 'manoeuvreGroupIdx'
36
+ property 'viaIdx'
37
+
38
+ coerce_key :manoeuvreAttr, ManoeuvreAttr
39
+ coerce_key :urbanlManoeuvre, UrbanManoeuvre
40
+ coerce_key :brunnelManoeuvre, BrunnelManoeuvre
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,12 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class RoutingOption < RubyPtvApi::Model::Base
5
+ property 'parameter', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::ROUTING_PARAMETER, value)
7
+ end
8
+ property 'value'
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,27 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SegmentAttributes < RubyPtvApi::Model::Base
5
+ property 'brunnelCode', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::BRUNNEL_CODE, value)
7
+ end
8
+
9
+ property 'isFerry'
10
+ property 'isBlockedCar'
11
+ property 'isBlockedTruck'
12
+ property 'hasTollCar'
13
+ property 'hasTollTruck'
14
+ property 'hasVignetteCar'
15
+ property 'hasVignetteTruck'
16
+ property 'hasExtraToll'
17
+ property 'hasNamedToll'
18
+ property 'hasSeparator'
19
+ property 'isPedestrianZone'
20
+ property 'additionalRE'
21
+ property 'additionalInfo'
22
+ property 'lowEmissionZoneType'
23
+ property 'isPiggyback'
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SpeedLimit < RubyPtvApi::Model::Base
5
+ property 'limitVelocity'
6
+ property 'condition'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class SpeedLimits < RubyPtvApi::Model::Base
5
+ property 'speedLimit'
6
+ coerce_key :speedLimit, Array[SpeedLimit]
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,16 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class None < RubyPtvApi::Model::Base
5
+ property 'none'
6
+ property 'none'
7
+ property 'none'
8
+
9
+ transform_with: ->(value) do
10
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::CEN_VERSION, value)
11
+ end
12
+ coerce_key :none, None
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,13 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class UniqueGeoID < RubyPtvApi::Model::Base
5
+ property 'tID'
6
+ property 'xOff'
7
+ property 'yOff'
8
+ property 'n'
9
+ property 'iuCode'
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class UrbanManoeuvre < RubyPtvApi::Model::Base
5
+ property 'urbanIdx'
6
+ property 'additionalUrbanIdx'
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class VehicleOption < RubyPtvApi::Model::Base
5
+ # Not implemented, no available examples
6
+ property 'parameter'
7
+ property 'value'
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module RubyPtvApi
2
+ module Model
3
+ module XRoute
4
+ class ViaType < RubyPtvApi::Model::Base
5
+ property 'viaType', transform_with: ->(value) do
6
+ RubyPtvApi::Constant.validate(RubyPtvApi::Constant::VIA_TYPE_ENUM, value)
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end