Where is GIS?-- Discussion on ArcGIS (this article only discusses the future development trend of GIS software. It is purely self-entertainment. Incorrect opinion. Comments are welcome !) GIS is the abbreviation of geographic information system. As an industry, GIS should have the property of software engineering, but it has little to do with geography. Therefore, it is not suitable for colleges and universities to set up this major. GIS is a discipline that is highly technical but has little theoretical value. It is difficult to develop your own GIS software, but it is not feasible. For example, Beijing Supermap and Wuhan do well. GIS software has gone through several stages of development, including integration, component, and Web Service. Integration has been eliminated, and a few systems may lie in the research institutes of foreign universities. Although the component model has been developed for many years, it remains out of date. Because of the wide variety of application systems, it is necessary to build a flexible application platform. Therefore, the best way is to build a component model. At present, the application field is wider and wider. It can be imagined that the component mode will be available for a long time. ESRI ArcGIS component GIS products, such as MapObjects (Mo) and ArcObjects (AO ). I think AO is developed based on Mo, or at least inspired by Mo. However, ao goes to the extreme, that is, everything is a component. Like java, everything is an object. This is actually a misunderstanding. Everything to the extreme is not necessarily a good thing, just like Ao, complicated to daunting. I am also a skilled developer and do not dare to use AO for projects. I think the design of AO should be academic. Then, arcengine is generated. It is difficult to comment because it has never been used. If arcengine is used to make up for Ao's defects, isn't it a false explanation of Ao's design mistakes. Mo is the system structure of ActiveX objects. The design concept is simple and practical. However, we can also see that it uses the older Windows component development language framework (I guess it is MFC ). In some places, it is still perfunctory and has few functions, so we cannot talk about the system. Using Mo in a large project will bring great troubles to programmers. Such as symbolic, line-based, layer configuration, feature editing, multiple data sources, and printing. These basic GIS functions are required by the customer. You cannot expect a VB developer to improve the functions of Mo. If you cannot go deep into Mo, these tasks will not work well in any way. In this case, there is a paradox that it is too difficult to use AO (at least for most programmers). It is too easy to use Mo (simply means that the functions of Mo itself are too simple to complete the business ). This practical problem cannot be avoided. ESRI designed ao to replace Mo, but Mo's current market is not weak. This shows that the limitations of AO have caused problems in Ao's application. The design disadvantage of AO is that it is too huge, complicated, and chaotic. A large volume refers to the size and scale of the software. A complex Volume refers to the intricate relationship between objects. A combination of the two is chaotic. Design requires ingenuity, refinement, and meticulous design. In this way, the written code is simplified and efficient. ESRI thought that everything would be fine if we had a set of AO. All GIS development is the process of setting up the AO component to play the station. This is wrong-there is no such thing as the world. You also need to learn the features and lessons of Mo and AO when developing your own component GIS. Mo is too simple and AO is too complicated. Therefore, you can make a compromise by only doing the necessary things and not doing everything. There is also the hidden behind the complex and simple. When a person gets used to simple things, he can adapt to more and more complex things. This is a process. My opinion is: in the future, GIS will develop industry applications similar to games. The GIS map engine is similar to the game engine. In this way, both AO and Mo will be eliminated. (What should I do to design complex interfaces like Ao ?) If you think that you can master ESRI's development tools, everything will be fine, then it will be wrong. In the future, two development projects will only become simpler and simpler. No one will spend a few months or even half a year learning ArcObjects. It makes sense to play games at that time. Currently, Map Display is too boring and rigid. Of course, this is also the need of the project. However, a bold idea is that the future GIS must construct a virtual reality world for us. This world has a life, not just boring points, lines, and planes, building, sunshine, air, green plants, water, and emotion must be the re-engineering of the real world. When we roam in the GIS world, we enter a real world where everything is needed: You can see the fragrant chicken wings in the KFC store; you can see the crowds on the Nanjing Road; you can see your shadows in the West Lake; you can also drive an off-road vehicle to run on the country road. Web-based GIS is actually an application model. It does not conflict with components. Any large software must be subdivided into units, so component-based development will be closely related to software engineering. The service GIS simplifies the requirements for customers, so it will surely become the dominant application model-WebGIS.
No matter which type of GIS, we need to build a rich and colorful world. This is the future direction of GIS development. I expect such a product to appear in five years. If not, I will do one.