blob: 680632a14149a6222addb4dca57b186dbb9b4b5b (
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
|
require 'geokit'
module Chouette
class PtLink < Chouette::ActiveRecord
has_metadata
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
|