おしらせ

文字コードUTF-8のシェープファイルを作成

2014年08月05日

基盤地図情報は7月31日から文字コードをSHIFT-JISからUTF-8へ変更した。
数値地図(国土基本情報)は、まだSHIFT-JISのままの模様。
基盤地図情報が変わったなら、国土基本情報が変わるのも時間の問題か。
シェープファイル形式は、以下の制限があるため、SHIFT-JISのままかも。

web上ではすでに半数近くがUTF-8という記事もある。
多言語で共通の文字コードであるため、文字化けなどのトラブルがなく共用できる。
ここにきて、gisデータ自体にその流れがでてきたのだろうか。
SHIFT-JISでは2バイトで表現できていた日本語が、UTF-8では3バイトでの表現になるとのこと。
データ量として1.5倍以上になることより、web環境などでの共用を考慮した方が、優先となっているのであろう。

ちなみに、シェープファイルでは、利用できる日本語の文字数が少なくなってしまう。
フィールド名はシェープファイルの仕様で実質10バイトの制限がある。5文字使えていたのが、3文字までになる。
文字型のレコードは254バイトの制限がある。SHIFT-JISでは127 文字収められたが、UTF-8では84 文字になる。

文字コードUTF-8のシェープファイルを作成するには以下の方法がある。

QGIS2.4

新規作成時の方法
  1. レイヤメニュー-新規-新しいシェープファイルレイヤをクリック
  2. 新規ベクターレイヤの画面
    ファイルエンコーディングでUTF-8を選択(これだけ)
    その他、タイプやフィールドの定義をする
  3. OKボタンをクリック
UTF-8への変換方法
  1. UTF-8へ変換するシェープファイルを開く
  2. 開いたシェープファイルを選択し、レイヤパネルで右クリック
    (開いたシェープファイルを選択し、レイヤメニュー)
  3. 名前をつけて保存をクリック
  4. エンコーディングでUTF-8を選択(これだけ)
    その他、ファイル名やCRSなどを定義する
  5. OKボタンをクリック

ArcGIS10.2.1

ArcGIS10.2.1から、シェープファイルの作成・出力時のデフォルトの文字コードがUTF-8へ変更になった。
インストールガイドには、シェープファイルの制限を踏まえ、SHIFT-JISに設定するパッチのインストール説明がある。

ArcGIS10.2以前

ESRIジャパンのサポートサイトに、レジストリを編集する事で文字コードを指定することができると記されている。