プログラムの内容について簡単に見ていきましょう。

リスト2 Form1.cs抜粋 - Mapクラスの初期設定


    _Map = new Map(new Size(picJapan.Width, picJapan.Height));
    _Map.BackColor = Color.LightBlue;

SharpMapで地図を描画する場合、地図そのものを表すMapクラスを利用します。Mapクラスのコンストラクタには、地図のサイズ(System.Drawing.Sizeクラス)を設定できます。ここでは、表示するピクチャーボックスの横サイズと縦サイズを設定しています。

MapクラスのBackColorプロパティで背景色を設定できます。ここでは海をイメージした薄い青色を設定しています。

レイヤを表すVectorLayerクラス

次に地図データを表すレイヤを作成しています。レイヤを作成する場合、VectorLayerクラスを利用します。

リスト3 Form1.cs抜粋 - レイヤとスタイルの設定


    VectorLayer baseLayer = new VectorLayer("行政区域");
    baseLayer.DataSource = new ShapeFile(@"..\..\ShapeFiles\bnda_1_1.shp");
    baseLayer.Style.Fill = Brushes.GreenYellow;
    baseLayer.Style.Outline = Pens.Green;
    baseLayer.Style.EnableOutline = true;

VectorLayerクラスのコンストラクタには、レイヤの名前を指定する必要があります。ここでは、「行政区域」という名前を指定しています。 レイヤのデータにあたるシェープ形式のファイルを読み込むには、ShapeFileクラスをインスタンス化して、レイヤのDataSourceプロパティに設定します。ShapeFileクラスのコンストラクタでは、シェープファイルのパスを指定します。ここでは、実行ファイル(*.exeファイル)から見て、2つ上のShapeFilesフォルダの「bnda_1_1.shp」ファイルのパスを指定しています。 このシェープファイルは、面(ポリゴン)データで、そのスタイルとして、背景を黄緑色に、県市境を緑色に指定しています。