blob: d14d5f29cc48d1e6782c4dff9242967d6fe92432 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
require 'geokit'
module Chouette
class PtLink < Chouette::ActiveRecord
has_paper_trail
# FIXME http://jira.codehaus.org/browse/JRUBY-6358
self.primary_key = "id"
include Geokit::Mappable
def geometry
the_geom
end
def self.import_csv
csv_file = Rails.root + "chouette_pt_links.csv"
if File.exists?( csv_file)
csv = CSV::Reader.parse(File.read(csv_file))
slug = csv.shift.first
Network::Base.find_by_slug( slug).tune_connection
csv.each do |row|
origin = Chouette::StopArea.find_by_objectid( row[0])
destination = Chouette::StopArea.find_by_objectid( row[1])
raise "unknown origin #{row[0]}" unless origin
raise "unknown destination #{row[1]}" unless destination
Chouette::PtLink.create( :departure_id => origin.id,
:arrival_id => destination.id,
:the_geom => GeoRuby::SimpleFeatures::Geometry.from_hex_ewkb( row[2]))
end
end
end
end
end
|