| | Коррекция геометрий через COM [ Кирилл Котляров ]Среда, 16 января 2008, 09:56
Возникла необходимость исправления некорректных геометрий, путем удаления(модификации) вершин с одинаковыми координатами по всем геометрииям определенного типа.
1.Выбираются некорректные объекты(
Olfeatureset.Feature.Check(c,b1,b2)
если с=gdbAreaCheckSelfIntersect(проверка на самопересечения))
2.Далее, для модификации выбранных геометрий, следует сортировка вершин отдельной геометрии и в цикле используются следуюшие команды:
Olfeatureset.Feature.DropVertex(i,j);
При Сохранении в ГБД изменений геометрических характеристик:
Olfeatureset.Feature.Update; выскакивает исключение -
"Отсутствует корректность геометрии", хотя фактически модификация делает геометрию корректной.
Помогите решить данную проблему!
Заранее благодарен! |
|
| | [ [ObjectLand Support] ]Среда, 16 января 2008, 16:15
Вы уверены, что после удаления дублирующихся вершин геометрия становиться корректной? Ведь граница имеет самопересечения не только, когда у нее есть дублирующиеся вершины, но и например, когда она имеет форму 8 (восьмерки).
Рекомендую после обработки геометрии еще раз сделать проверку корректности, возможно это внесет ясность.
Если Вы уверены что граница имеет корректную форму за исключением дублирующихся вершин, то напишите каталог координат такой геометрии (по возможности небольшого размера). |
|
ОтветитьЗнаком «*» отмечены обязательные для заполнения поля. |