2016-08-02 5 views

答えて

0

TextBoxにプロジェクション名を入力することは、ユーザーが任意の値を入力できるようにすることを意味しています。これは、必要な形式ではない可能性があります。 「WGS84_UTM_zone_37N」や「WGS 1984 UTM Zone 37N」などはすべて有効な値ですが、あなたが探しているSpatial Referenceを特定するのは非常に難しいでしょう。

代わりにドロップダウンリストを用意し、esriSRProjCSTypeesriSRGeoCSTypeのようなプロジェクションシステムのcontantの1つを使用し、ドロップダウンに入力することをお勧めします。

まだ必要な場合は、テキストボックスに入力した値と一致するまで、すべてのspatialreferenceのインスタンスを作成する必要があります。

private ISpatialReference GetSpatialReference(string srName){ 
    var srProjCSArray = Enum.GetValues(typeof(esriSRProjCSType)); 
    var srEnvirnonment = new SpatialReferenceEnvironment(); 

    foreach (var item in srProjCSArray) 
    { 
     var sr = srEnvirnonment.CreateProjectedCoordinateSystem((int)item); 
     if(sr.Name == srName) 
      return sr; 
    } 
} 

この方法は、Projected Coordinateシステムでのみ機能します。この方法は、Geographic Coordinateシステムでも同様に行う必要があります。

関連する問題