Как я могу получить программный доступ к команде «Возможности в 3D» на панели инструментов ArcGIS 3D Analyst?

Мне нужно взять файл 2D-формы в формате «.shp», который принимает ArcGIS, и добавить 3D-информацию, предоставленную растровой ЦМР. Я ищу, как это сделать с помощью ArcObjects API. Я хотел бы сделать это на C#, но приветствуются примеры на любом языке .NET. Единственное, что мне удалось найти, — это описание того, как сделать это вручную в одном из настольных приложений ArcGIS. Понравится эта полезная статья HowTo или замечательный полный цветные иллюстрации на странице 22 этого учебника. Это здорово и все такое, но мне нужно использовать эту функцию в середине автоматизированной цепочки операций. Я не хочу иметь ручной шаг посередине.


person A. Levy    schedule 23.12.2009    source источник


Ответы (1)


ХОРОШО. Я понял. Я записываю план того, что я сделал здесь, на случай, если кто-то еще столкнется с той же проблемой.

Ключевым методом является ISurface.InterpolateShape. Он скопирует существующую 2D-геометрию IGeometry и добавит к ней 3D-информацию с поверхности (растровой или TIN). Я перевел этот пример кода VB6 с VB6 на C# , и изменил его, чтобы вызывать InterpolateShape для каждой скопированной IGeometry во входной форме FeatureClass перед вставкой в ​​выходной FeatureClass.

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

person A. Levy    schedule 04.01.2010