SharpMapの概要

地図機能を持つシステムのことをGIS(Geographic Information System:地理情報システム)と呼びます。複数の地理情報を組み合わせることで地図に価値を持たせ、有効に活用することができます。 ただ、このようなGISアプリケーションを作ろうとしても、データファイルの理解やイメージの出力といった高度な知識が必要でした。しかし、オープンソースライブラリの「SharpMap」を利用すれば、比較的容易に地図を描画することができます。本稿では、このSharpMapを活用して、地図を描画するアプリケーションの作り方について紹介します。

ここでは、次のようなWindowsフォームアプリケーションを作成します。

作成する地図アプリケーション

以下のレイヤ(画像の層)を重ね合わせて、地図を描画していきます。

  • (1)日本地図(行政区域)
  • (2)河川
  • (3)市町村名
  • (4)独自の線と点

また次回は、Web(ASP.NET)で地図を生成する方法についても紹介します。

開発に必要な環境

SharpMapはCodePlexにて開発、配布されています。執筆時点での最新バージョンは0.9です。このページから「Binaries_v09」というファイルをダウンロードしてください。 プログラムを作るためには、開発環境のVisual Studio(Visual C#)2005/2008と、.NET Framework2.0以上が必要です。もしこれらの環境を持っていない場合には、Microsoftのサイトから、無償でダウンロードすることができます。 「Windowフォームアプリケーション」プロジェクトを新規作成して、SharpMapのダウンロードファイルに含まれる「SharpMap.dll」に参照設定をしてください。

地図データの入手とGISアプリケーション

地図データは、無償で配布されているものから、有償で販売されているものまで幅広くあります。作りたいアプリケーションに応じて、データを入手することができます。ファイルの入手方法の詳細については、Wikipedia等を参照してください。

本稿で使用する地図データは、みんなの地球地図プロジェクト」の「地球地図日本(簡易版)バージョン1.1」を利用します。シェープ(Shape)形式のデータファイルは、このページからダウンロードできます。ここでは「bnda.zip:行政域」と「hydrol.zip:水系(線)」の両方を入手して解凍しています。そのファイルを、プロジェクトのShapeFilesフォルダに配置します。

参照設定と地図データを配置

シェープ(Shape)形式とは、ESRI社が提唱したデータの形式で、GISアプリケーションのフォーマットとして広く普及しています。詳細はESRI社の文書をご覧ください。