Development method of mine remote sensing monitoring system based on Python
“At present, many scholars discuss the possibility and method of integration of remote sensing and GIS from a macro perspective, but these studies in the direction of GIS and RS are only an introduction to the idea of Python integration research or an introduction to a certain function, and none of them are based on Python integration. An application system that integrates GIS and RS functions developed by Python. Starting from the needs of mine remote sensing monitoring, this paper analyzes the GIS and RS functions that need to be integrated in mine remote sensing monitoring, and introduces a highly practical mine remote sensing monitoring system.
At present, many scholars discuss the possibility and method of integration of remote sensing and GIS from a macro perspective, but these studies in the direction of GIS and RS are only an introduction to the idea of Python integration research or an introduction to a certain function, and none of them are based on Python integration. An application system that integrates GIS and RS functions developed by Python. Starting from the needs of mine remote sensing monitoring, this paper analyzes the GIS and RS functions that need to be integrated in mine remote sensing monitoring, and introduces a highly practical mine remote sensing monitoring system.
1 System development method selection
At present, system development can choose independent development or secondary development. Generally, the independent development method has a long cycle, high cost, and high requirements for the development language level, while the secondary development method has the advantages of short cycle, low cost, and fast implementation. So this system chooses the integrated secondary development based on ArcGIS and ENVI/IDL. There are many integrated development methods of ArcGIS and ENVI/IDL, mainly including the following methods.
1) The development method of the combination of ENVI/IDL and ArcGISEngine component library. 2) The development method of the integrated combination of ENVI/IDL and ArcGIS Server. 3) The development method of Python-based ENVI/IDL and ArcGIS desktop customization.
The first method is to use a third-party language to call the image processing function of ENVI during development, which is a difficulty in development, and requires a certain programming language and secondary development foundation; the second method mainly integrates the image processing function on the server side. However, this method is limited by the speed of the network to a certain extent, and cannot realize the real-time transmission and Display of remote sensing images with large amounts of data; the third method uses Python language to integrate ENVI/IDL and ArcGIS Linking, the method is simple and easy to implement. Therefore, through the above analysis and comparison, the author adopts the third method.
2 The specific steps of system development
The system is based on ArcGIS for secondary development, and the required ArcGIS functions can be called directly. The image processing function needs to call the function in ENVI, that is, the image processing function of ENVI needs to be embedded in ArcGIS.
The detailed steps of system development are as follows:
1) Write the remote sensing image processing functions required in the system.
Write IDL programs in ENVI/IDL and compile them into . sav files for Python scripts to call. The specific method is as follows: open IDL, set the project name and save path, write the image processing function program that needs to be implemented in the project file, generate a .pro file and compile it into . sav file for the next Python call.
2) Write a Python script file to call ENVI/IDL functions in ArcGIS.
Write a Python script. The Python script can be embedded in ArcGIS. At the same time, the Python script can run the prepared .sav file through the envipy module, and obtain the parameters input by the user from the interactive interface, and pass them to the IDL program, so as to realize the application in ArcGIS. Run the corresponding image processing function below.
3) Build the interactive interface of remote sensing image processing function in ArcGIS.
In order to embed the written Python script into ArcGIS, and to use the image processing function directly under ArcGIS, an interactive interface needs to be created. The steps for creating the interactive interface are as follows: specify or create a new folder in the Catalog and add a NEW-toolbox, then add a new script to the toolbox, and associate the written *.py file with the script. Finally, set the parameters in the ENVI function program to complete the creation of the interactive interface. When running the script, an interface for inputting parameters will pop up, and you can enter the required parameters according to your own situation.
4) Write the function menu of the main interface of the system.
Through the above method, the loading of the remote sensing image processing function is realized. In order to facilitate the use of the user, the main interface menu of the mine remote sensing monitoring system needs to be established. On the platform based on ArcGIS10.1, PythonAdd-in can be used as an add-in to insert into the ArcGIS for Desktop application to complete the customization of the system menu.
Common ArcGIS secondary development languages include Python, VBA, VB, .net, etc. Among them, Python has attracted much attention as a simple and powerful open programming language. It has many advantages such as being easy to learn, unrestricted, and can be used across platforms. Therefore, ArcGIS 9.0 and above began to introduce the Python language, and more importantly It is a Python module that can integrate the functions developed based on IDL into ArcGIS, providing vital technical support for the integration of ArcGIS and ENVI. Therefore, integration research based on Python modules is also a research hotspot in recent years.