Вывод на печать координат

0 голосов
спросил 02 Авг, 07 от HelenL (140 баллов) в категории Программные продукты Esri
Подскажите, как быстро распечатать в ArcMap координаты вертексов полигона, где найти нужный модуль

4 Ответы

0 голосов
ответил 02 Авг, 07 от geologic (39,860 баллов)

Это раз в месяц спрашивают, вот последний римейк:

 
:)
0 голосов
ответил 18 Окт, 07 от andrei_de (300 баллов)
Тема устарела, но если так часто возникает такой вопрос, то вот еще один способ с использованием модуля XTools Pro (www.xtoolspro.com):
 
1. Конвертируете полигоны в точки (Convert Features to Points)
2. Добавляете к точкам их координаты (Add X,Y,Z Coordinates)
3. Конвертируете аттриб. таблицу в текстовый файл, в Excel или куда еще и распечатываете.
 
Упомянутые инструменты (как и многие другие в модуле) бесплатны, не требуют регистрации, ничем не ограничены в работе.
Может кому пригодится.
0 голосов
ответил 19 Окт, 07 от Holger (19,360 баллов)
Если вопрос возникает часто, то неплохо бы сделать уже штатное средство в программе :)   https://forum.esri-cis.ru/index.php?qa=13761=
 
Sub PrintVed()
   '  печать ведомости координат
   Dim pMXD As IMxDocument
   Dim i As Long, Angle As Double, Lz As Double
   Dim pFeat As IFeature, pGeom As IGeometry, pp As IPoint
   Dim pSelected As IEnumFeature
  
   Set pMXD = ThisDocument
   If pMXD.FocusMap.SelectionCount <> 1 Then Exit Sub
  
   Set pSelected = pMXD.FocusMap.FeatureSelection
   pSelected.Reset
   Set pFeat = pSelected.Next

   Dim Map As IMap, Line As ILine
   Dim p1 As IPoint, p2 As IPoint, PC As IPointCollection
  
   Set Map = pMXD.FocusMap
   Map.DistanceUnits = esriMeters
   Set PC = pFeat.ShapeCopy
  
   For i = 0 To PC.PointCount - 1
      Set pGeom = PC.Point(i)
      Set pp = pGeom
      Set p2 = pGeom
      Set Line = New Line
  
      
      If i > 0 Then
         Lz = Map.ComputeDistance(p1, p2)
         Line.PutCoords p1, p2
         Angle = Line.Angle * 180 / (4 * Atn(1))
         Angle = 90 - Angle
         If Angle < 0 Then Angle = 270 - Angle
      End If
      Set p1 = pGeom
      ' номер точки, дирекционный угол, расстояние до предыдущ. точки, х,у
      Debug.Print i, Angle, Lz, pp.X, pp.Y
    Next

  Exit Sub
SubErr:
  MsgBox "Ошибка при экспорте данных" & vbCrLf & "Код ошибки:" & _
        Err.Description, vbCritical + vbOKOnly, "Ошибка"
End Sub

0 голосов
ответил 03 Ноя, 09 от BoraKAZ (160 баллов)
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...