class CartoCSSHelper::DataFileGenerator
Public Class Methods
new(tags, type, lat, lon, size)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 45 def initialize(tags, type, lat, lon, size) @lat = lat @lon = lon @tags = tags @type = type @size = size end
Public Instance Methods
add_node(lat, lon, tags, id)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 112 def add_node(lat, lon, tags, id) @data_file.write "\n" @data_file.write " <node id='#{id}' visible='true' lat='#{lat}' lon='#{lon}'>" add_tags(tags) @data_file.write '</node>' end
add_way(tags, nodes, id)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 119 def add_way(tags, nodes, id) @data_file.write "\n" @data_file.write " <way id='#{id}' visible='true'>" nodes.each do |node| @data_file.write "\n" @data_file.write " <nd ref='#{node}' />" end add_tags(tags) @data_file.write "\n </way>" end
close_file()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 57 def close_file @data_file.close end
finish_file()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 66 def finish_file generate_sufix close_file end
generate()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 71 def generate prepare_file if @type == 'node' generate_node_topology(@lat, @lon, @tags) elsif @type == 'way' generate_way_topology(@lat, @lon, @tags) elsif @type == 'closed_way' generate_closed_way_topology(@lat, @lon, @tags) else raise 'this type of element does not exists' end finish_file end
generate_closed_way_topology(lat, lon, tags)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 95 def generate_closed_way_topology(lat, lon, tags) delta = @size / 3 add_node lat - delta, lon - delta, [], 1 add_node lat - delta, lon + delta, [], 2 add_node lat + delta, lon + delta, [], 3 add_node lat + delta, lon - delta, [], 4 add_way tags, [1, 2, 3, 4, 1], 5 end
generate_node_topology(lat, lon, tags)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 85 def generate_node_topology(lat, lon, tags) add_node lat, lon, tags, 2387 end
generate_prefix()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 104 def generate_prefix @data_file.write "<?xml version='1.0' encoding='UTF-8'?>\n<osm version='0.6' generator='script'>" end
generate_sufix()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 108 def generate_sufix @data_file.write "\n</osm>" end
generate_way_topology(lat, lon, tags)
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 89 def generate_way_topology(lat, lon, tags) add_node lat, lon - @size / 3, [], 1 add_node lat, lon + @size / 3, [], 2 add_way tags, [1, 2], 3 end
open_file()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 53 def open_file @data_file = open(Configuration.get_data_filename, 'w') end
prepare_file()
click to toggle source
# File lib/cartocss_helper/data_file_handling.rb, line 61 def prepare_file open_file generate_prefix end