диаграммы ArcObjects

0 голосов
спросил 23 Окт, 06 от dataplus (120 баллов) в категории Программные продукты Esri

Здравствуйте.

Я только начинаю изучать ArcObjects. У меня вопрос к тем, кто шарит в нём. Необходимо создать слой в ArcMap, состоящий из точек с заданными координатами (например, 100, 100;  200, 200). Как  это сделать? Я посмотрел в диаграммы ArcObjects. Насколько я понял,  точки, линии, полигоны находятся  в блоке диаграмм Geometry Object model. Описание слоёв идёт в блоке ArcMap layer objects. Но никаких связей между  ними в диаграммах нет (нет никаких стрелок: ни наследования, ни объединения). Может ли кто-нибудь “на пальцах” рассказать какие диаграммы для этого нужны и где искать связи между блоками.  

С уважением.

2 Ответы

0 голосов
ответил 25 Окт, 06 от DenSer1 (660 баллов)
Необходимо создать слой в ArcMap
 
хм, эта фраза интересна. либо:
1. надо создать layer только для одного документа ArcMap (по аналогии, например вставить таблицу в один документ ворда)
2. действительно только начинаете и неправильно выразились.
 
предположим второе. значит надо:
1. создать точечный ifeatureclass (есть в хэлпе хороший пример в разделе IFeatureWorkspace Interface -> CreateFeatureClass Method)
2. заполнить полученный класс (IFeatureClass Interface -> Example)
 
оттуда уже легко выйти на диаграммы
 
на самом деле примеров много, указал первые попавшиеся
0 голосов
ответил 28 Окт, 06 от Ulukbek (6,020 баллов)
Public Sub CreateShapefile(strFolder As String, strName As String)
   Const strShapeFieldName As String = "Shape"
   
   Dim pFWS As IFeatureWorkspace
   Dim pWorkspaceFactory As IWorkspaceFactory
   Set pWorkspaceFactory = New ShapefileWorkspaceFactory
   Set pFWS = pWorkspaceFactory.OpenFromFile(strFolder, 0)
  
   Dim pFields As IFields
   Dim pFieldsEdit As IFieldsEdit
   Set pFields = New esriCore.Fields
   Set pFieldsEdit = pFields
  
   Dim pField As IField
   Dim pFieldEdit As IFieldEdit
  
   Set pField = New esriCore.Field
   Set pFieldEdit = pField
   pFieldEdit.Name = strShapeFieldName
   pFieldEdit.Type = esriFieldTypeGeometry
  
   Dim pGeomDef As IGeometryDef
   Dim pGeomDefEdit As IGeometryDefEdit
   Set pGeomDef = New GeometryDef
   Set pGeomDefEdit = pGeomDef
   With pGeomDefEdit
     .GeometryType = esriGeometryPolygon
     Set .SpatialReference = New UnknownCoordinateSystem
   End With
   Set pFieldEdit.GeometryDef = pGeomDef
   pFieldsEdit.AddField pField
  
   Set pField = New esriCore.Field
   Set pFieldEdit = pField
   With pFieldEdit
       .Length = 30
       .Name = "Name"
       .Type = esriFieldTypeString
   End With
   pFieldsEdit.AddField pField
  
   Set pField = New esriCore.Field
   Set pFieldEdit = pField
   With pFieldEdit
       .Name = "ID"
       .Type = esriFieldTypeInteger
   End With
   pFieldsEdit.AddField pField
  
   Dim pFeatClass As IFeatureClass
   Set pFeatClass = pFWS.CreateFeatureClass(strName, pFields, Nothing, _
                                            Nothing, esriFTSimple, strShapeFieldName, "")
End Sub

 
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...