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

Как создать первую программу на MapBasic ?

Продвинутые пользователи 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

 

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

Сообщение об отсутствии установленнго компилятора MapBasic

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

 

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

 

Кнопка компиляции кода на MapBasic

 

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

Список ошибок компилятора MapBasic

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

 

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

 

Откомпилированный файл на MapBasic MBX

 

 

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

 

меню Запустить программу MapBasic в MapInfo

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

 

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

 

Указать файл MBX

 

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

 

Пример запущенной программы на MapBasic

 

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

 

Программа на MapBasic проставила код в списке

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

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

© Simashkov.2015

09.03.2015 г.

Назад