Traditional Culture Encyclopedia - Photography and portraiture - Geographic Information Systems Major
Geographic Information Systems Major
Take the postgraduate entrance examination, you won’t get much from an undergraduate degree
Skills you need to master
Read the following carefully, I believe you know what to do.
(1) Lay a good foundation in programming
This article is only for those GIS majors who want to learn GIS development, but have not yet started and don’t know where to start. For the reference of current students. This article is not a discussion about whether GIS development has a future, nor is it a post about whether people who do GIS must do development.
First of all, let me share my views on a few issues that everyone was confused about when I was a student, and I was also confused:
1.
Now Is it too late to start learning programming?
If you aim to find a job in GIS development after your senior year and be able to afford a monthly salary of about 3K, it is not too late to start working hard at the beginning of your senior year.
2.
What should I do if the school does not teach programming?
Whether the school teaches you or not is just a direction, and you have to rely on yourself to learn. Since you have decided to do GIS development and the direction is already there, what does it matter whether the school teaches you or not?
3.
GIS students are not as good at programming as computers, doing surveying and mapping is not as good as studying surveying and mapping, and doing geography is not as good as studying geography. No matter how hard I start to learn programming now, I can’t catch up with those who study computers. what to do?
This question is simple. If you can catch up with them by going to bed now, you can definitely go to bed.
It would be great if you are a sophomore and can realize that you plan to do development in the future and start working hard. At this time, most students are still in a relatively confused period, or are still enjoying a happy college life. If you start working hard at this time, you will start earlier than others, and you will naturally have an advantage over others. At this time, schools usually have some computer-related courses, such as computer basics, VB, C, etc. For students who don’t want to engage in this industry, they can just get by, but for students who already have ideas, this time We must seize the opportunity to learn these courses well. In addition to the homework assigned by the teacher, we must try to program as much as possible, type more code, and learn more things. When learning computers, don’t limit yourself to the content taught by the teacher. You should broaden the scope of learning by yourself. Let’s talk in detail about how these basic computer courses should broaden your knowledge.
When learning computer basics, in addition to familiarizing yourself with the basic operations of word and excel, you should also learn advanced applications, such as using excel to make some beautiful reports, do some data processing, filtering, etc. Statistical charts, etc., use VBA to make some small applications, and use Access to make some commonly used database management programs, such as student information management systems. Don’t think that these things don’t exist. I went to the Zhejiang Geographic Information Center and took the written test and computer-based questions. One of them was related to Excel and required two methods: programming and non-programming. I didn't make it. . . 囧
If the school offers C language courses, don’t just make a program that adds from 1 to 100. For example, the more difficult parts of C language are avoided by non-computer majors when teaching them. You can't avoid it at this time. Which parts? File read and write operations, bit operations, memory operations, and pointer operations are all very useful things to learn. There are also data structures that you need to know more about. In addition to those algorithms such as bubble sort that everyone is familiar with, you need to understand everything like linked lists, binary trees, and graphs. Finally, there is C language to implement these data structures. You can buy some data structure books for reference.
If the school offers VB courses, then you should do more small applications. VB is an easy-to-use language. After a short period of learning, you can make something decent. This is a very good tool for learning GIS secondary development. The difficulty of programming is reduced, and you can focus on Let’s focus on how to design and develop GIS functions. So, when learning VB, if you have heard of MO, try to use it and make some small programs. You can also use VB to write some programs to operate word, excel, cad, etc. These things are nothing, just an object model. Once you are familiar with its object model, it will be easy to operate. In addition, when programming with VB, you should incorporate some object-oriented programming ideas. Although VB cannot be regarded as an object-oriented language, it also lowers the threshold for learning object-oriented. Try to write some commonly used functions and algorithms into functions. or encapsulated class. Don't copy the code over and over again, and feel complacent that the entire program is filled with repeated code. You can also use VB to try connecting to the database and do some database management programs. You can also make some controls and DLLs, and then call them yourself to experience the advantages of component programming, etc. . . When these schools take VB classes, they don't know how to teach them, so they have to learn by themselves.
(2) Clear goals and selective learning
The above-mentioned courses are basically sophomore courses, such as computer basics for college students, VB, C, if If you can do all the above in your sophomore year, you are a very, very good person. I contributed to war3 throughout my sophomore year and failed several subjects. The chapter about variables in VB was immediately scrapped. The exam was completely based on surprise, so I succeeded in the surprise. So what do you do in your junior year? In your junior year, various professional courses are usually offered. To be honest, programming is a very time-consuming thing. If you have decided to do GIS development after graduation, you can completely give up on some irrelevant professional courses, as long as you can pass the exam. , don’t spend too much time. Take my class schedule as an example. Human geography, land economy, and physical geography are all useless classes. There are many people who consider themselves economic enthusiasts, and their eyes light up when they see economics classes. In fact, these classes are really boring. If you don’t study geography and economics, you will be considered an economist. If you study local citizenship management, Thinking that you can go to the Real Estate and Land Bureau to manage cadastral registration, you want to learn everything, but you often end up learning nothing. Therefore, you must give up the lessons that should be given up, and use the limited time wisely. There are also other professional courses related to GIS, such as introduction to GIS, remote sensing, GPS, digital image processing, photogrammetry, GIS map design, GIS project management, spatial database principles and applications. . . Etc. (I am just listing some based on my class schedule. Each school has different professional backgrounds and different specific courses). These courses must be studied carefully. In these courses you will encounter some problems that require programming to solve, so don't be lazy. In addition, you will be exposed to some GIS software at this time, such as cad, arcview, arcgis, and mapinfo. . . There are many, but there are two software that those who want to learn GIS must master, including their secondary development, and other software can be ignored. Needless to say, arcgis is of course. If you are familiar with arcgis desktop, it is best to buy an internship tutorial or something. It has data and steps. If you complete it in one book, it will be almost done. The second software is autoCAD. The status of this software in the GIS and surveying industries cannot be ignored. Needless to say, the power and ease of use of CAD are natural. The format of CAD is the standard of a generation of data formats. There is no other source of GIS data. Regarding surveying and remote sensing images, surveying data are basically in dwg format. Land and land departments and cadastral departments are filled with a large amount of CAD raw data. However, although CAD data is flexible, it cannot be managed with GIS, and the data quality suffers a lot. Therefore, how to transfer the original large amount of CAD data to the GIS platform is a problem that many departments and units are solving. If you are proficient in CAD and CAD secondary development, you will be able to handle these problems with ease. Therefore, to learn CAD well, you must master at least one CAD secondary development method. lisp, vba, objectARX, lisp and VBA are relatively simple and easy to learn, but objectARX is more difficult. You can ignore it at the beginning. If you use it in your work in the future, you can learn it again. Not too late.
In terms of programming, on the basis of your sophomore year, you need to start to understand some object-oriented principles and methods. In addition to VB and C, it is recommended to learn C# and Sqlserver. You need to know basic SQL statements and ADO to connect to the database. Yes, otherwise, you are not even as good as a student from Peking University Jade Bird (limited to coder jobs in the IT industry). These things are not difficult. You have programming basics and object-oriented knowledge, and you can get started quickly. However, if you want to learn C++, you will have to work hard. Haha, as a GIS student, learning C++ is not necessary.
At this time, if there are not many classes in school, or you feel that the classes in school are not challenging, you have two options, one is to intern in a software company, and the other is to participate in SuperGraph or ESRI competitions. If you are energetic enough, you can do it together. In short, you must do something down-to-earth, don't waste time, and don't just learn without practicing. You should continue to learn in practice in order to make progress. It’s definitely not too late for students who are addicted to games to wake up at this time. I spent my sophomore year tutoring and gaming. When I was a junior, I felt that I couldn’t be a tutor for the rest of my life, so I read an object-oriented book. book and an asp.net book. Because I didn’t understand anything at the time, I just read them without hesitation. Then I went to find an internship. After some twists and turns, I found a small IT company and entered the software industry. During the interview, I said all the words in the book and everything I could think of. I guess the person who was interviewing me was a little bit broken. But later I found out that the person who was interviewing me, the vice president of the company, was an alumnus. Ten years older than me.
(3) Personal understanding of GIS secondary development learning
To answer a question first, someone asked why as a GIS student, it is not necessary to learn C++. In fact, to be precise, what I mean is that undergraduate students who aim at secondary development of GIS do not need to learn C++ during their student stage.
No matter how much halo C++ has on its head, everyone talks about how promising C++ is and how high the salary is. But one thing must be admitted, C++ is not easy to learn. For computer-related majors, it is understandable to take proficiency in C++ as the goal of graduation. But for us This kind of coder who is learning GIS and becoming a monk lacks a lot of basic computer knowledge. It is more difficult to learn C++ well before graduation and then find a job. This is one of them. Another point is that C++ is rarely used in secondary GIS development. For some small companies that are eager for quick success and quick profit, if you say that you only know C++ and not C#, they will even reject you directly, even though it costs more than a C# coder. The more the more effort. There are not many companies working on the bottom level of GIS, so it seems a bit uneconomical to learn C++ in school and end up with a half-baked job after graduation. But if you learn C++ well, you can have good development prospects in IT fields other than GIS. Basically, the written examinations of well-known large companies are all about C or C++. Of course, the language is just a carrier, and the main test is data structure. , if you have the confidence to compete with computer science students and want to do technology, you can completely abandon GIS, which is definitely better than doing GIS secondary development. But if you still want to get involved in GIS secondary development, use some easy-to-use languages ??and make more things in school. Things that are visible and tangible will be very useful for finding a job. Of course, those who work in GIS do not want to be a coder for the rest of their lives. Even if they are doing secondary development, they should not focus all their energy on programming. They should focus more on understanding the business and accumulating industry experience, not just on programming. Accumulate programming skills. Maybe one day, your role is to hire others to complete your ideas, instead of struggling to solve a program bug every day, unable to eat or sleep because a sentence of code cannot be passed.
Because I am working in C++ now, if you can learn from me, I can provide a general learning route and learning books.
The learning route is basically: C -> C++ -> windows programming -> MFC
Books at each stage:
C doesn’t matter, the school Just teach it, or maybe Tan Haoqiang’s book.
C++ recommends C++ primer and high-quality C++ programming
Windows programming, there is a book called Windows Programming. I can't read it, but I know this book is very good.
MFC, Sun Xin’s in-depth explanation of VC, Hou Jie’s in-depth explanation of MFC, I can’t stand it either. It's also a very good book.
Anyway, I think I am terrible at learning C++, and the more I learn, the worse I am. Embarrassing, it’s painful to do C++ now. Of course there are many strong people, but unfortunately I am very poor.
Let’s get to the point, how to view the secondary development of GIS. To be honest, except for using MO+VB for secondary GIS development in college, I have never used anything else. Nowadays, it is difficult to even use arcgis at work, let alone engine and server. But don’t take GIS secondary development too mysteriously, or think that just because you can use arcengine, you have an advantage over those who study computer science. If you are asked to do GIS secondary development with a computer science student who has never heard of GIS, Your advantage is only for one month. He needs to ask you how to configure the environment and how to get started. But after this stage, he can do everything you know. GIS secondary development is just component programming. It is not essentially different from excel secondary development and cad secondary development. Component programming will only make programming simpler, not more complicated. This is great for computer students. The difficulty has been reduced. And your programming weaknesses will quickly become apparent. Therefore, I think that when it comes to learning GIS secondary development, you should not limit yourself to learning arcengine or something like that. You should first learn the database well, lay a solid foundation for programming, thoroughly understand object-oriented, and become familiar with arcgis desktop software, and then, Then learn secondary development, practice while learning, participate in competitions, or do projects or something. Many people just copy some examples when they come up, and they seem to have made something. They think it is useless, but they know it but don't know why. It is difficult to go deep in this way. In short, you should learn arcengine on the basis of programming, rather than learning programming on the basis of arcengine.
The following will specifically talk about the learning of secondary development. Because I haven’t done much, I will just talk about what I know. What I know is definitely not very comprehensive. You can add to it.
Now I am doing secondary development of GIS. The basic directions include desktop GIS, webGIS, and mobile GIS. 3DGIS feels like a low-level one, so let’s talk about it by the way.
1) For desktop GIS secondary development, the language C# is undoubtedly the best choice. I feel that many people are doing this. I personally think that you need to learn: C#, SQLServer, network programming, database programming, and finally Just learn AO and AE.
2) WebGIS: This is very popular recently, and there is a lot of content, which can be deep or shallow. I think if you want to do webgis, you must first be familiar with the web.
You can wait until you graduate to learn arcgis server. As long as you can make websites and have project experience, you can definitely find a job. But you must not think that you have learned arcgis server. If someone asks you about CSS, you won’t know it. You are completely confused about your javascript stuff, and no one wants to go out like this. Some people learn asp.net from the beginning. At the same time, they directly start using arcgis server. It seems that dragging controls and changing properties is no different from desktop software development. Although Asp.net is quick to learn, I don’t think it is the best language for learning the web. It hides many web details, which is very bad for beginners. I recommend learning the front desk first, starting with html, Start with css and javascript. After learning these, you can make some simple pages and write some scripts. After understanding some web principles and standards, you can then choose a back-end language to learn. It is best to go to some companies for internships when doing web work. In just two months, your level will skyrocket, because companies doing web work are very hard to work overtime, and web itself is not difficult. Someone will teach you, and it will be very fast. . After I can make some simple websites, I think it will be much better to do webgis.
3) Mobile GIS: This seems to be quite popular at the moment, but I feel that for developers, the difference between mobile GIS and desktop GIS may not be too big, because the mobile GIS platform is basically based on the wm system. , There are many similarities between the development on the WM system and the development on Windows, except that resources in all aspects have become scarce. I feel that the most critical aspect of building a mobile platform is data transmission and wireless communication. Mobile GIS is also mainly associated with navigation and GPS positioning. Therefore, when building a mobile platform, I think the key points to focus on are:
Communication and data transmission. Such as Bluetooth, GPRS, socket programming, webservice, etc.
GPS positioning. GPS principles, and the interface of wm system to GPS, etc.
You can learn more about specific applications such as navigation and real-time traffic conditions, and it is best to do some related projects.
The last one is 3DGIS, which I don’t know much about. It is considered a low-level development. You should be proficient in C++ and C, and you must know opengl. More research should also be done on 3D graphics algorithms and data structures.
(4) About looking for a job....
1. Preparation before looking for a job.
It is said that it is difficult to find a job in GIS majors. It’s not that I think it is difficult to find a job, but that I can’t find a good job. Wages are generally low. There is nothing we can do about this. I feel now that GIS companies seem to be picking up the leftovers who cannot find jobs in computer majors, because after all they are computer majors and know how to program, and many students who study GIS do not know how to program. , the key is that you don’t like programming or even despise programming. Training arcgis and arcengine is obviously much more efficient than training you in programming. What's more, if you can't program, how good will your understanding of these secondary development components be.
For the GIS major, my suggestion is to use your senior year to find a programming internship and prepare in a targeted manner. As long as you are not computer illiterate, spend some time and prepare in a targeted manner. , can usually be found, of course it also depends on some luck. But maybe the company you find is terrible, you work overtime every day, and the pay is small. It doesn't matter. This is just a transition, so that when you graduate and find a job, you don't have to go through such a terrible company again. Therefore, even if there is no reward, you must devote yourself to it. It doesn't matter whether it has anything to do with GIS. In this way, when you are looking for a job, you will have some programming experience, which will be of great help whether in interviews or written tests.
If you really can’t find an internship, some schools may not be in big cities like Shanghai and Beijing. It is not easy to find software internships, so you can only try to do some programming projects in school. . For example, course design and graduation project, if you want to just mess around, you can pass it, but if you want to do well, you can still learn a lot. But this kind of learning is less stressful, and there is no one to take care of it, so the effect is not good, especially for people like me who have poor self-control. If you can't find a project in school, then look for books and make examples from books. Even if you type the code into the book again and you can adjust it, it's still good. In short, before looking for a job, you must write some code instead of just dragging controls. It is easy for those who learn GIS to catch this problem. MO takes it, drags it, and displays it. OK, I learned it. Install AE, drag it, display it, ok, and learn the same thing again. Server and mobile are all based on the same routine. I learned all the arcgis stuff in one week. If I haven’t dragged through these controls, I would be amazed to see you create a software or website that can display maps. In fact, how much work is it? I know best in my heart that you get what you pay for. If your study of GIS development only ends here, then you can’t blame the difficulty of finding a job.
2. Ways to find a job
It will be much easier to find a job if you have something in mind.
It is also important to understand the ways to find a job. Many students are waiting for jobs to come to them. If you are in a school like Wuhan University with a well-known GIS major, congratulations. You can really wait until a job comes to you. If not , then you have to take the initiative to find a job.
1) Job fair. For GIS majors, there are no corresponding units in ordinary job fairs. So try to go to schools with better GIS majors, or go to some GIS-specific job fairs. Don't waste your time at general job fairs.
2) Online investment. Professional forums, fresh graduates, your school's BBS, etc. You should visit these websites every day. By the way, there are csdn forums, and occasionally there will be some recruiting programmers for GIS development, so you should check it frequently. If you see something suitable, vote for it. When I say suitable, I don't mean that you can meet his requirements. In that case, there will be no other companies to invest in. But it can meet your requirements, and you only need to meet a small part of it to vote. Don't waste time on websites like 51job, chinahr, etc. Submitting your resume is no different than throwing a stone into water. In addition to reading job postings, you can also collect GIS companies and then go to the company website to apply.
3) Teachers, seniors, family, classmates, friends, even friends in the same industry met online, etc. Not only should you use all the connections you can use to find someone, but you should also try your best to find potential people who may be helpful to you in your job search. This approach often leads to better jobs than trying to find a job on your own.
3. Resume.
1) It must be limited to one page, and your resume should be modified according to the recruitment requirements. Write what you are asked to know. If he doesn't ask for it, you can write it if you think the company will be interested. But don’t write anything that is miles off topic. For example, if you are applying for a job as a programmer, don't say that you are proficient in office, can install computers, can do photoshop, etc.
2) The most conspicuous part of your resume, which is the middle and upper part of a piece of paper, should be written with the most useful things, such as your skills and project experience, relevant awards, etc. Things like self-introduction, hobbies, and employment declaration are all put at the back to fill up the word count. Don't write about being a class representative or class cadre.
3) If you are applying for state-owned enterprises and public institutions, if you are a party member, please write it down. If not, forget it. For private companies and foreign companies, you don’t need to write whether you are a party member or not.
4) Appropriately exaggerate your level, but you must be able to withstand questions. First imagine that you are the interviewer, holding your resume, what would you ask, and then see if you can You can answer it.
5) Make a PPT report on the projects and works you have done. Sometimes used. You can also attach it when sending your resume. Do not put it into a compressed package with your resume and upload it separately. This way, when others just want to see your resume, they do not need to download the PPT, because the PPT is very large and may not be able to download it if the Internet speed is not good.
6) If you are not applying for a foreign company and do not require an English resume, do not use an English resume.
4. Written test, computer test and interview.
The company’s recruitment and selection process generally includes the following types. Interview only, interview immediately after written test, interview will be notified separately after written test screening.
Generally, small companies don’t take written exams. They just chat directly when you arrive. In this case, they are all asking questions about your resume. You must be familiar with your resume before the interview and compare the skills you wrote on it. If you are unfamiliar with it, take the time to take a look at it before the interview, and then you will be familiar with it, and then you can speak it. For the project written on the resume, review the entire process, what knowledge was used, what things were done, what functions were implemented, how they were implemented, etc. During the interview, try to talk about things you are familiar with and avoid things you are not familiar with. During the interview process at a small company, you can talk nonsense and talk about topics that have nothing to do with the interview. You can talk about the company's development prospects, what products it makes, your own interests and hobbies, etc. Unless the person you're meeting is serious, don't look too serious yourself.
What kind of written or computer-based exams do GIS companies take? In terms of programming, I can only provide written test experience in C++, and I have not done much in other aspects. C++ is generally Lin Rui's high-quality C/C++ programming book. If you are familiar with that book, you can basically pass the C++ written test. In terms of professionalism, since it is a GIS major, of course you have to take the test on things other than computers. Generally speaking, larger companies or better institutions will take the test on basic skills, some basic GIS algorithms and principles, typically polylines. Buffer generation, polygon area calculation, coordinate conversion, etc. Small companies generally take exams targeting specific skills, such as C#, AE, database, etc. You will also encounter some algorithm literacy questions, such as bubble sorting, search, string processing algorithms, etc.
An interview method I also encountered is to give a report directly, bring your own computer, and demonstrate the projects you have done. Like this, it's best to make a PPT and then run your program when needed. When giving a report, I have mentioned it before. Only the most important points should be selected. The time should be controlled, usually 5 to 10 minutes. During the presentation, pay attention to the expression of the person interviewing you. You can talk more if he is interested. If you are not interested, skip it as soon as possible.
- Previous article:Guimi wedding photography group purchase
- Next article:Hunan people, how to apply for a visa when traveling to South Korea?
- Related articles
- What are the university clubs?
- What lens does Canon 6d2 match, si?
- How to kiss naturally
- Brief introduction of Fenghuang ancient city
- How many millimeters does stress photography widen the knee joint?
- What about Fuzhou Keronghuizhi Education Technology Co., Ltd.?
- Do women dream that zongzi is a fetal dream? What is the implication?
- Why did you release Storm Video? Our photography is a black screen with only sound.
- How to shoot macro with Xiaomi note mobile phone?
- Sentences describing the beauty of night scenes