5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QGISでレトロゲーム風ピクセルマップをつくる方法

Posted at

はじめに

QGISでレトロゲーム風の地図を作りたいですか?

実は、最近の30DayMapChallengeに参加して、こうした地図を作る良い機会になりました。

30DayMapChallengeとは

このイベントは毎年11月にSNSで開催される地図の祭りです。毎日異なるテーマが設定されており、その日のテーマに合わせた地図を投稿するというルールになっています。

image.png
https://30daymapchallenge.com/

29日目のテーマは「ラスター」、画像やピクセルに関連するものです。そこで、QGISを使ってレトロゲーム風にピクセル化された日本地図を作るチャレンジに挑戦しました。この記事では、その作り方を説明します。

地図の設計から始めよう

地図を作り始める前に、使用する色、データ、制作方法を決めておく必要があります。

スタイル

上の投稿の地図を見ると、まず色を決める必要があります。ここでは下記の色を使用しています。

  • 内陸 : 緑
  • 海岸 : 黒
  • 近海 : 青色
  • 海 : 水色
  • 文字 : 白

データ

日本全国のポリゴン、natural earthや行政区域

やり方

実は、地図のテーマが「ラスター」であっても、ピクセルはベクター形式で表現します。各マスが1つのピクセルを表すグリッドを作成し、そこに色を指定する属性を設定します。コードが必要ありません。

日本地図のレトロピクセル化

まず、日本のポリゴンをQGISに読み込みます。今回は国土数値情報の都道府県ポリゴンを使用します。

image.png

グリッドを作成

まず、ピクセルのベクターグリッドを作成しましょう。地図を日本全国が見える範囲に移動してから、プロセッシングツールボックスから「グリッドを作成」を起動します。

image.png

25kmのマスにすると、ピクセル感が十分に出ると思いますので、以下のように設定しましょう。

image.png

実行をしたら、ベクターのピクセルを作りました。

image.png

日本区域のバッファを作成

青色の近海区域と黒色の海岸を表現するために、日本のポリゴンからバッファを作成しましょう。プロセッシングツールボックスから「バッファ」を起動します。

黒色の海岸は1マス分の距離で十分なので、5kmのバッファを作成します。

image.png

実行すると、日本の境界が目立つようになります。

image.png

次に、同じ手順で近海範囲を作成しましょう。バッファを50kmに設定すると、以下の結果が得られます。

image.png

次に、ピクセル化していきます。

マスの値を計算

各マスに色を割り当てます。グリッドレイヤに色のフィールドcolorをテキストとして追加し、対象となる色の名前を入力しましょう。

image.png

それぞれの色が上書きせず正しく塗りつぶされるように、海、近海、内陸の順番に設定していきます。

海 (light blue)

まず、すべてのマスをデフォルトで水色に設定します。ピクセルレイヤでフィールド計算機を開き、colorフィールドに'light blue'と入力して実行しましょう。

image.png

近海 (blue)

次に、日本から50kmバッファの範囲内にあるピクセルを青色に指定しましょう。バッファと重なるピクセルを選択してから、フィールド計算機を実行します。

メニューからベクタ→調査ツール→場所による選択

image.png

以下のように設定し、実行します。
image.png

ピクセルが選択されている状態でフィールド計算機を実行します。今回、選択中の地物のみをチェックし、'blue' を記入します。

image.png

内陸 (green)

次に、日本内陸の範囲内に重なるピクセルを緑に指定します。元の日本ポリゴンを使い、上記の同様に行います。今回は'green'と入力します。

image.png

海岸 (black)

海岸は狭いため、日本から5kmバッファの範囲内ではなく、その境界線に重なるピクセルを黒色に指定します。まず、作成した5kmバッファを線に変換しましょう。プロセッシングツールボックスから「ポリゴンを線に変換」を起動し、5kmバッファレイヤを入力として実行します。

image.png

image.png

次に、近海と内陸と同様に、作成した線に重なるピクセルを選択し、フィールド計算機に'black'と入力します。

image.png

ピクセルレイヤのスタイリング

結果を確認しましょう。レイヤプロパティでカテゴリ値によるシンボロジを設定し、各値に応じて色を指定します。

image.png

完璧ではありませんが、良い感じに仕上がっています。

image.png

ここからは芸術的なセンスを活かして改善していきます。満足できないピクセルの色を手動で編集しましょう(幸いにも、芸術は自動化できるものではない)。

タイトルのレトロピクセル化

レトロピクセルスタイルで地図のタイトルを作るのは簡単です。ラインレイヤを作成し、手動でタイトルを入力します。他の部分と合わせるなら、50kmのバッファを作成します。

image.png

ピクセルと重なる部分に応じて色をつけます。

おわりに

手動で微調整を行えば、レトロスタイルに近づけることができます。基本的にグリッドを作成して各マスを塗るという手順です。これで、好きな場所でレトロピクセルスタイルの地図を作れます。もっと幻想的な色使いに挑戦してみてもいいでしょう。

image.png

この地図は30DayMapChallengeの一環として作成しました。日本、その言語、文化に関する地図を毎日投稿するという個人的なコンセプトで取り組んでいます。ぜひこちらをご覧ください。

5
0
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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?