プログラミング– category –
-
フィーチャ テンプレートの操作
[vb title="VBA"] Public Sub AddFeatureTemplate() Dim pMxDocumenet As IMxDocument Set pMxDocumenet = ThisDocument Dim pFeatureLayer As IFeatureLayer Set pFeatureLayer = pMxDocumenet.SelectedLayer '選択レイヤの取得 Dim pDataset As IDataset Set pDataset = pFeatureLayer.FeatureClass ... -
ツールバーの形状制御
[vb title="VBA"] Public Sub ShowTool() Dim pDocument As IDocument Set pDocument = ThisDocument Dim pCommandBars As ICommandBars Set pCommandBars = pDocument.CommandBars Dim pCommandBar As ICommandBar Set pCommandBar = pCommandBars.Find("Project.講習会ツール") 'カスタムツ... -
クリックした地点からマップの縮尺に応じたバッファーを作成してフィーチャ検索用ジオメトリを作成
[vb title="VBA"] Private Sub UIToolControl1_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long) Dim pMxApplication As IMxApplication Set pMxApplication = Application Dim pMxDocument As IMxDocument Set pMxDocument = ThisDocument Dim pAppDisplay ... -
フィーチャの移動
[vb title="VBA"] 'ArcMapで編集セッションを有効にして移動対象のフィーチャを選択しておく 'http://edndoc.esri.com/arcobjects/8.3/Samples/Editing/MoveFeatures.htm Public Sub MoveFeatures() Dim pEditor As IEditor Dim pEndPoint As IPoint Dim pEnumFeature As IEnumFeature Dim pFeature As IFeature Dim pFeatureEdit As IFeatur... -
Search カーソル
[vb title="VBA"] Dim pFeatureCursor As IFeatureCursor Set pFeatureCursor = pFeatureClass.Search(pQueryFilter, False) 'QueryFilter:検索条件 Dim pFeature As IFeature Set pFeature = pFeatureCursor.NextFeature Do Until pFeature Is Nothing pFeature.Value(2) = "xxx" pFeature.Store 'データのコミット Set pFeature ... -
ルート イベント レイヤーの作成
ルート イベント レイヤーを作成するには、まず取得したカバレッジ フィーチャクラスを下記方法でルート イベントのデータ ソースとして設定します。 IRouteLocatorName 型の変数を宣言し、新規 RouteMeasureLocatorName オブジェクトをセットします。 IRouteLocatorName 型オブジェクトの RouteFeatureClassName と RouteIDFieldName プロパ... -
ソートしたテーブルの作成
[vb title="VBA"] '****************************************************************************** ' 定義 :Private Function CreateSortedTable() ' 概要 :ソートしたテーブル・フィーチャクラスの取得 ' 備考 :元のテーブルをソートしてInMemoryWorkspaceへ出力して返す ' 第1引数 :Table 入力テーブル・フ... -
編集セッション優先でリコンサイル
[vb title="VBA"] Attribute VB_Name = "Module" Option Explicit '[編集セッション優先]でコンフリクトしたフィーチャをリコンサイル Sub subReConsile() Dim pMxDoc As IMxDocument Set pMxDoc = ThisDocument Dim pFLayer As IFeatureLayer Set pFLayer = pMxDoc.FocusMap.Layer(0) Di... -
FeatureCursorBuffer を使用したバッファー作成
[vb title="VBA"] ' ワークスペースの名前を作成 Dim pWorkspaceName As IWorkspaceName = New WorkspaceName Dim factoryType As Type = Type.GetTypeFromProgID("esriDataSourcesGDB.ScratchWorkspaceFactory") Dim pScracthWorkspaceFactory As IScratchWorkspaceFactory2 = CType(Activator.CreateInstance(factoryType), IScr... -
アクティブ データ フレームの指定した名称のレイヤー表示を切り替え
[vb title="VBA"] Public Sub ChangeVisibleLayer(Optional LayerName As String = "") If LayerName = "" Then LayerName = InputBox("表示を切り替えるレイヤを入力してください。", "レイヤ表示切り替え") If LayerName = "" Then Exit Sub End If ...
