2009-12-23 3 views
1

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

ответ

1

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^