Development of new tasks |
|
|
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. |