Overview |
Possibilities of GIS Panorama on work with digital maps and databases can be expanded by the inclusion of applications developed by users. Applications that require interactive access to the data (object selection, editing, communication with external databases, etc.) are created using PANAPI and MAPAPI software interfaces. As development tools it can be used Visual C ++, EmbarcaderoC ++ BuilderXE *, Embarcadero Delphi XE * etc. MAPAPI interface provides direct data processing of digital maps (vector, raster and matrix), and interface PANAPI the tools of interactive data selection and specifying the method of processing. PANAPI interface is based on using three kinds of control objects: a window of digital map, an application task, the handler of a current command (one of the interactive modes of operation of the task). All objects can generate events and be managed through a change of their properties. Software implementation of MAPAPI and PANAPI interfaces is based on the import of a specific set of functions from libraries MAPACCES.DLL (MAPACCES64.DLL) and MAPTASK.DLL (MAPTASK64.DLL) into the application task, which consists of one or more dynamic libraries. In addition, the implementation of PANAPI interface requires that the user library had a certain set of exported functions for providing events generation. In order to simplify writing the applications PANTASK classes library is developed, which comes in the form of source codes. The files containing the source codes PANTASK, are included into the project of the application. For realization of applied algorithms, there is performed the redefinition of virtual functions (methods) that define the response to generated events (work with a mouse and keyboard, object selection, redrawing maps, and so on). Source codes of PANTASK classes do not contain links to other library software vendors (OWL, MFC, VCL, and so on). As the types of variables and structures there are used the commonly used names for the Windows environment (long int, char, double, POINT, RECT, HDC, HWND, etc) or variables and structures based on them (HMAP, HOBJ, DOUBLEPOINT, TASKPARM and etc.). Appropriate prototypes are used for PASCAL language (see. PANTASK \ DELPHI).
|