Оверлейные операции

0 голосов
спросил 11 Окт, 06 от filippov70 (5,320 баллов) в категории Программные продукты Esri
Hi

Каким образом можно , к примеру, имея две feature, вырезать геометрией первой фичи дыру во второй. или добавить одну геометрию к другой.

Аналогично как в меню editora Merge и Clip

разбираю текстовый файл и делаю из него шейпфайл и нужно обработать части участков

спасибо

4 Ответы

0 голосов
ответил 11 Окт, 06 от Alexander_Vishn (1,900 баллов)
Глянь в сторону ITopologicalOperator Interface, думаю это решит твой вопрос.
0 голосов
ответил 12 Окт, 06 от filippov70 (5,320 баллов)
Да, Александр. Все верно. Спасибо.
Все, в принципе у меня к этому и шло, просто, решил "подстраховаться" на форуме.

Вот рабочий код, который только вырезает часть из участка и потом удаляет ее, аналогично и со слиянием.

        private bool CutOrJoinPart (IFeature pFeature,  IFeature pPartFeature)
        {
            IRelationalOperator pRelOp = pFeature.Shape as IRelationalOperator;
            ITopologicalOperator pTopoOp = pFeature.Shape as ITopologicalOperator;
           
            if (pRelOp.Contains((IGeometry)pPartFeature.Shape) == true)
            {
                MessageBox.Show("contain");
                (IGeometry)pFeature.Shape = pTopoOp.Difference((IGeometry)pPartFeature.Shape);
                pFeature.Store();
                pPartFeature.Delete();
                return true;
            }
            else
            {
                MessageBox.Show("not contain - merge");
                return true;
            }
           
           
        }
0 голосов
ответил 12 Окт, 06 от Alexander_Vishn (1,900 баллов)
Ну да, так и есть :)
0 голосов
ответил 12 Окт, 06 от Alexander_Vishn (1,900 баллов)
Явно, все же не стоит преобразовывать, заюзал бы as с проверкой позже на null.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...