]> git.openstreetmap.org Git - rails.git/blobdiff - lib/osm.rb
using the wrong field name in one of the migrations
[rails.git] / lib / osm.rb
index c038ab2d5f77464833d8c6c3d3a5f24b5184d5a1..a64aa8c4870afc4ee2331ef49769682f318467d3 100644 (file)
@@ -93,199 +93,6 @@ module OSM
     end
   end
 
     end
   end
 
-
-  # This piece of magic reads a GPX with SAX and spits out
-  # lat/lng and stuff
-  #
-  # This would print every latitude value:
-  #
-  # gpx = OSM::GPXImporter.new('somefile.gpx')
-  # gpx.points {|p| puts p['latitude']}
-  class GPXImporter
-    # FIXME swap REXML for libXML
-    attr_reader :possible_points
-    attr_reader :actual_points
-    attr_reader :tracksegs
-
-    def initialize(file)
-      @file = file
-    end
-
-    def points
-      @possible_points = 0
-      @actual_points = 0
-      @tracksegs = 0
-
-      lat = -1
-      lon = -1
-      ele = -1
-      date = DateTime.now();
-      gotlatlon = false
-      gotele = false
-      gotdate = false
-
-      @file.rewind
-
-      parser = REXML::Parsers::SAX2Parser.new(@file)
-
-      parser.listen( :start_element,  %w{ trkpt }) do |uri,localname,qname,attributes| 
-        lat = attributes['lat'].to_f
-        lon = attributes['lon'].to_f
-        gotlatlon = true
-        gotele = false
-        gotdate = false
-        @possible_points += 1
-      end
-
-      parser.listen( :characters, %w{ ele } ) do |text|
-        ele = text
-        gotele = true
-      end
-
-      parser.listen( :characters, %w{ time } ) do |text|
-        if text && text != ''
-          begin
-            date = DateTime.parse(text)
-            gotdate = true
-          rescue
-          end
-        end
-      end
-
-      parser.listen( :end_element, %w{ trkseg } ) do |uri, localname, qname|
-        @tracksegs += 1
-      end
-
-      parser.listen( :end_element, %w{ trkpt } ) do |uri,localname,qname|
-        if gotlatlon && gotdate
-          ele = '0' unless gotele
-          if lat < 90 && lat > -90 && lon > -180 && lon < 180
-            @actual_points += 1
-            yield Hash['latitude' => lat, 'longitude' => lon, 'timestamp' => date, 'altitude' => ele, 'segment' => @tracksegs]
-          end
-        end
-        gotlatlon = false
-        gotele = false
-        gotdate = false
-      end
-
-      parser.parse
-    end
-
-    def get_picture(min_lat, min_lon, max_lat, max_lon, num_points)
-      #puts "getting picfor bbox #{min_lat},#{min_lon} - #{max_lat},#{max_lon}"
-      frames = 10
-      width = 250
-      height = 250
-      proj = OSM::Mercator.new(min_lat, min_lon, max_lat, max_lon, width, height)
-
-      linegc = Magick::Draw.new
-      linegc.stroke_linejoin('miter')
-      linegc.stroke_width(1)
-      linegc.stroke('#BBBBBB')
-      linegc.fill('#BBBBBB')
-
-      highlightgc = Magick::Draw.new
-      highlightgc.stroke_linejoin('miter')
-      highlightgc.stroke_width(3)
-      highlightgc.stroke('#000000')
-      highlightgc.fill('#000000')
-
-      images = []
-
-      frames.times do
-        image = Magick::Image.new(width, height) do |image|
-          image.background_color = 'white'
-          image.format = 'GIF'
-        end
-
-        images << image
-      end
-
-      oldpx = 0.0
-      oldpy = 0.0
-
-      first = true
-
-      m = 0
-      mm = 0
-      points do |p|
-        px = proj.x(p['longitude'])
-        py = proj.y(p['latitude'])
-
-        if m > 0
-          frames.times do |n|
-            if n == mm
-              gc = highlightgc.dup
-            else
-              gc = linegc.dup
-            end
-
-            gc.line(px, py, oldpx, oldpy)
-
-            gc.draw(images[n])
-          end
-        end
-
-        m += 1
-        if m > num_points.to_f / frames.to_f * (mm+1)
-          mm += 1
-        end
-
-        oldpy = py
-        oldpx = px
-      end
-
-      il = Magick::ImageList.new
-
-      images.each do |f|
-        il << f
-      end
-
-      il.delay = 50
-      il.format = 'GIF'
-
-      return il.to_blob
-    end
-
-    def get_icon(min_lat, min_lon, max_lat, max_lon)
-      #puts "getting icon for bbox #{min_lat},#{min_lon} - #{max_lat},#{max_lon}"
-      width = 50
-      height = 50
-      proj = OSM::Mercator.new(min_lat, min_lon, max_lat, max_lon, width, height)
-
-      gc = Magick::Draw.new
-      gc.stroke_linejoin('miter')
-      gc.stroke_width(1)
-      gc.stroke('#000000')
-      gc.fill('#000000')
-
-      image = Magick::Image.new(width, height) do |image|
-        image.background_color = 'white'
-        image.format = 'GIF'
-      end
-
-      oldpx = 0.0
-      oldpy = 0.0
-
-      first = true
-
-      points do |p|
-        px = proj.x(p['longitude'])
-        py = proj.y(p['latitude'])
-
-        gc.dup.line(px, py, oldpx, oldpy).draw(image) unless first
-
-        first = false
-        oldpy = py
-        oldpx = px
-      end
-
-      return image.to_blob
-    end
-
-  end
-
   class GreatCircle
     include Math
 
   class GreatCircle
     include Math