дорогие знатоки, я столкнулся с небольшой проблемой:
надо программно создать слой с набором полигонов на основе текстового файла. (если быть точным ведомость поворотных точек)
части разделены лишними строчками
проблема в том чтобы все контура были в 1 полигоне в нескольких частях
сейчас делаю каждый контур в отдельном полигоне и выглядит это так
' XCoord_ComboBox.Value имя столбца в таблице с координатами Х
' YCoord_ComboBox.Value имя столбца в таблице с координатами У
' TextBoxTXTFullFileName путь к файлу с таблицей
' pFeatClass уже открытый FeatureClass в шейпе подгоровленном для редактирования
Dim pTable As ITable
Set pTable = GetTableFromTXT(TextBoxTXTFullFileName)
Dim pCursor As ICursor
Set pCursor = pTable.Search(Nothing, True)
Dim myptcol as IpointCollection
Set myptcol = New Polygon
dim pRow as IRow
Set pRow = pCursor.NextRow
If IsNull(pRow.Value(pTable.FindField(XCoord_ComboBox.Value))) Or _
IsNull(pRow.Value(pTable.FindField(YCoord_ComboBox.Value))) Then
Set pRow = pCursor.NextRow
End If 'установка курсора на 2ю строку если в первой нет ХУ координат
Dim FlagPolygonIsFull As Boolean
While Not pRow Is Nothing 'пока не кончилисть строчки
If Not (IsNull(pRow.Value(pTable.FindField(XCoord_ComboBox.Value))) Or _
IsNull(pRow.Value(pTable.FindField(YCoord_ComboBox.Value)))) Then 'если в строчке есть ХУ координаты
x = pRow.Value(pTable.FindField(XCoord_ComboBox.Value)) '
Y = pRow.Value(pTable.FindField(YCoord_ComboBox.Value)) '
pTempPoint.PutCoords x, Y '
myptcol.AddPoint pTempPoint
FlagPolygonIsFull = True
'первая часть ифа собирает все координаты в коллекциюточек
Else 'если в строчке нет ХУ координат то записываем коллекцию в класс
Set pFeature = pFeatClass.CreateFeature
Set pFlds = pFeature.Fields
Set pFeature.Shape = myptcol
pFeature.Store
Set myptcol = New Polygon
FlagPolygonIsFull = False
End If
Set pRow = pCursor.NextRow
Wend
в итоге мы получаем шейп файл с несколькими записями
а надо с одном в нескольких частях
(грубо говоря я каждый раз делаю "завершить скетч" а надо сделать "завершить часть")