Страница 1 из 1

Нужно из другой программы открыть в ArcGIS 10.2.2 объект(ы)

Добавлено: 09 июн 2016, 12:43
butler
Требуется из программы, разработанной на Delphi XE, открыть в ArcGIS 10.2.2 один или более полигонов.

Предистория такова - имеется старая реализация этой задачи, сделанная на Delphi 5 примерно с десяток лет тому под ArcView 3.x. В ней для интеграции использовался DDE-интерфейс, через который осуществлялся вызов Avenue-скрипта. В качестве параметра передавался список Cover-ID требуемых для отображения полигонов. Скрипт открывал эти полигоны в ArcView.

Заказчик мигрирует на ArcGIS 10.2.2, так что стоит задача модернизации под новый интерфейс, по возможности сохранив старую концепцию. Для реализации интерфейса через DDE не требуется никаких дополнительных библиотек, потому пригоден опыт хоть с Visual Studio хоть RAD Studio, C++ или Delphi.

Как-то не пролучилось найти сведения о состоянии дел с DDE интеграцией в ArcGIS 10.2.2.
1) сохранился ли в ArcGIS 10.2.2 DDE-интерфейс
2) возможно ли скриптом на ArcPy программно открыть полигон(ы)

Кто может что-то подсказать по теме?

Re: Нужно в ArcGIS 10.2.2 открыть объект(ы) из другой програ

Добавлено: 09 июн 2016, 12:46
trir
что значит - "открыть полигоны"?

Re: Нужно в ArcGIS 10.2.2 открыть объект(ы) из другой програ

Добавлено: 09 июн 2016, 12:56
butler
Геоинформационный объект представлен одним замкнутым полигоном. "Открыть полигон" имеется в виду отобразить, открыть объект в режиме просмотра.

Re: Нужно в ArcGIS 10.2.2 открыть объект(ы) из другой програ

Добавлено: 09 июн 2016, 13:06
trir
откуда открыть?

Re: Нужно в ArcGIS 10.2.2 открыть объект(ы) из другой програ

Добавлено: 09 июн 2016, 13:15
butler
trir писал(а):откуда открыть?
Требуется из сторонней программы (разрабатываемой на Delphi XE), открыть в ArcGIS 10.2.2 один или более геоинформационных объектов.

Re: Нужно из другой программы открыть в ArcGIS 10.2.2 объект

Добавлено: 09 июн 2016, 16:13
butler
Часть ответа я нашел. ArcMap.exe может работать как DDE-Server, однако к нему нужно разработать и зарегистрировать DDE handler, который
1) обеспечит коммуникацию с моей программой
2) обратится к ArcMap через esriFramework и скомандует "открыть такой-то полигон". Как-то так...