2012-10-20 2 views
0

Мне поручили проект тезисов, где мне нужно расширить функции ArcGis. Меня попросили создать модель, написанную на Python, которая может закончиться ArcGIS 10. Эта модель будет иметь простой пользовательский интерфейс, в котором пользователь может перетаскивать различные формы шейп-файлов и вводить значения для определенных переменных, чтобы для эффективной работы. После того, как модель завершена, создается новый шейп-файл, который выдает наиболее эффективный с точки зрения затрат Коллекторный кабель для ветровой турбины от точки А до точки В.Расширение ArcGIS

Я хотел бы знать, есть ли такая функциональность/расширение уже существует в ArcGIS, поэтому мне не нужно повторно изобретать колесо. Если нет, то какой лучший язык программирования должен научиться расширять ArcGIS для этого (Python vs Visual basic vs Java). Мой фон - Java, PHP, JQuery и Javascript. Также будут указаны любые указатели в правильном направлении, например, документация, ресурсы и т. Д.

+2

Возможно, это было бы лучше спросить по адресу: http://gis.stackexchange.com/ –

ответ

0

Вы должны точно знать, как это должно работать и где инструмент должен размещать все входы и выходные наборы данных, их структуры, поля таблицы атрибутов и так далее. Существует только один человек, который знает все эти вещи - и это вы. И это не «колесо», но это настраиваемый инструмент. Вы можете построить модель во встроенном построителе моделей (что отлично), а затем экспортировать модель в сценарий Python.

Проверить это видео http://www.youtube.com/watch?v=mBSXBqEP-7Y

И снова. Вы должны знать: 1) Входные наборы данных и параметры 2) Что вы хотите получить в качестве выхода 3) Как это должно работать

0

Я делаю это так каждый день для своей повседневной работы по настройке ArcGIS для коммунальных компаний, таких как газа, воды и электричества. Мы создаем для них кнопки, которые делают такие же вещи, как - нарисуйте линию газового обслуживания от точки газового счетчика на стороне дома до ближайшей точки на ближайшей магистрали газопровода, разделите ее в этой точке, вставьте «Т», и подключить служебную линию от «Т» до счетчика.

В основном мы используем C# и немного VB.net. Возможно, вам захочется задуматься над созданием надстройки Python для чего-то вроде ArcGIS Explorer. Или надстройка для ArcMap. Проводник и ArcMap позволяют добавлять шейп-файлы в виде слоев на карте. Надстройки позволяют легко добавлять кнопку на панель инструментов, которая может делать что-то с функциями на карте, например, запрашивать их атрибуты и изменять их атрибуты и геометрию, чтобы перемещать их по карте, а также создавать новые функции и заполнять атрибуты и поместите их на карту с помощью X, Y или Lat/Long.

Таким образом, ваш инструмент «Рассчитать лучший кабельный маршрут» может быть кнопкой, созданной на панели инструментов (ICommand), которая будет первой: 1. Позвольте пользователям выбрать точку A и точку B на карте с помощью встроенных инструментов выбора в проводнике/ArcMap. 2. позвольте пользователям щелкнуть вашу пользовательскую кнопку ICommand. 3. Ваш метод ICommand.OnClick() затем выполнит весь код, чтобы попробовать разные маршруты, основанные на геометрии других функций на карте, например, на краях улицы, контурах построения, линиях свойств и т. Д., Затем вычислить общую стоимость, например, , асфальт и получение разрешения/право на дорогу для случаев, когда он переходит по линиям собственности.

Смотрите API ArcGIS ArcObjects здесь, чтобы начать работу: http://help.arcgis.com/en/sdk/10.0/arcobjects_net/componenthelp/index.html#/ICommand_Interface/00430000001s000000/

+0

Вот отличное видео, показывающее, как сделать надстройку VB.net/C# для ArcGIS Desktop (Explorer или ArcMap) http://video.esri.com/watch/1888/building-add_dash_ins-for-arcgis-desktop-in-net –

0

Создание Python AddIn вероятно, самый быстрый и простой подход, если вы просто хотите, чтобы сделать некоторые геообработки и развернуть инструмент для большого количества пользователей.

Но как только вам понадобится пользовательский интерфейс (который больше чем просто выбирает источники данных ГИС), вы должны создать .Net AddIn (используя либо C#, либо VB.net).

Я создал много AddIns на протяжении многих лет, и они являются значительным улучшением для старых плагинов ArcGIS, которые включали много сложной регистрации COM. AddIns легко создавать и развертывать. Легко для пользователей, чтобы установить и удалить.

.Net имеет отличные, мощные функции для создания богатых пользовательских интерфейсов с требуемым перетаскиванием. И есть отличные книги, форумы, образцы для использования.