LoginSignup
22
23

More than 5 years have passed since last update.

Worldize で世界地図を書く

Posted at

世界地図を描画してくれるおもしろい Gem

sample_worldize.rb
require 'bundler/setup'
require 'worldize'

worldize = Worldize::Countries.new
img = worldize.draw
img.write('world_map.png')

こういう感じで draw メソッドを呼ぶだけで、世界地図を出力してくれる。

blank.jpg

おー!

色も付けれる

sample_worldize.rb
img = Worldize::Countries.new.draw(
    ocean: '#b0e0e6',
    land: '#faebd7',
    border: 'black',
    'Japan' => '#008000',
    'USA' => 'red'
  )

world_map2 copy.jpg

色は直接指定以外にも、比率で色分けも出来る。

sample_worldize.rb
worldize = Worldize::Countries.new
values = {
  'Afghanistan' => 0,
  'Albania' => 1,
  'Algeria' => 2,
  'Angola' => 3,
  ...
}

# draw_gradient(from_color, to_color, {country => val, ...})
worldize.draw_gradient('#D4F6C8', '#247209', values).write('world_map.png')

world_map copy.jpg

こんなに世界中いらないよーという人は、こうすれば

sample_worldize.rb
require 'bundler/setup'
require 'worldize'

module Worldize
  class Countries
    def select_countries!(selected_countries)
      @countries.select! {|country| selected_countries.include?(country.properties.name) }
    end
  end
end

worldize = Worldize::Countries.new

worldize.select_countries!('Japan')
worldize.draw.write('world_map.png')

world_map2.jpg

なんかゴミみたいになったけど、日本だけ取り出せますね!

うん。

22
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
23