Пересечение поверхностей в ArcGis

ArcGIS 8.x,9.x,10.x (Arcview, ArcEditor, Arcinfo).
Ответить
Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Пересечение поверхностей в ArcGis

Сообщение Борис » 20 мар 2009, 12:36

Добрый день!
В ArcGis есть 2 поверхности grid, имеющие пространственное пересечение.
Помогите, плз, получить эту линию в виде shp-файла, линейного либо точечного
(все равно каким способом - с построением TIN, с конвертацией grid ов в shp и т.п.,
но главное - чтобы полученная линия имела значение высоты) :roll:

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 5
Откуда: москва
Контактная информация:

Re: Пересечение поверхностей в ArcGis

Сообщение geologic » 20 мар 2009, 16:07

Вычитаете два грида, получаете грид-разность, строите горизонтали, нулевая = линия сечения. Если пересечение (пологое), можно centerline построить по нулевой зоне, не знаю, что точнее будет. В общем, как-то такими методами.

TIN поверхности сами по себе в Arc не вычитаются и не складываются, разность делают через GRID. Если сразу в TIN, то можно ухитриться через сочетание с плоскостью: TIN1 - TIN2 = (TIN1 - плоскость) + (плоскость - TIN2). Это если область вычитания можно оконтурить плоской границей (водоем, например).

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: Пересечение поверхностей в ArcGis

Сообщение Борис » 20 мар 2009, 20:37

Спасибо, буду пробовать :D

manisha
Завсегдатай
Сообщения: 410
Зарегистрирован: 24 авг 2006, 17:35
Статьи: 2
Проекты: 1
Репутация: 10

Re: Пересечение поверхностей в ArcGis

Сообщение manisha » 21 мар 2009, 15:05

geologic писал(а):Вычитаете два грида, получаете грид-разность, строите горизонтали, нулевая = линия сечения. Если пересечение (пологое), можно centerline построить по нулевой зоне, не знаю, что точнее будет. В общем, как-то такими методами.
И как при этом выполняется требование
главное - чтобы полученная линия имела значение высоты
?

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: Пересечение поверхностей в ArcGis

Сообщение Борис » 21 мар 2009, 16:39

а разве нельзя полученной линии присвоить z-атрибут либо по гриду, либо по TINу? где-то встречал уже подобную задачу, но за любые советы буду благодарен 8)

manisha
Завсегдатай
Сообщения: 410
Зарегистрирован: 24 авг 2006, 17:35
Статьи: 2
Проекты: 1
Репутация: 10

Re: Пересечение поверхностей в ArcGis

Сообщение manisha » 21 мар 2009, 16:54

Наверняка можно, только в приведенном ответе не написано как это сделать :)

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: Пересечение поверхностей в ArcGis

Сообщение Борис » 22 мар 2009, 19:48

manisha, согласен :oops:

тогда вторая часть вопроса :idea: - как присвоить z-атрибут (высоту) для линии (кривой), которая принадлежит к поверхности, заданной grid ом или TIN ом ???

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 5
Откуда: москва
Контактная информация:

Re: Пересечение поверхностей в ArcGis

Сообщение geologic » 23 мар 2009, 10:50

Как линии сечения присвоить значения высоты? разумеется, спроецировать на любой из гридов. Эта "горизонталь" будет негоризонтальной, следовательно, в итоге образуется PolylineZ. Это тривиальная процедура - интереснее порассуждать, насколько точна (пригодна) будет такая граница - грид-операции ведь каждый раз идут с некоей интерполяцией. Наверно, придется задуматься, на какой именно из гридов предпочтительней проецировать.

В случае с TIN такие вопросы не возникнут, поскольку сечения строятся точно по граням треугольников. Но не в Arc :(

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: Пересечение поверхностей в ArcGis

Сообщение Борис » 23 мар 2009, 11:43

geologic,
а в чем, если не в Arc?

А про точность и на какой грид проецировать - ИМХО - проблем таких не возникает. Так как типичная задача - это, например, картографирование выхода какой-либо плоскости (кровли, подошвы пласта) на поверхность Земли. Поэтому и отображение этой самой искомой границы будет с точностью изображения поверхности соответствующим гридом. :wink:

p.s. - я правильно понял, что процедуру образования PolylineZ можно найти в каком-либо из Toolbox ов? :roll:

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 5
Откуда: москва
Контактная информация:

Re: Пересечение поверхностей в ArcGis

Сообщение geologic » 23 мар 2009, 12:43

Н-не совсем так. Механика гридов такова, что полученная линия не будет идеально совпадать ни с одной из двух поверхностей. Если вам затем нужна красивая модель пласта, разумнее проецировать на его подошву/кровлю, если карта выходов на дневную поверхность - на рельеф. Хотя наверно, при соблюдении простых алгоритмов отскоки будут не очень заметны.

Функция проецирования всегда была где-то даже не в тулбокс, а прямо в меню - Convert shapefile to 3D , что-то вроде этого. Сейчас не могу проверить, нету ни SA, ни 3DA, но это же просто, поищите по help... Почему-то этот вопрос в разных формах постоянно возникает??? Вот, не поленился, сам нашел ;)
http://support.esri.com/index.cfm?fa=kn ... ow&d=31629

Чем строить-вычитать поверхности, если не в Arc... Любой геологической программой, разумеется - они под это заточены. Datamine, Micromine, Gemcom, Surpaq, GoCAD - но вряд ли они есть у вас ;) Можно было бы, думаю, подверстать какой-нибудь инженерный пакет, вроде TerraModel, там это тоже стандартная задача, но я их плохо знаю. В свое время доводилось такое решать на базе Microstation - Geoterrain etc, объемы оползней считали. Arc - да и ГИС - довольно ограничены во всем, что вне географии-картографии, приходится извращаться через изолинии, плоскости и тп. Вот как примерно выглядит нормальная трехмерная программа- если без геологической специфики. Мы просто ограничены в своем мирке волею судеб.

Про TIN еще мысль высказывали - их можно вычесть через инструмент "насыпи-выемки", я не пробовал, но думаю, тоже упрощенный вариант, по гориз. границе. Настоящее вычитание TIN-ов довольно хитрая процедура, в отличие от гридов - понятно, почему. Попробуйте эти все варианты, потом расскажете.

Борис
Интересующийся
Сообщения: 36
Зарегистрирован: 22 ноя 2005, 12:32
Репутация: 0

Re: Пересечение поверхностей в ArcGis

Сообщение Борис » 26 мар 2009, 16:57

Спасибо :) , обошёлся всеми встроенными средствами - вычитанием GRIDов, проведением нулевой линии, с дальнейшим присвоением в 3D вертикальной координаты, ну и выходом в ArcScene

geologic
Гуру
Сообщения: 852
Зарегистрирован: 15 сен 2005, 13:19
Репутация: 5
Откуда: москва
Контактная информация:

Re: Пересечение поверхностей в ArcGis

Сообщение geologic » 27 мар 2009, 11:22

раз так все изящно закончилось, положу-ка я тему в geoFAQ :)
Хотя вспомню, насколько просто вычитание - любое сечение делалось в Datamine... :( Но это уже GEOLfaq получится ;)

Ответить

Вернуться в «ArcGIS»