プログラミング– category –
-
ArcMapでレイヤが表示されているかどうかを判定する方法
ArcMapのデータフレームでレイヤを表示するかどうかはILayer::Visibleプロパティで設定できますが,表示縮尺の制御をしている場合は,表示にチェックを入れてもレイヤが表示されません。現在レイヤが表示されている状態かどうかを判断するにはIMapLayers::IsLayerVisibleプロパティを使用します。 -
ArcObjectsによる測地成果2000対応地理座標変換
これまで,日本測地系(東京測地系)のデータセットを日本測地系2000(世界測地系)に変換するには,ArcTKY2JGDを使用する必要がありました。このツールは,ArcCatalogのコマンド ボタンから起動するツールで,既存のフィーチャクラス(シェープファイルやジオデータベース)から測地基準系を変換した新しいフィーチャクラスを作成するという... -
ポリラインやポリゴンの頂点を表示する方法
ArcMap のスケッチツールでは、作図中のラインで頂点が強調されて表示しますが、編集操作をしていない状態だとポリラインやポリゴンのどこに頂点が打ってあるのか分かりません。 それが ArcObjects 9.1 Developer Help のサンプル プログラムをインストールするとこんなことができるようになります。 ラインの頂点部分が目で確認できるように... -
アノテーション フィーチャを変更する方法
ArcGISのアノテーション フィーチャを編集するには,[アノテーション]ツールバーを使用しますが,これをArcObjectsで操作する方法は以下のとおり。各フィーチャの属性値にテキストやフォントサイズなどが格納されてますが,これは閲覧に用いるだけで,本質的な情報は,"ELEMENT"フィールド内にBlob型で格納されているバイナリがそれに該当... -
「選択フィーチャからレイヤを作成」で作成されたレイヤを判別する方法
ArcMap の機能に、特定のレイヤーから選択されたフィーチャ群を新しいレイヤーとして作成する機能があります。 レイヤを右クリック → [選択] → [選択フィーチャからレイヤーを作成] この操作で新しく作成されたレイヤーは、特定のフィーチャ群だけが抜き出されただけで、データソースなどその他のプロパティはすべて出力元のレイヤと同じ情報... -
レイヤーをコピーする方法
ArcObjects には IClone というインタフェースがあり、これを実装しているクラスは IClone::Clone() メソッドによってオブジェクトの複製が行えます。しかし、TOC でレイヤをコピー&貼り付けのように、レイヤの複製を行いたい場合は、レイヤー クラスに IClone 実装されていないためが使えません。 その代わりに使用するのが IObjectCo... -
Visual StudioとSubVersionとを連携させる方法
ソースコードのバージョン管理をVisual Studioとうまいこと連携してくれるソフトがありました。 AnkhSVN 詳しい紹介はここで紹介されてます。 //b.hatena.ne.jp/entry///ankhsvn.tigris.org/ 追記 AnkhSVN 2.0xをインストール後、誤ってここからバージョン1.0x用の日本語化操作をしてVisual Studio 2005を起動すると、アドインが全く使用でき... -
マップの全体表示に対するカスタム範囲を設定する方法
ArcGIS 9.2から,「全体表示」ボタンを押したときの全体範囲をカスタマイズできるようになりました(9.1まではデータフレームに追加されている全部のレイヤが表示される範囲しか設定できませんでした)。 ArcMap > レイヤ(データフレーム)のプロパティ > データフレーム > 全体表示コマンドの表示範囲 カスタマイズでこれを設定し... -
ArcObjectsで作成したツールバーをインストール時にデフォルトで表示状態にする方法
ESRI .NET Integration Frameworkを使うとボタンやツール、ツールバーなどが大変楽に作成できますが、デフォルトではレジストリ登録だけではツールバーが表示される状態にはなりません。これをインストール時点でツールバーが表示される状態にする方法が簡単に設定できます。 実際にはComponent Categoryにレジストリ登録する際の記述が必要... -
EnvelopeをPolygonやPolylineに変換する方法
マップやフィーチャの範囲はEnvelopeオブジェクトで取得することができますが,これをPolylineやPolygonに変換したいときに使う方法。SetRectangleにEnvelopeをセットすればオブジェクトが生成されます。簡単なんだけど,忘れがちなメソッド。