<<На Главную     <В меню Советы по MapInfo

Продвинутые пользователи MapInfo, интенсивно эксплуатирующие по роду свой профессиональной деятельности указанную ГИС, как правило, рано или поздно сталкиваются с необходимостью программирования рутинных процедур. Несмотря на существование солидного количества  программ, автоматизирующих наиболее востребованные и стандартные ситуации, иногда приходиться решать и уникальные задачи, для которых ещё не нашлось подходящих готовых утилит .

Прим. Набор штатных утилит находиться по меню Программы>Каталог программ, в Инете кое-что можно посмотреть ещё на http://glab2007.narod.ru/d/mu.html и http://communitydownloads.pbinsight.com/

Иными словами, случается браться (в смысле, за составление кода) за дело , засучив рукава, самим пользователям MapInfo. Тем, кто столкнулся с такой необходимостью,  нужно (особенно на начальном этапезнать хотя бы в первом приближении о средствах и порядке выполнения минимально необходимых в таких случаях манипуляций. Попробуем пройти весь технологический путь генерирования выполняемой программки на MapBasic'е  на несложной, но весьма распространенной задаче создания классификаций.

Поскольку с такими классификациями можно встретиться в практически каждой прикладной области использования ГИС , то, понятное дело, ни один коллектив разработчиков не сможет написать одну универсальную программу на все случаи жизни. Короче говоря, в нашем учебном случае попытаемся создать оригинальную процедуру классификации некоего параметра.

  Прим. Материалы этого учебного примера можно скачать по следующей ссылке

Но сначала придётся обзавестись необходимыми инструментальными средствами. Первым делом понадобиться компилятор, естественно, MapBasic.exe, который вы без труда найдете на просторах Интернета. Далее вооружаемся средой разработки. Наиболее подходящей будет, пожалуй, MapBasic IDE.

Несколько пропуская весьма важный этап написания кода на, собственно MapBasic (строго говоря, это тема отдельного , и возможно, не одного разговора) представим, что нам удалось создать нужную нам программку. Пусть она будет называться ClassifyIt. mb (это исходный код на MapBasic). Итак, запускаем средство разработки MapBasic IDE и по меню File>Open загружаем программу:

 

 

Если при запуске, столкнулись с таким сообщением,

... то придется сначала установить собственно компилятор MapBasic .

 

Так, теперь необходимо откомпилировать исходный модуль в выполняемый код по меню Project>Compile (или просто нажав соотв. кнопку ):

 

 

Если что-то пошло не так (в смысле написания синтаксически корректного кода), то в секции Error List получаем список ошибок, обнаруженных компилятором:

На рисунке слева продемонстрирована ещё одна интересная деталь. По контекстному меню Search in Google можно сразу  перейти к списку выдачи поисковика тем, относящихся к соответствующей ошибке.

 

В случае успешной компиляции проекта, появляется соотв. сообщение (см. рис. выше) и в подкаталоге с исходным кодом генерируется выполняемый код с расширение mbx:

 

 

 

 Настала очередь работы в программе MapInfo.  Вызываем её и загружаем нужную для обработки таблицу со списком данных - пусть она будет называться MyTable:

 

Для запуска откомпилированной только что нашей программки идём меню Программы>Запустить программу MapBasic

 

Указываем на нужный файл с расширением mbx :

 

 

... и видим стартовую простенькую форму Создать Классификацию нашего учебного примера:

 

 

Жмем на кнопку Старт , и в столбце gruppa  наша учебная утилита проставит  код классификации 1... 6 , в зависимости от значения параметра в столбце p2o5 :

 

В общем, теперь, надеюсь, вы имеете хотя бы общее представление о том, как можно откомпилировать и запустить программку на MapBasic для автоматизации рутинных процедур.

Как решить аналогичную задачу по созданию несложного скрипта на Python в ArcGIS можно узнать отсюда и ещё из этой статьи

Simashkov.2015

09.03.2015 г.

Назад