Редактирование координат (help me please...)

0 голосов
спросил 17 Фев, 10 от vf3000 (140 баллов) в категории Программные продукты Esri
Здравствуйте! В общем, вопрос стоит в следующем. Есть слой с полилиниями. Нужно из этого слоя извлечь все координаты точек вершин линий. а потом записать новый (больший) набор координат. Хотя в принципе записать можно и в шэйп-файл. Насколько я понимаю, координаты хранятся в поле Shape. Однако у меня получилась ересь image
Я новичок в этой области, буду признателен за помощь!! Срочно надо...
P.S. код на C# нужен но можно и на VB.NET

1 Ответ

0 голосов
ответил 04 Март, 10 от Commrad1 (3,660 баллов)

Это пример как вытащить координаты узлов у выбранного объекта. Правдо на VB6.
  If pMap.SelectionCount = 0 Then
      MsgBox "Выберите объект", vbInformation, "Сообщение"
  Else
      Set pSelected = pMap.FeatureSelection
      Set pFeature = pSelected.Next
      Set pGeom = pFeature.Shape
      pUid = "esriEditorExt.Adjustment"
      Set pAdjust = m_pApp.FindExtensionByCLSID(pUid)

           'Create or select a text file to save limit adjust polygon
          Set pGxDialog = New GxDialog
          pGxDialog.Title = "Сохранить координаты"

          Set pObjFilter = New GxFilterTextFiles
          Set pGxDialog.ObjectFilter = pObjFilter

              If (pGxDialog.DoModalSave(m_pApp.hWnd) = True) Then
                 pGeom.Project pMap.SpatialReference
                  'Get vertices of limit adjust area
                 Set pPointColl = pGeom 'pAdjust.LimitedAdjustmentArea
                 Set pEnumVertex = pPointColl.EnumVertices
 
                 pEnumVertex.Reset
   
                  'Save the file as .txt file
                sFileName = pGxDialog.FinalLocation.FullName + "\" + pGxDialog.Name
   
                   If StrComp(Right(pGxDialog.Name, 4), ".txt") <> 0 Then
                     sFileName = sFileName + ".txt"
                   End If

    'Save each point in each line of the text file
    Open sFileName For Output As #1

    For i = 1 To pPointColl.PointCount - 1
      pEnumVertex.Next pPoint, lPart, lVertex
      Print #1, pPoint.X & vbTab & pPoint.Y
    Next i

    Close #1

 End If
End If

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