eyecatch

表データを地図にしよう 〜QGISに緯度経度を含むデータを追加する方法〜

投稿日: 最終更新日:
この記事はQGIS 3.34を使用しています。

この記事でわかること


  • 緯度経度などの座標値を元にポイントデータを作成する方法
  • インポートしたデータをShapefileでエクスポートする手順
  • CSVの文字化けの解消法や背景地図と重ならない場合の対処法

こんな人におすすめ


  • 緯度経度の値を持つ表形式のデータをQGISの地図上に表示したい方
  • CSVデータが文字化けしてしまった方
  • CSVデータが正しい場所に表示されない方

はじめに

GISの処理をしていると、表形式のデータなどに緯度経度といった座標値が含まれているときに、その座標値の場所にポイントデータを作成したい場面があると思います。QGISでは、座標値をもとに簡単にポイントデータを発生させることができます。 この記事では、緯度経度といった座標値を元にポイントデータを作成し、そのデータをShapefileでエクスポートする手順を解説します。緯度経度を含むCSVデータのインポート方法

CSVデータの準備

座標値をもとにポイントデータを作成するには、その座標値をCSVデータとして整理しておく必要があります。今回は、「大阪府オープンデータカタログサイト」からダウンロードができる「大阪府内の保育施設一覧」のCSVデータを使用します。

ダウンロードしたCSVデータをExcelで確認すると、B列に緯度、C列に経度の値が格納されていることが確認できます。

大阪府内の保育施設一覧をExcelで表示(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
大阪府内の保育施設一覧をExcelで表示(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

このデータのように、緯度と経度などの座標値の列がそれぞれ入力されているようなCSVデータを用意しましょう。データが、.xlsxといった拡張子のExcelデータの場合は、事前にCSVファイルに変換して保存する必要があります。その場合、Excel上で[名前をつけて保存]を選択し、ファイル形式を[CSV UTF-8 (コンマ区切り)(.csv)]としてください。

ファイル形式を[CSV UTF-8 (コンマ区切り)(.csv)]にして保存する(Mac版Excelの画面)
ファイル形式を[CSV UTF-8 (コンマ区切り)(.csv)]にして保存する(Mac版Excelの画面)

QGISでCSVをインポートする

QGISを起動し、メニューバーより[レイヤ]→[レイヤを追加]→[CSVテキストレイヤを追加]を選択します。

[CSVテキストレイヤを追加]を選択する
[CSVテキストレイヤを追加]を選択する

[CSVテキスト」のタブが選択された状態のデータソースマネージャが表示されます。さまざまな設定項目が表示されていますが、まずは[ファイル名]の[•••]ボタンよりインポートするCSVデータを選択します。

[•••]ボタンよりインポートするCSVデータを選択する
[•••]ボタンよりインポートするCSVデータを選択する

「CSVデータを選択します」という画面表示されるので、インポート対象のCSVデータを選択し[開く]をクリックしましょう。

インポート対象のCSVデータを選択し[開く]をクリック
インポート対象のCSVデータを選択し[開く]をクリック

すると、[サンプルデータ]の欄にファイル名で選択したCSVデータがサンプルとして表示されていることが確認できます。

[サンプルデータ]の欄に選択したCSVデータがサンプルとして表示される(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
[サンプルデータ]の欄に選択したCSVデータがサンプルとして表示される(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

サンプルデータが適切に表示されていることが確認できたら、[ジオメトリ定義]から[ポイント座標]が選択されていることを確認し、[X値」には[経度]の列「Y値]には[緯度]の列を選択します。

[X値]には[経度]の列[Y値」には[緯度]の列を選択する
[X値]には[経度]の列[Y値」には[緯度]の列を選択する

続いて、[ジオメトリのCRS]の欄からはこのデータのCRS(座標系)を選択します。[地球儀]ボタンをクリックすると、CRSを選択する画面が表示されるため、[フィルタ]に4326と入力し、[あらかじめ定義された座標参照系(CRS)]から[WGS84(EPSG:4326)]を選択し[OK]をクリックしましょう。

[WGS84(EPSG:4326)]を選択する
[WGS84(EPSG:4326)]を選択する

ここまで設定が完了したら、最後に[追加]をクリックしましょう。

設定が完了したら[追加]をクリックする(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
設定が完了したら[追加]をクリックする(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

マップキャンバスにポイントデータが表示されました。

マップキャンバスにポイントデータが追加された(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
マップキャンバスにポイントデータが追加された(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

インポートしたデータの確認

インポートしたCSVデータがQGISに正しく表示されたら、次にデータが適切に追加できているか確認しましょう。

まずは、背景地図を追加して適切な位置にポイントデータが表示されているか確認します。ここでは、[地理院地図]を追加してみます。ブラウザパネルの[XYZ Tiles]から[地理院地図]をダブルクリックします。

[地理院地図]をダブルクリック
[地理院地図]をダブルクリック

マップキャンバスを確認すると、大阪のエリアにポイントデータが表示されており、CSVデータを適切にインポートできていることが確認できました。

適切な位置にポイントデータが表示されている(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
適切な位置にポイントデータが表示されている(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

合わせて、属性テーブルも確認してみましょう。レイヤを右クリックして、[属性テーブルを開く]を選択します。

レイヤを右クリックして、[属性テーブルを開く]を選択する(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
レイヤを右クリックして、[属性テーブルを開く]を選択する(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

属性テーブルも適切に表示されていることが確認できました。

属性テーブルも適切に表示されている(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
属性テーブルも適切に表示されている(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

CSVデータをShapefileとしてエクスポートする

QGISに追加したCSVデータは、簡単な可視化や軽い処理であれば、CSVのままでも特に問題なく動作するでしょう。しかし、空間的な解析を行う場合や大量のデータを扱う場合は、Shapefileなどのベクタ形式の方が効率的に処理ができるため、インポートしたCSVデータをベクタ形式のデータにエクスポートすることが重要です。

ここでは、Shapefileへのエクスポート手順を説明します。まずは、レイヤを右クリックして[エクスポート]→[新規ファイルに地物を保存]を選択します。

[新規ファイルに地物を保存]を選択する(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
[新規ファイルに地物を保存]を選択する(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

「名前をつけてベクタレイヤを保存」という画面が表示されます。ここで、エクスポートするファイルの設定をすることができます。

まず、[形式]欄からは出力するベクタデータのファイル形式を指定することができます。プルダウンから[ESRI Shapefile]を選択します。

続いて、[ファイル名]欄は、[•••]ボタンをクリックして保存したい場所とファイル名を指定します。すべての設定が完了したら、[OK]をクリックします。

すべての設定が完了したら、[OK]をクリックする
すべての設定が完了したら、[OK]をクリックする

すると、指定した場所にShapefileでエクスポートされ、先ほど保存した名称でQGISに追加されました。

Shapefileでエクスポートができた(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
Shapefileでエクスポートができた(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

CSVデータ追加時のよくあるトラブル

CSVデータが文字化けした場合の対処法

CSVデータを追加した時に、サンプルデータの欄が文字化けして表示されてしまうことがあります。

サンプルデータの欄が文字化けして表示されている(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
サンプルデータの欄が文字化けして表示されている(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

文字化けの原因としては、文字コードの設定が原因です。日本語のCSVデータは一般的に「Shift_JIS」や「UTF-8」で作成されていますが、QGISはデフォルトで異なる文字コードを指定することがあり、これが文字化けの原因となります。

もしCSVデータが文字化けをした場合は、文字コードの欄から「Shift_JIS」と「UTF-8」を交互に入れ替えてみることで、文字化けを解消することができるでしょう。

UTF-8に変更したら文字化けが解消された(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
UTF-8に変更したら文字化けが解消された(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

なお、CSVデータをQGISに追加した後に文字化けしていることを見つけた場合、Shapefileなどのベクタファイルとは異なり、レイヤプロパティから「文字コード」を変更できないので、データソースマネージャから再度CSVデータを追加しましょう。

CSVデータは、QGISに追加した後は文字コードが変更できない
CSVデータは、QGISに追加した後は文字コードが変更できない

地図上の変な場所にポイントデータが追加される

CSVデータをQGISに追加して、背景地図と重ねて表示しても、本来表示される場所にポイントデータが表示されない場合があります。

背景地図と重なって表示されない(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
背景地図と重なって表示されない(「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

CSVデータをインポートする際に特に重要なのは、「座標系(CRS)」の設定です。

日本で公開されている緯度経度のデータであれば「EPSG:4326 (WGS 84)」や「EPSG:6668(JGD2011)を指定するのが一般的ですが、他の座標系で作成されているデータを読み込もうとする場合は、その座標系を正しく設定する必要があります。誤った座標系を設定すると、上記のように地図上の正しい位置に表示されない可能性があるため、読み込もうとしているデータの座標系を事前に確認することが重要です。

CSVインポート時に適切な座標系を設定する
CSVインポート時に適切な座標系を設定する

また、同じようなトラブルとして、下記の図のようにポイントの表示される位置が反転しており、適切にポイントが表示されないケースがあります。これはインポート時の設定で[X値]に[緯度]、[Y値]に[経度]といったように、指定するカラムが逆になってしまった場合に発生します。

誤った設定でインポートすると、ポイントの位置が反転し、背景地図とも重ならない(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)
誤った設定でインポートすると、ポイントの位置が反転し、背景地図とも重ならない(地理院タイルを背景に、「大阪府内の保育施設一覧(大阪府オープンデータカタログサイト)」を加工して作成)

このように、地図上に適切にポイントデータが表示されない場合は、座標系や設定を確認して、再度CSVデータをインポートしましょう。

おわりに

この記事では、緯度経度を含むCSVデータをQGISにインポートし、Shapefileにエクスポートする手順について解説しました。データの表示位置のズレやCSVデータの文字化けは実際に遭遇しやすいトラブルなので、焦らずに座標系や文字コードの設定を確認することが大切です。

この記事を書いた人
QGIS LAB編集部
QGIS LAB編集部

QGIS LABは、オープンソースのGISソフトウェア「QGIS」に関する総合情報メディアです。「位置と情報で世界を変える」をコンセプトに、位置情報で世界を拓くための知識と技術をお届けします。

関連する記事