プログラミング– category –
-
マルチパート ポリゴンを取得する方法
[vb title="VBA"] Dim pGeometryCollection As IGeometryCollection Set pGeometryCollection = New Polygon 'Polygonオブジェクトがマルチパートで作成されていることを前提 Dim pPointCollection As IPointCollection Dim pPoint As IPoint Dim i As Long Dim j As Long '個々のパート(Ring)を取得 For i = 0 To pGeometryCollection... -
ArcMap のダイアログ表示
IApplication::ShowDialog esriMxDlgIDs Constants -
ArcCatalog のプレビュー タブ内のマップを拡大
[vb title="VBA"] Public Sub ZoomIn() Dim pGxApplication As IGxApplication Set pGxApplication = Application If Not TypeOf pGxApplication.View Is IGxPreview Then Exit Sub Dim pPreview As IGxPreview Set pPreview = pApp.View If Not TypeOf pPreview.View Is IGxGeographicView The... -
Snapping を使用したスナップ
[vb title="Visual Basic"] Imports System.Runtime.InteropServices Imports System.Drawing Imports ESRI.ArcGIS.ADF.BaseClasses Imports ESRI.ArcGIS.ADF.CATIDs Imports ESRI.ArcGIS.Controls Imports System.Windows.Forms Imports ESRI.ArcGIS.Geometry Imports ESRI.ArcGIS.esriSystem <ComClass(Tool1.ClassId, Tool1.Interfac... -
TextFileWorkspaceFactory のインスタンス化
[vb title="Visual Basic"] Dim t As Type t = Type.GetTypeFromProgID("esriDataSourcesOleDB.TextFileWorkspaceFactor") '<-- バージョン 10.0まで t = Type.GetTypeFromProgID("esriDataSourcesFile.TextFileWorkspaceFactory") '<-- バージョン 10.1以降 Dim workspaceFactory As IWorkspaceFactory = CTy... -
ドッカブル ウィンドウの表示
[vb title="VBA"] Public Sub ShowDockableWindow() Dim pDockableWindowManager As IDockableWindowManager Set pDockableWindowManager = Application Dim pUID As IUID Set pUID = New UID 'pUID.Value = "{EA61CE18-4B4F-4767-BA31-A11EC1C63DBB}" '[フィーチャ作成] ウィンドウ pUID.Value ... -
ジオメトリ タイプに応じてジオメトリを一時描画
[vb title="Visual Basic"] '********************************************************************* ' 定義 :fncDisplayGeometry(pGeometry As IGeometry, Rgb As Long) ' 概要 :ジオメトリタイプに応じてジオメトリを一時描画 ' 第1引数:IGeometry 描画対象のジオメトリ ' 第2引数:Long 描画色(VBAで色の定数及び値... -
FGDB フィーチャクラスが圧縮されているかどうかを調べる方法
FeatureClass → IDataset IDataset::FullName → ICompressionInfo ICompressionInfo::IsCompressed -
UIToolControl による簡易編集ツール
[vb title="VBA"] Private Const IDX As Integer = 0 Private Sub UIToolControl1_MouseDown(ByVal button As Long, ByVal shift As Long, ByVal x As Long, ByVal y As Long) Dim pEditor As IEditor Set pEditor = Application.FindExtensionByName("esriEditor.Editor") If pEditor.EditState = esriStateNotEditing Then MsgBo... -
ユーティリティ ネットワーク解析でフラグが設定されたフィーチャを特定する方法
[vb title="VBA"] Dim pUID As UID Set pUID = New UID pUID.Value = "esriEditorExt.UtilityNetworkAnalysisExt" Dim pNetworkAnalysisExt As INetworkAnalysisExt Set pNetworkAnalysisExt = Application.FindExtensionByCLSID(pUID) Dim pNetworkAnalysisExtFlags As INetworkAnalysisExtFlags Set pNetworkAnalysisExtFlags = ...
