オブジェクトのタイプでシンボルを変える

読み込んだオブジェクトを
using DotSpatial.Data;

public static string mapadd(DotSpatial.Controls.Map map, string filepath, string layername)
{
string chk = “”;
//追加するファイルを読み込む
IFeatureSet fs = FeatureSet.Open(@filepath);
//名前を付ける
fs.Name = layername;
IMapFeatureLayer mylayer = map.Layers.Add(fs);
//整飾


switch (fs.FeatureType.ToString())
{
case “Polygon”:
//オブジェクトがポリゴン
mylayer.Symbolizer = fullc();
break;
case “Line”:
//オブジェクトがライン
mylayer.Symbolizer = lineo();
break;
}

return chk;
}

汎用性はあるかも

//整飾事態を関数化//ハッチパターン
public static PolygonSymbolizer fullc()
{
//ハッチパターン
// mySymbolizer.Patterns.Add(Hatch());
PolygonSymbolizer lightblue = new PolygonSymbolizer(Color.LightBlue);
lightblue.OutlineSymbolizer = new LineSymbolizer(Color.Blue, 1);
return lightblue;
}

同じようにすればいい。

ラインは別な整飾
public static LineSymbolizer linec()
{
//ハッチパターン
LineSymbolizer line=new LineSymbolizer(Color.Brown, 1);

return line;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です