active_road 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. data/.gitignore +9 -0
  2. data/.rvmrc +1 -0
  3. data/.travis.yml +11 -0
  4. data/Gemfile +14 -0
  5. data/Guardfile +26 -0
  6. data/LICENSE.txt +19 -0
  7. data/README.md +37 -0
  8. data/Rakefile +46 -0
  9. data/active_road.gemspec +38 -0
  10. data/app/models/active_road/access_link.rb +44 -0
  11. data/app/models/active_road/access_point.rb +65 -0
  12. data/app/models/active_road/base.rb +5 -0
  13. data/app/models/active_road/junction.rb +52 -0
  14. data/app/models/active_road/junction_conditionnal_cost.rb +13 -0
  15. data/app/models/active_road/logical_road.rb +41 -0
  16. data/app/models/active_road/path.rb +85 -0
  17. data/app/models/active_road/physical_road.rb +65 -0
  18. data/app/models/active_road/physical_road_conditionnal_cost.rb +10 -0
  19. data/app/models/active_road/physical_road_filter.rb +41 -0
  20. data/app/models/active_road/street_number.rb +81 -0
  21. data/app/models/active_road/terra_import.rb +148 -0
  22. data/config/database.yml +20 -0
  23. data/config/database.yml.ci +12 -0
  24. data/config/routes.rb +2 -0
  25. data/db/init.sql +6 -0
  26. data/db/migrate/20110914160756_create_street_numbers.rb +18 -0
  27. data/db/migrate/20120201114800_create_physical_roads.rb +17 -0
  28. data/db/migrate/20120201162800_create_logical_roads.rb +16 -0
  29. data/db/migrate/20120203154500_create_junctions.rb +25 -0
  30. data/db/migrate/20120401083409_create_physical_roads_spatial_index.rb +9 -0
  31. data/db/migrate/20120419093427_add_kind_to_physical_roads.rb +10 -0
  32. data/db/migrate/20121010125851_create_junction_conditionnal_costs.rb +13 -0
  33. data/db/migrate/20121011124923_create_physical_road_conditionnal_costs.rb +13 -0
  34. data/db/migrate/20121012134251_add_start_end_ref_to_junction_conditionnal_cost.rb +6 -0
  35. data/db/migrate/20121012134440_add_tags_junction.rb +5 -0
  36. data/db/migrate/20121012134457_add_tags_physical_road.rb +5 -0
  37. data/db/migrate/20121106095002_add_objectid_to_street_number.rb +5 -0
  38. data/db/migrate/20130419155438_add_length_and_minimum_width_to_physical_road.rb +6 -0
  39. data/db/migrate/20130507162801_setup_hstore.rb +9 -0
  40. data/db/migrate/20130509075631_change_tags_type_for_physical_road.rb +10 -0
  41. data/db/migrate/20130509081745_index_physical_roads_tags.rb +9 -0
  42. data/db/migrate/20130513134422_change_tags_type_for_junction.rb +10 -0
  43. data/db/migrate/20130513134511_index_junctions_tags.rb +9 -0
  44. data/db/migrate/20130607114951_change_length_name_for_physical_road.rb +11 -0
  45. data/db/migrate/20130801151637_add_constraints_to_physical_roads.rb +37 -0
  46. data/db/migrate/20130809155019_add_height_and_waiting_constraint_to_junction.rb +6 -0
  47. data/db/migrate/20130812143049_fix_waiting_constraint_type_for_junction.rb +11 -0
  48. data/lib/active_road.rb +19 -0
  49. data/lib/active_road/engine.rb +13 -0
  50. data/lib/active_road/migration.rb +15 -0
  51. data/lib/active_road/shortest_path.rb +2 -0
  52. data/lib/active_road/shortest_path/finder.rb +172 -0
  53. data/lib/active_road/version.rb +3 -0
  54. data/lib/tasks/activeroad_tasks.rake +4 -0
  55. data/log/.gitignore +0 -0
  56. data/script/console +2 -0
  57. data/script/import-tiger-numbers +201 -0
  58. data/script/rails +9 -0
  59. data/spec/dummy/README.rdoc +261 -0
  60. data/spec/dummy/Rakefile +6 -0
  61. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  62. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  63. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  64. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  65. data/spec/dummy/app/mailers/.gitkeep +0 -0
  66. data/spec/dummy/app/models/.gitkeep +0 -0
  67. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  68. data/spec/dummy/config.ru +4 -0
  69. data/spec/dummy/config/application.rb +56 -0
  70. data/spec/dummy/config/boot.rb +10 -0
  71. data/spec/dummy/config/database.yml +20 -0
  72. data/spec/dummy/config/environment.rb +5 -0
  73. data/spec/dummy/config/environments/development.rb +37 -0
  74. data/spec/dummy/config/environments/production.rb +67 -0
  75. data/spec/dummy/config/environments/test.rb +37 -0
  76. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  77. data/spec/dummy/config/initializers/inflections.rb +15 -0
  78. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  79. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  80. data/spec/dummy/config/initializers/session_store.rb +8 -0
  81. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  82. data/spec/dummy/config/locales/en.yml +5 -0
  83. data/spec/dummy/config/routes.rb +4 -0
  84. data/spec/dummy/db/schema.rb +87 -0
  85. data/spec/dummy/db/structure.sql +10250 -0
  86. data/spec/dummy/lib/assets/.gitkeep +0 -0
  87. data/spec/dummy/log/.gitkeep +0 -0
  88. data/spec/dummy/public/404.html +26 -0
  89. data/spec/dummy/public/422.html +26 -0
  90. data/spec/dummy/public/500.html +25 -0
  91. data/spec/dummy/public/favicon.ico +0 -0
  92. data/spec/dummy/script/rails +6 -0
  93. data/spec/factories/junction.rb +18 -0
  94. data/spec/factories/junction_conditionnal_cost.rb +13 -0
  95. data/spec/factories/logical_road.rb +8 -0
  96. data/spec/factories/physical_road.rb +9 -0
  97. data/spec/factories/physical_road_conditionnal_cost.rb +9 -0
  98. data/spec/factories/street_number.rb +11 -0
  99. data/spec/fixtures/terra.xml +1772 -0
  100. data/spec/fixtures/terra_minimal.xml +28 -0
  101. data/spec/fixtures/trajectory_arc.xml +10 -0
  102. data/spec/fixtures/trajectory_node.xml +11 -0
  103. data/spec/lib/active_road/shortest_path/finder_spec.rb +157 -0
  104. data/spec/models/active_road/access_point_spec.rb +36 -0
  105. data/spec/models/active_road/junction_conditionnal_cost_spec.rb +28 -0
  106. data/spec/models/active_road/junction_spec.rb +25 -0
  107. data/spec/models/active_road/logical_road_spec.rb +46 -0
  108. data/spec/models/active_road/path_spec.rb +7 -0
  109. data/spec/models/active_road/physical_road_conditionnal_cost_spec.rb +19 -0
  110. data/spec/models/active_road/physical_road_filter_spec.rb +85 -0
  111. data/spec/models/active_road/physical_road_spec.rb +17 -0
  112. data/spec/models/active_road/street_number_spec.rb +78 -0
  113. data/spec/models/active_road/terra_import_spec.rb +113 -0
  114. data/spec/spec_helper.rb +46 -0
  115. data/spec/support/georuby_ext.rb +15 -0
  116. data/travis/before_install.sh +10 -0
  117. data/travis/before_script.sh +9 -0
  118. metadata +460 -0
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveRoad::PhysicalRoad do
4
+
5
+ subject { create(:physical_road) }
6
+
7
+ it "should validate objectid uniqueness" do
8
+ other_road = build :physical_road, :objectid => subject.objectid
9
+ other_road.should_not be_valid
10
+ end
11
+
12
+ it "should be valid with a logical_road" do
13
+ subject.logical_road = nil
14
+ subject.should be_valid
15
+ end
16
+
17
+ end
@@ -0,0 +1,78 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveRoad::StreetNumber do
4
+
5
+ subject { create :street_number }
6
+
7
+ it "should have a number" do
8
+ subject.should respond_to(:number)
9
+ end
10
+
11
+ describe "#previous" do
12
+
13
+ it "should find previous StreetNumber in the same road" do
14
+ other_number = create(:street_number, :physical_road => subject.road, :number => subject.number - 50)
15
+ subject.previous.should == other_number
16
+ end
17
+
18
+ end
19
+
20
+ describe "#next" do
21
+
22
+ it "should find next StreetNumber in the same road" do
23
+ other_number = create(:street_number, :physical_road => subject.road, :number => subject.number + 50)
24
+ subject.next.should == other_number
25
+ end
26
+
27
+ end
28
+
29
+ describe "location_on_road" do
30
+
31
+ it "should return the stored location_on_road if exists" do
32
+ subject.location_on_road = 0.3
33
+ subject.location_on_road.should == 0.3
34
+ end
35
+
36
+ it "should be comptured when not specified at creation" do
37
+ create(:street_number, :location_on_road => nil).location_on_road.should_not be_nil
38
+ end
39
+
40
+ context "when no location is stored" do
41
+
42
+ before(:each) do
43
+ subject.location_on_road = nil
44
+ end
45
+
46
+ it "should return nil" do
47
+ subject.location_on_road.should be_nil
48
+ end
49
+
50
+ it "should use previous and next numbers to compute location" do
51
+ subject.stub :previous => mock(:number => 50, :location_on_road => 0.5)
52
+ subject.stub :next => mock(:number => 100, :location_on_road => 1)
53
+ subject.number = "75"
54
+ subject.location_on_road.should == 0.75
55
+ end
56
+
57
+ end
58
+
59
+
60
+ end
61
+
62
+ end
63
+
64
+ describe ActiveRoad::StreetNumber::Number do
65
+
66
+ def number(value)
67
+ ActiveRoad::StreetNumber::Number.new value
68
+ end
69
+
70
+ it "should support addition" do
71
+ (number("50bis") + 50).should == number("100bis")
72
+ end
73
+
74
+ it "should support subtraction" do
75
+ (number("100bis") - 50).should == number("50bis")
76
+ end
77
+
78
+ end
@@ -0,0 +1,113 @@
1
+ require 'spec_helper'
2
+
3
+ describe ActiveRoad::TerraImport do
4
+
5
+ describe "test big xml file" do
6
+ let(:xml_file) { File.expand_path("../../../fixtures/terra.xml", __FILE__) }
7
+
8
+ subject { ActiveRoad::TerraImport.new( xml_file ) }
9
+
10
+ before :each do
11
+ subject.extract
12
+ end
13
+
14
+ # it "should have import all logical roads" do
15
+ # ActiveRoad::LogicalRoad.all.size.should == 4
16
+ # end
17
+
18
+ it "should have import all physical roads" do
19
+ ActiveRoad::PhysicalRoad.all.size.should == 78
20
+ end
21
+
22
+ it "should have import all junctions" do
23
+ ActiveRoad::Junction.all.size.should == 70
24
+ end
25
+
26
+ it "should have import all street number" do
27
+ ActiveRoad::StreetNumber.all.size.should == 20
28
+ end
29
+ end
30
+
31
+ describe "test minimal xml file" do
32
+ let(:xml_file) { File.expand_path("../../../fixtures/terra_minimal.xml", __FILE__) }
33
+
34
+ subject { ActiveRoad::TerraImport.new( xml_file ) }
35
+
36
+ before :each do
37
+ subject.extract
38
+ end
39
+
40
+ it "should have import one physical road" do
41
+ ActiveRoad::PhysicalRoad.all.size.should == 1
42
+
43
+ physical_road = ActiveRoad::PhysicalRoad.first
44
+
45
+ physical_road.objectid.should == "ign-obj-205"
46
+ end
47
+
48
+ it "should have import 2 junctions" do
49
+ ActiveRoad::Junction.all.size.should == 2
50
+
51
+ junction1 = ActiveRoad::Junction.first
52
+ junction2 = ActiveRoad::Junction.last
53
+
54
+ junction1.objectid.should == "ign-obj-55"
55
+ junction1.physical_roads.first.objectid.should == "ign-obj-205"
56
+ junction2.objectid.should == "ign-obj-56"
57
+ junction2.physical_roads.first.objectid.should == "ign-obj-205"
58
+ end
59
+ end
60
+
61
+ end
62
+
63
+ describe ActiveRoad::TerraImport::TrajectoryNodeXml do
64
+ let(:trajectory_node_xml) { File.expand_path("../../../fixtures/trajectory_node.xml", __FILE__) }
65
+ let(:parser) { Saxerator.parser(File.new(trajectory_node_xml)) }
66
+
67
+ let(:trajectory_node) { ActiveRoad::TerraImport::TrajectoryNodeXml.new(parser.for_tag(:TrajectoryNode).first) }
68
+
69
+ it "should have an object id" do
70
+ trajectory_node.objectid.should == "ign-obj-93"
71
+ end
72
+
73
+ it "should have tags" do
74
+ trajectory_node.tags.should == {}
75
+ end
76
+
77
+ it "should have a geometry" do
78
+ trajectory_node.geometry.should_not be_nil
79
+ end
80
+
81
+ # it "should have an height" do
82
+ # trajectory_node.height.should == 5
83
+ # end
84
+
85
+ end
86
+
87
+ describe ActiveRoad::TerraImport::TrajectoryArcXml do
88
+ let(:trajectory_arc_xml) { File.expand_path("../../../fixtures/trajectory_arc.xml", __FILE__) }
89
+ let(:parser) { Saxerator.parser(File.new(trajectory_arc_xml)) }
90
+
91
+ let(:trajectory_arc) { ActiveRoad::TerraImport::TrajectoryArcXml.new(parser.for_tag(:TrajectoryArc).first) }
92
+
93
+ it "should have an object id" do
94
+ trajectory_arc.objectid.should == "ign-obj-132"
95
+ end
96
+
97
+ it "should have tags" do
98
+ trajectory_arc.tags.should == {}
99
+ end
100
+
101
+ it "should have a geometry" do
102
+ trajectory_arc.geometry.should_not be_nil
103
+ end
104
+
105
+ it "should have a minimum width" do
106
+ trajectory_arc.minimum_width.should == "wide"
107
+ end
108
+
109
+ it "should have a length in meter" do
110
+ trajectory_arc.length.should == "62.59449394845691"
111
+ end
112
+
113
+ end
@@ -0,0 +1,46 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../dummy/config/environment", __FILE__)
4
+
5
+ require 'rspec/rails'
6
+ require 'rspec/autorun'
7
+
8
+ require 'factory_girl_rails'
9
+ require 'saxerator'
10
+ require 'activerecord-import'
11
+ require 'georuby-ext'
12
+ require 'enumerize'
13
+
14
+ ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')
15
+
16
+ # Requires supporting ruby files with custom matchers and macros, etc,
17
+ # in spec/support/ and its subdirectories.
18
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
19
+
20
+ RSpec.configure do |config|
21
+ # == Mock Framework
22
+ #
23
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
24
+ #
25
+ # config.mock_with :mocha
26
+ # config.mock_with :flexmock
27
+ # config.mock_with :rr
28
+ config.mock_with :rspec
29
+
30
+ # Factory Girl
31
+ config.include FactoryGirl::Syntax::Methods
32
+
33
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
34
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
35
+
36
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
37
+ # examples within a transaction, remove the following line or assign false
38
+ # instead of true.
39
+ config.use_transactional_fixtures = true
40
+
41
+ # If true, the base class of anonymous controllers will be inferred
42
+ # automatically. This will be the default behavior in future versions of
43
+ # rspec-rails.
44
+ config.infer_base_class_for_anonymous_controllers = false
45
+
46
+ end
@@ -0,0 +1,15 @@
1
+ def geometry_from_text(text, srid = 4326)
2
+ GeoRuby::SimpleFeatures::Geometry.from_ewkt "SRID=#{srid};#{text}"
3
+ end
4
+
5
+ def point(x=0.0, y=0.0, srid = 4326)
6
+ GeoRuby::SimpleFeatures::Point.from_x_y x, y, srid
7
+ end
8
+
9
+ def line_string(*points)
10
+ if points.one? and String === points.first
11
+ geometry_from_text("LINESTRING(#{points.first})")
12
+ else
13
+ GeoRuby::SimpleFeatures::LineString.from_points(points, points.first.srid)
14
+ end
15
+ end
@@ -0,0 +1,10 @@
1
+ if [[ "$POSTGIS" == "2.0" ]]; then
2
+ echo "yes" | sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
3
+ fi
4
+
5
+ sudo apt-get update
6
+ sudo apt-get install -qq libgeos-dev libproj-dev postgresql-9.1-postgis
7
+
8
+ if [[ "$POSTGIS" == "2.0" ]]; then
9
+ sudo apt-get install -qq libgeos++-dev
10
+ fi
@@ -0,0 +1,9 @@
1
+ createdb -U postgres template_postgis
2
+
3
+ if [[ "$POSTGIS" == "2.0" ]]; then
4
+ psql -U postgres -d template_postgis -c "CREATE EXTENSION postgis;"
5
+ else
6
+ createlang -U postgres plpgsql template_postgis
7
+ psql -U postgres -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
8
+ psql -U postgres -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
9
+ fi
metadata ADDED
@@ -0,0 +1,460 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: active_road
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Alban Peignier
9
+ - Luc Donnet
10
+ - Marc Florisson
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2013-09-16 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: guard
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ! '>='
22
+ - !ruby/object:Gem::Version
23
+ version: '0'
24
+ type: :development
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
32
+ - !ruby/object:Gem::Dependency
33
+ name: guard-bundler
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ! '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ - !ruby/object:Gem::Dependency
49
+ name: guard-rspec
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ! '>='
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: guard-migrate
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ! '>='
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
72
+ type: :development
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ! '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ - !ruby/object:Gem::Dependency
81
+ name: factory_girl_rails
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 4.2.1
88
+ type: :development
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 4.2.1
96
+ - !ruby/object:Gem::Dependency
97
+ name: rspec-rails
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 2.11.4
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: 2.11.4
112
+ - !ruby/object:Gem::Dependency
113
+ name: rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: 3.2.13
120
+ type: :development
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 3.2.13
128
+ - !ruby/object:Gem::Dependency
129
+ name: activerecord
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ! '>='
134
+ - !ruby/object:Gem::Version
135
+ version: '0'
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ - !ruby/object:Gem::Dependency
145
+ name: activerecord-postgres-hstore
146
+ requirement: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ! '>='
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ! '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: dr-postgis_adapter
162
+ requirement: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - '='
166
+ - !ruby/object:Gem::Version
167
+ version: 0.8.1
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - '='
174
+ - !ruby/object:Gem::Version
175
+ version: 0.8.1
176
+ - !ruby/object:Gem::Dependency
177
+ name: sqlite3
178
+ requirement: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ~>
182
+ - !ruby/object:Gem::Version
183
+ version: 1.3.7
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ~>
190
+ - !ruby/object:Gem::Version
191
+ version: 1.3.7
192
+ - !ruby/object:Gem::Dependency
193
+ name: pg
194
+ requirement: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ~>
198
+ - !ruby/object:Gem::Version
199
+ version: 0.15.1
200
+ type: :runtime
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ~>
206
+ - !ruby/object:Gem::Version
207
+ version: 0.15.1
208
+ - !ruby/object:Gem::Dependency
209
+ name: activerecord-import
210
+ requirement: !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - ~>
214
+ - !ruby/object:Gem::Version
215
+ version: 0.3.1
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ~>
222
+ - !ruby/object:Gem::Version
223
+ version: 0.3.1
224
+ - !ruby/object:Gem::Dependency
225
+ name: georuby-ext
226
+ requirement: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - '='
230
+ - !ruby/object:Gem::Version
231
+ version: 0.0.2
232
+ type: :runtime
233
+ prerelease: false
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - '='
238
+ - !ruby/object:Gem::Version
239
+ version: 0.0.2
240
+ - !ruby/object:Gem::Dependency
241
+ name: nokogiri
242
+ requirement: !ruby/object:Gem::Requirement
243
+ none: false
244
+ requirements:
245
+ - - ! '>='
246
+ - !ruby/object:Gem::Version
247
+ version: '0'
248
+ type: :runtime
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ! '>='
254
+ - !ruby/object:Gem::Version
255
+ version: '0'
256
+ - !ruby/object:Gem::Dependency
257
+ name: saxerator
258
+ requirement: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ! '>='
262
+ - !ruby/object:Gem::Version
263
+ version: '0'
264
+ type: :runtime
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ! '>='
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ - !ruby/object:Gem::Dependency
273
+ name: shortest_path
274
+ requirement: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - '='
278
+ - !ruby/object:Gem::Version
279
+ version: 0.0.3
280
+ type: :runtime
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - '='
286
+ - !ruby/object:Gem::Version
287
+ version: 0.0.3
288
+ - !ruby/object:Gem::Dependency
289
+ name: enumerize
290
+ requirement: !ruby/object:Gem::Requirement
291
+ none: false
292
+ requirements:
293
+ - - '='
294
+ - !ruby/object:Gem::Version
295
+ version: 0.6.1
296
+ type: :runtime
297
+ prerelease: false
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - '='
302
+ - !ruby/object:Gem::Version
303
+ version: 0.6.1
304
+ description: Find street numbers and road ways
305
+ email:
306
+ - alban@tryphon.eu
307
+ - luc.donnet@free.fr
308
+ - mflorisson@gmail.com
309
+ executables: []
310
+ extensions: []
311
+ extra_rdoc_files: []
312
+ files:
313
+ - .gitignore
314
+ - .rvmrc
315
+ - .travis.yml
316
+ - Gemfile
317
+ - Guardfile
318
+ - LICENSE.txt
319
+ - README.md
320
+ - Rakefile
321
+ - active_road.gemspec
322
+ - app/models/active_road/access_link.rb
323
+ - app/models/active_road/access_point.rb
324
+ - app/models/active_road/base.rb
325
+ - app/models/active_road/junction.rb
326
+ - app/models/active_road/junction_conditionnal_cost.rb
327
+ - app/models/active_road/logical_road.rb
328
+ - app/models/active_road/path.rb
329
+ - app/models/active_road/physical_road.rb
330
+ - app/models/active_road/physical_road_conditionnal_cost.rb
331
+ - app/models/active_road/physical_road_filter.rb
332
+ - app/models/active_road/street_number.rb
333
+ - app/models/active_road/terra_import.rb
334
+ - config/database.yml
335
+ - config/database.yml.ci
336
+ - config/routes.rb
337
+ - db/init.sql
338
+ - db/migrate/20110914160756_create_street_numbers.rb
339
+ - db/migrate/20120201114800_create_physical_roads.rb
340
+ - db/migrate/20120201162800_create_logical_roads.rb
341
+ - db/migrate/20120203154500_create_junctions.rb
342
+ - db/migrate/20120401083409_create_physical_roads_spatial_index.rb
343
+ - db/migrate/20120419093427_add_kind_to_physical_roads.rb
344
+ - db/migrate/20121010125851_create_junction_conditionnal_costs.rb
345
+ - db/migrate/20121011124923_create_physical_road_conditionnal_costs.rb
346
+ - db/migrate/20121012134251_add_start_end_ref_to_junction_conditionnal_cost.rb
347
+ - db/migrate/20121012134440_add_tags_junction.rb
348
+ - db/migrate/20121012134457_add_tags_physical_road.rb
349
+ - db/migrate/20121106095002_add_objectid_to_street_number.rb
350
+ - db/migrate/20130419155438_add_length_and_minimum_width_to_physical_road.rb
351
+ - db/migrate/20130507162801_setup_hstore.rb
352
+ - db/migrate/20130509075631_change_tags_type_for_physical_road.rb
353
+ - db/migrate/20130509081745_index_physical_roads_tags.rb
354
+ - db/migrate/20130513134422_change_tags_type_for_junction.rb
355
+ - db/migrate/20130513134511_index_junctions_tags.rb
356
+ - db/migrate/20130607114951_change_length_name_for_physical_road.rb
357
+ - db/migrate/20130801151637_add_constraints_to_physical_roads.rb
358
+ - db/migrate/20130809155019_add_height_and_waiting_constraint_to_junction.rb
359
+ - db/migrate/20130812143049_fix_waiting_constraint_type_for_junction.rb
360
+ - lib/active_road.rb
361
+ - lib/active_road/engine.rb
362
+ - lib/active_road/migration.rb
363
+ - lib/active_road/shortest_path.rb
364
+ - lib/active_road/shortest_path/finder.rb
365
+ - lib/active_road/version.rb
366
+ - lib/tasks/activeroad_tasks.rake
367
+ - log/.gitignore
368
+ - script/console
369
+ - script/import-tiger-numbers
370
+ - script/rails
371
+ - spec/dummy/README.rdoc
372
+ - spec/dummy/Rakefile
373
+ - spec/dummy/app/assets/javascripts/application.js
374
+ - spec/dummy/app/assets/stylesheets/application.css
375
+ - spec/dummy/app/controllers/application_controller.rb
376
+ - spec/dummy/app/helpers/application_helper.rb
377
+ - spec/dummy/app/mailers/.gitkeep
378
+ - spec/dummy/app/models/.gitkeep
379
+ - spec/dummy/app/views/layouts/application.html.erb
380
+ - spec/dummy/config.ru
381
+ - spec/dummy/config/application.rb
382
+ - spec/dummy/config/boot.rb
383
+ - spec/dummy/config/database.yml
384
+ - spec/dummy/config/environment.rb
385
+ - spec/dummy/config/environments/development.rb
386
+ - spec/dummy/config/environments/production.rb
387
+ - spec/dummy/config/environments/test.rb
388
+ - spec/dummy/config/initializers/backtrace_silencers.rb
389
+ - spec/dummy/config/initializers/inflections.rb
390
+ - spec/dummy/config/initializers/mime_types.rb
391
+ - spec/dummy/config/initializers/secret_token.rb
392
+ - spec/dummy/config/initializers/session_store.rb
393
+ - spec/dummy/config/initializers/wrap_parameters.rb
394
+ - spec/dummy/config/locales/en.yml
395
+ - spec/dummy/config/routes.rb
396
+ - spec/dummy/db/schema.rb
397
+ - spec/dummy/db/structure.sql
398
+ - spec/dummy/lib/assets/.gitkeep
399
+ - spec/dummy/log/.gitkeep
400
+ - spec/dummy/public/404.html
401
+ - spec/dummy/public/422.html
402
+ - spec/dummy/public/500.html
403
+ - spec/dummy/public/favicon.ico
404
+ - spec/dummy/script/rails
405
+ - spec/factories/junction.rb
406
+ - spec/factories/junction_conditionnal_cost.rb
407
+ - spec/factories/logical_road.rb
408
+ - spec/factories/physical_road.rb
409
+ - spec/factories/physical_road_conditionnal_cost.rb
410
+ - spec/factories/street_number.rb
411
+ - spec/fixtures/terra.xml
412
+ - spec/fixtures/terra_minimal.xml
413
+ - spec/fixtures/trajectory_arc.xml
414
+ - spec/fixtures/trajectory_node.xml
415
+ - spec/lib/active_road/shortest_path/finder_spec.rb
416
+ - spec/models/active_road/access_point_spec.rb
417
+ - spec/models/active_road/junction_conditionnal_cost_spec.rb
418
+ - spec/models/active_road/junction_spec.rb
419
+ - spec/models/active_road/logical_road_spec.rb
420
+ - spec/models/active_road/path_spec.rb
421
+ - spec/models/active_road/physical_road_conditionnal_cost_spec.rb
422
+ - spec/models/active_road/physical_road_filter_spec.rb
423
+ - spec/models/active_road/physical_road_spec.rb
424
+ - spec/models/active_road/street_number_spec.rb
425
+ - spec/models/active_road/terra_import_spec.rb
426
+ - spec/spec_helper.rb
427
+ - spec/support/georuby_ext.rb
428
+ - travis/before_install.sh
429
+ - travis/before_script.sh
430
+ homepage: ''
431
+ licenses: []
432
+ post_install_message:
433
+ rdoc_options: []
434
+ require_paths:
435
+ - lib
436
+ required_ruby_version: !ruby/object:Gem::Requirement
437
+ none: false
438
+ requirements:
439
+ - - ! '>='
440
+ - !ruby/object:Gem::Version
441
+ version: '0'
442
+ segments:
443
+ - 0
444
+ hash: -3220100186324110221
445
+ required_rubygems_version: !ruby/object:Gem::Requirement
446
+ none: false
447
+ requirements:
448
+ - - ! '>='
449
+ - !ruby/object:Gem::Version
450
+ version: '0'
451
+ segments:
452
+ - 0
453
+ hash: -3220100186324110221
454
+ requirements: []
455
+ rubyforge_project:
456
+ rubygems_version: 1.8.23
457
+ signing_key:
458
+ specification_version: 3
459
+ summary: Rails engine to manage roads and rails model
460
+ test_files: []