QGISやArcGISなどGISソフトを扱っていると必ず利用すると言っても過言でないのがシェイプファイルです。
地理空間分析を行う際に、団体などのホームページからシェイプファイルをダウンロードとしたことがある方は多いと思います。
ただ構造が独特なため、慣れないうちは扱うのが大変と感じる方もいるのではないでしょうか。
この記事では、GISを初めて扱う人がつまずきやすい、シェイプファイルの特徴について解説します。
目次
シェイプファイルとは
シェイプファイルとは、正確にはESRI Shapefileといい、ArcGISの開発元であるESRI社が策定したファイル形式です。
元々は同社が1990年代半ばにリリースしたGISソフト・ArcViewのVersion2用に導入されたものですが、古くから規格化されたこともあり、現在ではQGISなど多くのGISソフトウェアで使用可能なファイル形式にもなっています。
普及率の高さやファイル容量の小ささから古くから配布用のファイル形式として定着しており、ネット上で提供されている多くの地理情報のオープンデータソースはシェイプファイル形式を採用しています。
オープンデータについては以下の記事で紹介しています。
シェイプファイル形式に保存できる形式は、以下の3つのベクタデータ(幾何学的データ)で表現されています。
- ポイント:1カ所を表す「点」
- ライン:複数の点をつなげて構成される「線」
- ポリゴン:直線を集合して作られる「面」
各要素には地名・所有者名などの固有名詞、温度、土地利用方法、人口、営業時間など分析したい情報に合わせた情報を属性情報として付与することができます。
多くの地理的空間情報を単純化できるためファイル容量がそれほど多くはなく、位置情報データの保存や配布に適しているといえるでしょう。
シェイプファイルを構成するファイル群について
シェイプファイルは単一のファイルではなく、いくつかのファイルの組み合わせによって成り立っています。
この中で必須となるのが以下の3つのファイル。
GISソフトを動かすには、どれも欠けてはいけないものになっています。
- shpファイル:地形情報の本体であるシェープ規格のファイル。
- shxファイル:地形データの検索を高速にするための位置インデックス(シェープインデックス規格)のファイル。
- dbfファイル:各シェープに対する縦表形式の属性情報を内包するファイル。
他には以下のようなファイルが存在します。
- prjファイル:座標系や投影法を指定するファイル
- cpgファイル:文字コードを指定するファイル
- sbnファイル、sbxファイル:ESRI社のソフトウェアで用いられる空間インデックスファイル
これらのファイルは任意で付属しているファイルではありますが、prjファイルについては、緯度経度などの座標系の推測に関する情報を収めていることから現在ではほぼ必須のファイルとなっています。
シェイプファイルは上述した複数のファイルが同一のフォルダの中に収められて集合体を形成したファイル群です。
そのためGISソフトを動かしデータをシェイプファイルで保存した場合は、必ず複数のファイルが生成されます。
保存場所などには十分に気をつける必要があります。
シェイプファイルを扱う際の4つの注意点
シェイプファイルはGISの標準的なファイル形式として広く使われる一方で、複数のファイルの集合体という形状もあり、いざ利用してみると使いにくさを覚える方も少なくありません。
その中でも初心者がつまずきやすい4点について簡単に説明します。
ファイルサイズ上限・2GBを超えないようにする
シェイプファイルには「ファイルサイズを2GB以下にしなければならない」というサイズの上限が存在します。
容量が軽いものが多く読み込みは早いというメリットはありますが、詳細な分析データを広範囲で行いにくいというデメリットが存在します。
国単位・都道府県単位など広範囲で分析する際や使用する属性データが多い場合などには、ファイルサイズには細心の注意を払うようにしましょう。
特に外部から万単位のCSVのテキストファイルを読みこむ場合には注意が必要です。
ファイルの保存場所に注意する
先ほどもお伝えしたように、シェイプファイルは複数のファイルの集合体とも呼べる存在です。
どれか1つでも削除したり、当該のフォルダなどから移動させるとQGISなどで編集することができなくなります。
外部オープンソースなどを活用したい際にPCにシェイプファイルをダウンロードする時には、フォルダの場所を慎重に指定してください。
特に、別のファイルが映りこみやすいダウンロードフォルダを保存場所として指定するのは避けた方が良いです。
後で保存場所がバラバラになって困らないよう、事前に加工対象のデータについてディレクトリ(保存場所)を決め、わかりやすく整理してからGISソフトを利用するようにしましょう。
文字化けが起こらないようにする
シェイプファイルは文字コードが任意に設定されており、cpg形式のファイルなどで指定されています。
このため複数のシェイプファイルを組み合わせて地理空間分析を行おうとすると、文字コードの違いによって地名などが文字化けすることがあります。
特に日本語を扱う際には、Windowsだとデフォルトが「Shift_JIS(CP932)」に対して、macOSやLinuxが「UTF-8」となっているため、異なるOSの間でデータをやりとりする際におかしな文字が出てきてしまいます。
そのためQGISやArcGISなどのソフトでシェイプファイルを読み込み、保存する際には、文字コードは最も一般的なエンコードである「UTF-8」に統一するようにしましょう。
近年のファイル形式では「UTF-8」に統一されていることも多いですが、国土数値情報などでは今もなお「Shift-JIS」形式はよく利用されています。
オープンソースデータを利用する場合や、macOSでQGISを扱う場合には文字コードに注視するようにしてください。
1つのシェイプファイルには1つのジオメトリしか入れられない
シェイプファイルには1つのジオメトリ(ポイント・ライン・ポリゴン)しか入れられません。
そのためバス路線(ライン)とバス停(ポイント)、河川(ライン)と湖(ポリゴン)、建物(ポイント)と土地(ポリゴン)といった複数の異なるジオメトリを行う場合には、それぞれについてシェイプファイルを探し当てて分析する必要があることに注意しましょう。
まとめ
シェイプファイルはGISで地理空間分析を行うのに必要不可欠なデータではありますが、ファイル構造にクセがあるため扱いには注意が必要です。
特にファイルの移動や保存場所、文字コードなどは初心者がつまずきやすい点です。
十分に注意してファイルを扱うようにしましょう。
参考文献
井口奏大「現場のプロがわかりやすく教える位置情報エンジニア養成講座」秀和システム2023年出版、p31,83
ゼンリン 「Shapefileとは?主なメリットや構成、使用時の注意点を解説」ZENRIN Map to the Future https://www.zenrin.co.jp/product/article/Shapefile-benefits/index.html (2024.2.10取得)