The GIS application system of the present invention is divided into three parts: a GIS platform, a plug-in and an application system interface.
 1. GIS platform
 The GIS platform implements the core functions of the GIS application system, and at the same time has the functions of calling, managing and coordinating external plug-ins, as well as the function of transmitting standard messages and events to the external plug-ins.
 2. Plug-in, which performs a specific function.
 3. GIS system interface
 The GIS system interface includes two standard interfaces, one is the platform interface implemented by the GIS platform, and the other is the plug-in interface implemented by the plug-in.
 The platform interface is completely implemented by the platform, and the plug-in is just called and used. The platform interface realizes the one-way communication of the plug-in to the platform. The plug-in can obtain various resources and data of the main frame by calling the platform interface, including various system handles, internal data structure of the program, and so on. Only the most commonly used and most basic system interfaces are encapsulated in the platform interface, and specific tasks related to business logic are placed in the plug-in to complete.
 The plug-in interface is completely implemented by the plug-in, and the platform is just called and used. The plug-in interface realizes one-way communication from the platform to the plug-in direction, and the platform calls the functions implemented by the plug-in by calling the plug-in interface.
 Such as figure 1 Shown is the realization of the traffic monitoring function and the traffic route query function in the GIS application system, that is, a number of plug-ins are set on the GIS platform, such as the road enclosure plug-in, the vehicle information statistics plug-in, and the road query plug-in.
 Combine figure 1 As shown, further, the development method of the GIS application system of the present invention includes the following steps:
 Step 1. Determine the basic functions of the platform and the serialized functions or extended functions to be completed by the plug-in. For example, when the plug-in is loaded, it is often necessary to perform initialization using various data passed in by the GIS platform. When uninstalling the plug-in, you need to release various system resources that have been allocated and stop the execution of the current plug-in.
 Step 2. Define platform extension interface and plug-in interface.
 The platform interface mainly includes a layer operation interface and a layer information retrieval interface, which are used for plug-ins to obtain layer information or control layer display methods.
 The plug-in interface mainly includes the plug-in initialization interface, the plug-in release interface, and the message processing callback interface, which are used for the GIS platform to call for the initialization of the plug-in and the processing of map information.
 Step 3. Complete platform design, mainly plug-in management functions, including plug-in loading function, plug-in uninstall function, map event processing, plug-in high-priority callback process processing, and plug-in UI processing.
 Step 4. Provide the main platform program (execution code) to the plug-in developer, publish the platform extension interface and plug-in implementation specification, and provide auxiliary development tools for automatically generating the basic interface and program framework.
 Step 5. The plug-in developer develops the plug-in as required to implement the plug-in interface, and the developer can use the provided main platform program to test the plug-in.
 The designer of the main platform continues to complete the core functions of the main platform, and may announce new additions to the main platform extension interface and plug-in interface at any time.
 Step 6. Realize the virtuous circle of steps 4-5, and the entire software system continues to evolve.
 1. Plug-in development:
 Developers use the plug-in auxiliary development components provided by the present invention to generate a plug-in framework and add specific business processing codes. During the development process, developers can call the platform interface to complete some core GIS operations at any time.
 After the plug-in development is completed, you can run the test version of the GIS platform to load the plug-in, and debug with various abnormal information given by the GIS platform during the running process.
 After the plug-in debugging is completed, it can be loaded into the released version of the GIS platform to extend the application system extension.
 Two, plug-in registration
 In order to manage plug-ins, it is first necessary to design a registration mechanism for plug-ins. Through this mechanism, the GIS platform can search for all available plug-ins in the system and generate call points for each plug-in on the platform. When processing the registration request of a plug-in, you first need to set a unique identifier for each plug-in. With this unique plug-in, the platform can be used. The specific process of loading the plug-in is as follows: figure 2 Shown: First, GIS platform starts, searches for plug-ins, loads plug-ins, detects plug-in version and compatibility, registers plug-in information, query plug-in interfaces, register plug-in interfaces and callback functions, and initialize plug-ins.
 Three, plug-in management and call
 During the operation of the platform, the management and invocation of plug-ins involve two aspects: the corresponding user operations and the handling of standard messages and events.
 After each plug-in is successfully registered, the platform maintains plug-in information for the corresponding plug-in, and based on this information, dynamically generates an operation interface (such as toolbar buttons, menu items, etc.) for each callable function of the plug-in. At the same time, during the running process, the platform has corresponding record information for the status of each plug-in (such as whether it is active, whether it is in normal operation, etc.).
 When users perform operations through these operation interfaces, the platform will capture these operations and call back the corresponding plug-ins for processing.
 The messages of the standard operating system and the events of the GIS ActiveX control are processed in the method of callback in the present invention. At the same time, it is worth mentioning that by querying the plug-in information maintained by itself, the platform can call the correct plug-in for message and event processing. The specific workflow is as image 3 Shown: First, the event is triggered (map event, standard message), the platform queries the current plug-in list, executes the high-priority callback process of the plug-in, calls each plug-in to process the current event, executes the platform to process the current time, event The processing is over.
 Fourth, the uninstallation of the plug-in
 When you need to uninstall a plug-in. The present invention adopts the following logic (such as Figure 4 Shown):
 The platform verifies the validity of the plug-in. For illegal plug-ins, the executable module is directly removed from the running program without other operations;
 For legal components, the platform queries the removal interface of the plug-in. If the interface is implemented in the plug-in, the platform calls and waits for the removal interface to complete;
 After the plug-in is uninstalled, the platform will clear the user interface elements generated for the plug-in;
 Finally, uninstall the executable modules of these plugins from the platform to complete the uninstallation of the entire plugin.