Development of new tasks

Print Previous page Top page Next page

The GIS Panorama system provides developers with tools for creating specialized modules that extend the basic functionality for working with electronic maps and spatial databases.

 

Architecture of Software Interfaces

 

For developing interactive applications that require direct interaction with cartographic data, the system provides two main APIs:

 

PANAPI — A high-level interface for creating interactive user applications. It provides:

— Mechanisms for selecting and editing objects

— Integration with external databases

— User interface management

 

MAPAPI — A low-level interface for the direct processing of cartographic data in all supported formats (vector, raster, matrix).

 

Supported Development Environments:

 

Development is carried out using the following tools:

— Microsoft Visual C++

— Embarcadero C++Builder XE and higher

— Embarcadero Delphi XE and higher

— Other compatible development environments

 

PANAPI Object Model

 

The PANAPI interface is built on three key components:

1.  Electronic Map Window — A container for displaying cartographic data.

2. Application Task — The main module of the user application.

3. Command Handler — A component for managing interactive operating modes.

 

All components support an event-driven programming model and are managed through a system of properties.

 

Technical Implementation

 

Structure of Libraries

The interfaces are implemented as dynamic libraries:

• MAPACCES.DLL / MAPACCES64.DLL — MAPAPI functions

• MAPTASK.DLL / MAPTASK64.DLL — PANAPI functions

 

Requirements for User Modules

For correct operation with PANAPI, a user library must export a specific set of callback functions to handle system events.

 

PANTASK Class Library

 

Purpose and Advantages

To simplify development, the PANTASK class library is provided in source code form, which ensures:

• Independence from third-party libraries (OWL, MFC, VCL);

• Full integration with the developer's project;

• The ability to customize for specific requirements.

 

Operating Principle

Development is carried out by inheriting from and overriding virtual methods of base classes to handle:

• Mouse and keyboard events,

• Object selection operations,

• Map redrawing procedures,

• Other system events.

 

Data Types

The library uses standard Windows API data types:

• Basic types: long int, char, double;

• Windows structures: POINT, RECT, HDC, HWND;

• Specialized GIS types: HMAP, HOBJ, DOUBLEPOINT, TASKPARM.

 

Pascal Support

For developers using Pascal/Delphi, corresponding type and interface declarations are provided in the PANTASK\DELPHI directory.

The presented architecture provides a flexible platform for creating specialized GIS applications while maintaining performance and compatibility with the base GIS Panorama system.