MapBasic Logo

MapBasic Logo

La cartographie avec MapBasic

MapBasic est un langage de programmation utilisé pour la création d’outils et de fonctionnalités pour la suite logicielle (SIG) MapInfo. MapBasic est basé sur la famille de langages de programmation BASIC1.
MapBasic est intégrable dans des programmes développés dans des langages tels que Visual Basic, C ou encore C++

Signum

Signum

Produit par SIGNUM votre fournisseur de produits et services pour MapInfo Pro

MapBasic® Pro
SIG bureautique

MapBasic, un langage de programmation puissant, mais facile à utiliser.

MapBasic® est un langage de programmation complet de type BASIC utilisé pour créer des applications personnalisées à utiliser avec MapInfo Pro®. Utilisez MapBasic pour étendre les fonctionnalités géographiques, automatiser les opérations de répétition ou intégrer MapInfo Pro à d’autres applications – rapidement et facilement.

Mapbasic Pro une application de géomatique

MapBasic en évolution

MapBasic en évolution

Les versions de MapBasic se suivent et s’améliorent. Pour chaque version de MapInfo, une version de MapBasic est offerte aux concepteurs de logiciels. Chaque version de MapBasic reflète les spécificités d’une version du logiciel MapInfo.

La dernière version de MapBasic inclut trois grandes nouveautés :

  • MapInfo Data Access Library fournit un ensemble de classes et d’interfaces permettant aux développeurs .NET de créer des compléments MapInfo Pro pouvant facilement créer, rechercher et mettre à jour des tables MapInfo et d’autres formats de bases de données pris en charge, tels que Oracle, SQL Server et GeoPackage.
  • Un modèle d’objet de table .NET pour .NET AddIn Les développeurs tirent parti d’un nouveau catalogue de tables ouvertes mis à jour à mesure que les tables sont ouvertes et fermées. Vous pouvez lister les tables, ouvrir et fermer les tables et obtenir toutes les propriétés d’une table.
  • Extensibility Framework basée sur une API .NET pour la création d’applications utilisant la nouvelle interface du ruban et tous ses nouveaux contrôles et propriétés de personnalisation, un gestionnaire d’ancrage, plusieurs nouveaux gestionnaires d’événements, etc.

Environnement de développement

Environnement de développement

Avec MapBasic il est possible de créer une interface avec des boutons et des menus, d’afficher des boîtes de dialogue ou d’afficher des messages.  D’ajouter des fonctions personnalisées en définissant des variables et des constantes qui seront utilisées dans des procédures telles que des boucles ou des tests. De manipuler des tables leurs créations et leurs systèmes de coordonnées.

MapBasic permet aux développeurs de concevoir des fonctionnalités supplémentaires pour MapInfo.

MapBasic permet aux développeurs de développer des outils spécifiques à votre métier pour l’environnement MapInfo.

Si jamais vous bloquez sur quoi que ce soit qui n’est pas expliqué dans la documentation de MapBasic, la communauté qui sillonne les forums saura vous apporter son aide précieuse.  Les forums d’usagers MapBasic sur LI360 comme le MapInfo Pro Developpers User Group  ou MapInfo -L  regorgent d’informations précieuses pour vous aider dans vos développements.

Au début une fenêtre

Au début une fenêtre

Pendant plusieurs années le logiciel MapBasic était un logiciel commercial. Durant ces années les utilisateurs de MapInfo ont utilisé la fenêtre MapBasic du logiciel MapInfo pour automatiser des processus sans avoir a apprendre un langage de programmation et ou à dépenser un sou.

Cette fenêtre a pour fonction d’afficher les équivalents en MapBasic des commandes passées par le menu, mais avec certaines limitations et variations. Ainsi, ce ne sont pas toutes les commandes qui sont « transcrites » dans la fenêtre.

Connaître quelles sont les commandes qui sont ainsi affichées va permettre de savoir celles qui pourront être réutilisées par la suite. Une fois la fenêtre ouverte, l’affichage se fait de façon continue, même si la fenêtre est miniaturisée. La seule façon de l’interrompre est de fermer la fenêtre, ce qui la vide par la même occasion de tout son contenu.

Cette fenêtre est l’équivalent d’un très simple éditeur de texte combiné à un lanceur de commandes. Les fonctions d’édition sont des plus simples : copier, coller (de la FMB ou d’une autre source), effacer, déplacer. Les flèches permettent de se déplacer dans l’espace défini par le texte présent. L’ajout d’une nouvelle ligne se fait par <CONTRL>+<ENTRER> Le lanceur de commande est la touche <ENTRER> qui peut lancer une seule ligne ou plusieurs.

Il faut bien comprendre que les commandes soumises par la fenêtre MapBasic sont simplement interprétées sans compilation, ce qui implique l’usage de scripts linéaires (exécutés séquentiellement une ligne à la fois, l’une après l’autre). Ce sont exactement les mêmes contraintes que pour les documents WOR générés directement par MapInfo Pro et ce qui peut être dit au sujet d’un « milieu » est valable en général pour l’autre.

Malgré toutes ces limitations sur la nature de la fenêtre MapBasic, cette fenêtre est très utile pour repérer en tout ou en partie la syntaxe d’une ligne de code nécessaire dans un programme de MapBasic. Plus encore cette fenêtre permet certaines opérations qui ne peuvent pas se faire sans avoir recours à cette fenêtre.

Pour plus d’informations sur l’utilisation de la fenêtre MapBasic da MapInfo  vous pouvez télécharger ces excellents documents :

Utilisation avancée de MapInfo sans MapBasic, Introduction, FMB : La fenêtre MapBasic de Jacques Paris et Sébastien Roddier

Utilisation avancée de MapInfo sans MapBasic, Partie I, SQL dans sa fenêtre ou via la fenêtre MapBasic de Jacques Paris

Utilisation avancée de MapInfo sans MapBasic, Partie II Gestion des colonnes d’une table MapInfo Le quatuor “Add Column – Alter Table – Select – Update” de Jacques Paris

Réinventer la roue

Réinventer la roue

Avant de vous lancer dans le développement d’une application spécifique à vos besoins, il pourrait être lucratif en temps et en argent de vérifier si cet outil n’est pas disponible en tout ou en partie.  En effet, des centaines d’applications MapBasic très performantes et maintes fois éprouvées existent dans des banques logicielles commerciales ou publiques. L’une de ces sources est le lieu de partage de Pitney Bowes LI360. Sur ce site de partage vous pourrez télécharger des applications et leur code source respectif.

Prenons comme exemples l’excellent travail de M. Peter Horsboll Moller pour le développement d’une librairie de fonctions communes utiles dans tous projets de développement d’application avec MapBasic.

Il s’agit d’un ensemble de plusieurs bibliothèques MapBasic contenant de nombreuses procédures et fonctions personnalisées MapBasic pouvant être incluses dans votre application MapBasic.

Les bibliothèques communes MapBasic étendent les capacités du langage MapBasic en ajoutant des fonctions et des procédures supplémentaires qui ne sont pas livrées avec le langage. Il peut s’agir de fonctions permettant de vérifier si une table est ouverte, s’il existe une couche, de créer une table liée à partir d’une table d’une base de données spatiale, d’intégrer votre outil dans l’interface du ruban et bien plus encore.

Vous pouvez bien sûr faire tout cela en utilisant MapBasic, mais avec les bibliothèques communes de MapBasic, cela peut être fait plus facilement, car vous pouvez utiliser une seule fonction au lieu de plusieurs.

Les bibliothèques communes MapBasic sont divisées en un certain nombre de modules pouvant être utilisés individuellement. Certains peuvent toutefois nécessiter que d’autres soient ajoutés au fichier de projet MapBasic car ils peuvent utiliser des fonctions d’autres modules.

Les modules ont été nommés en fonction de ce qu’ils contiennent de fonctions. Voici quelques exemples:

  • ARRAYLib: contient des fonctions permettant de travailler avec des tableaux
  • COLUMNLib: contient des fonctions permettant de manipuler et d’interroger des colonnes
  • MAPPERLib: contient des fonctions permettant d’utiliser et d’interroger des fenêtres de carte
  • TABLELib: contient des fonctions pour travailler avec et interroger des tables

Télécharge cette librairie de fonctions communes ici : https://github.com/PeterHorsbollMoller

En Bref, s’inspirer de code source existant a une utilité pour l’apprentissage d’un langage, sa formation professionnelle et la production à moindres coûts d’un outil indispensable pour la production à moyen et à long terme.

Découvrez MapBasic Pro

Introduction aux gestionnaires d'outils MapBasic (anglais)

Pour bien commencer avec la librairie MapBAsic RIBBONLib (anglais)

La cartographie thématique

capture

La cartographie thématique est un moyen puissant pour analyser vos données et faciliter la prise de décision. La cartographie thématique attribue à un tableau de données une représentation spécifique en fonction de ses valeurs. Les données peuvent être représentées par variation de couleur de façon individuelle ou par plage de valeurs.

CLIENTS

UQAM
SakEnergy
Hydro-Québec
Transport Canada

Tim Horton
Ville de Montréal
MRC de Matawinie
Bombardier Produits Récréatifs

JLR
CBC
CRTC
CSDM

Contact Us

Si vous avez besoins d'informations supplémentaires, n'hésitez pas, et rejoignez-moi par téléphone ou par courriel, il me fera plaisir de vous répondre.

Not readable? Change text. captcha txt