Я нахожусь на ArcGIS 10. Согласно всей документации, которую я прочитал, 3D Analyst должен иметь возможность делать то, что я пытаюсь, но я сталкиваюсь с проблемой за проблемой, и я почти готов дать и найти более простой способ ответить на вопрос, который мне задают.
В двух словах, у меня есть несколько слоев, которые мне нужно пересечь или объединить в 3D. Некоторые из них являются точками (тысячи из них, каждый из которых представляет трехмерный том, куб или сферу, размеры которой являются значениями атрибутов), некоторые являются полигонами. Я уверен, что инструменты 3D Union и 3D Intersect работают только с функциями Multipatch, поэтому мне нужно сначала преобразовать все из них в функции Multipatch.
Основная проблема , у меня до сих пор является то , что инструменты 3D Analyst Союза и отказываются Пересечение работать на особенностях MultiPatch, которые не являются «закрытыми», и я не могу заставить ArcGIS для создания Multipatches , которые будут закрыты. Я попытался преобразовать свой слой из одного полигона (8 объектов) в Multipatch, выдавив его в Arcscene, используя его высоту, и преобразовав его в мультипатч, а также используя инструмент «Выдавливание между», и они оба создали несколько мультипатчей, которые закрыты и некоторые это не так. Я попытался преобразовать мои очки в сферы, используя пример, который я нашел на сайте ESRI здесь:
http://www.esri.com/news/arcuser/1010/3danalysis.html
Это говорит о том, что вы должны обозначать точки как сферы, используя атрибут в качестве радиуса, а затем использовать инструмент «Слой 3D в класс объектов», чтобы превратить их в мультипатчи. Это также создает мультипатчи, которые не закрыты и, следовательно, бесполезны. Я еще не занимался преобразованием точек в 3D кубы.
Поэтому, если кто-нибудь знает способ надежного создания закрытых мультипатчей из 2D-слоев многоугольника и / или центральных точек (с атрибутами, описывающими размеры), дайте мне знать. Любые альтернативные программные решения тоже были бы хороши, я не привязан к ESRI. В самом деле, после того, как в течение последних нескольких дней об этом позаботились и поняли, что собственные инструменты ESRI создают мультипатчи, которые нельзя использовать со многими инструментами 3D Analyst, предпочтительнее была бы альтернатива.
ETA: после чего я в конечном итоге вычисляю объем пространства, которое занимают (например) кубы со значением атрибута X, где они пересекают сферы со значением Y (конечно, у меня много и много значения X и Y для запуска).
источник
Ответы:
Чтобы закрыть функцию мультипатча, она должна полностью заключать том. Многоэлементные объекты, созданные с помощью инструмента Интерполировать мультипатч к полигону (с использованием поверхности) , скорее всего, не будут закрыты. (Если вы не выдавливаете между двумя поверхностями TIN, которые должны создавать замкнутый мультипатч. Лично у меня не было большого успеха при использовании «Выдавливания между» со сложными поверхностями)
Я попытался запустить пример со сферами и создал 2 пересекающихся класса объектов-мультипатчей. Сферы закрыты. Я также смог рассчитать объем сфер. Пересечение прошло успешно без ошибок и дало ожидаемые результаты. (См. Снимки экрана ниже). Затем я создал несколько круглых многоугольников, вытеснил их и преобразовал их в объекты с множественными патчами. Пересечение также удалось без ошибок.
Я подозреваю, что ваши многоугольники многоугольника не полностью включают объем. Как именно они были созданы? Можете ли вы предоставить некоторые снимки экрана? (Возможно, вам придется создавать более сложные трехмерные объекты сплошных объектов в стороннем программном обеспечении для 3D-рисования, поскольку ArcGIS очень ограничен в этой области. Вы можете попробовать редактировать мультипатч в SketchUp с помощью Collada, а затем заменить модель, когда вы закончите редактирование. ) ArcScene 3D Editor -> Заменить моделью (Это должно быть возможно в соответствии с документацией, но я не пробовал.)
Две функции мультипатча. (Сферы, созданные с использованием техники, аналогичной той, что вы описали)
Результирующее пересечение вышеперечисленного (функции закрыты - также рассчитывается объем):
То же самое, что и выше, но с использованием функций мультипатча, созданных из вытягиваемых полигонов:
Результирующее пересечение (вытянутые многоугольники, преобразованные в объекты с множественными точками): объекты "многоугольника" закрыты
источник
Хорошо, вот две проблемы, с которыми у меня была проблема преобразования конвертированных полигонов в мультипатчи:
Ваши полигоны должны быть в спроецированной системе координат. Я думал, что все мои были, но где-то по пути я пропустил шаг и пытался конвертировать многоугольники, которые были в lat / long WGS84. Проектирование его в UTM решило эту проблему и позволило мне двигаться дальше, когда я обнаружил # 2:
Ваши полигоны должны полностью заключать пробел, как говорит Якуб, но, кроме того, они, очевидно, должны заключать только одну пробел. У меня было несколько «болтаний» на моих полигонах, где они пересекаются:
поэтому, когда я их выдавил, одна особенность имела два отдельных закрытых тома. Это не удалось преобразовать в закрытый мультипатч. Обрезка многоугольника в точке, где он перекрывает себя (там, где указывает стрелка) и удаление детали слева, исправили его. Вероятно, это сработало бы, если бы я сохранил обе части как отдельные элементы и выдавил их по отдельности, но часть слева была ошибкой в моем случае.
Когда все это было сделано, я смог взять многоугольник со значением высоты, выдавить его, используя его высоту в ArcScene, а затем использовать инструмент Layer 3D To Feature Class, чтобы преобразовать его в мультипатч, и все они закрыты.
источник