Abstract: Many students majoring in GIS have no programming foundation. Many students want to learn GIS development, but do not know how t...
Many students majoring in GIS have no programming foundation. Many students want to learn GIS development, but do not know how to start. But as we all know, learning programming is definitely the first step. The programming languages commonly used by GISer include Python, JavaScript, SQL,. NET, C++, HTML, CSS, etc. This article focuses on their respective roles and learning directions.
1.Learn Python
Python has always been the standard language in GIS applications, and many open source GIS software tend to use Python. If you are new to programming, Python is strongly recommended. Learning direction:
Basic knowledge of Python programming, learn variables, and loops to control the flow of the program. Take advantage of the powerful functions of complex data structures such as lists, sets, dictionaries and tuples.
Write code in Python, use Python libraries such as NumPy, Pandas, and Matplotlib to organize data.
2.GIS programming in application programs – C++, NET, C language
In addition to Python, GIS programmers will also use C++, C language and. NET.
C++ can work in multiple environments. In short, C # and. NET languages provide development tools and interaction with Windows-based software.
Learning direction:
-
C++programs:The focus of learning is not to learn what functions are, but to learn how to create functions in C++.
-
Object:oriented programming in Java, building interactive Java programs using objects, inheritance, and collections.
3.JavaScript – make web pages interactive
If you really want to make your web page dynamic, JavaScript plays a key role.
- Getting started with Java, learn Web applications to lay the foundation for applications, websites or systems.
- Learn how to use the object-oriented programming function in the JavaScript framework to build applications with maintainable code.
4.SQL – database management
GIS system relies on database input, editing and maintenance to manage data, Almost all modern database systems (DBMS) use SQL.
Learning direction:
-
SQL for Data Analysis, SQL queries help you manage data in relational databases and learn how to use SQL to store, query, and manipulate data.
-
Relational database foundation, learn the necessary skills to write code using the database as the back-end.
-
Database system concept and design, for example, databases use queries, inputs, and deletes to fine-tune data.
5.Leaflet and OpenLayers
Web maps often use open source JavaScript libraries to truly implement these functions. JavaScript libraries are code written by others to make it easier for others to use.
Using Leaflet, you can build your own web map from JavaScript libraries. This is why JavaScript can interact well in GIS.
Learning direction:
-
Leaflet, learn the core concepts of JS and use Leaflet JavaScript to build map-based applications.
-
OpenLayers example, master the code of cluster, animation, Web GL, etc.
-
Put the learning content into practical application, for example, make a web map with at least 2 switchable layers
-
Leaflet and OpenLayers can learn from each other.
6.HTML and CSS tags
HTML is a markup language that provides structure for pages such as headings, tables, and lists. CSS provides color, font and size effects.
Learning direction:
Learn the basics of HTML and CSS, master the basics of HTML and CSS. Use HTML, CSS and JavaScript to jointly create dynamic web content.
7.GitHub
Programmers need to keep learning. GitHub is like developers' microblog. It is an open community that helps developers understand what other peers are doing. There are also many big guys sharing source code in it.
Developers can check the entire history of the project by version, and also study the code of the project and modify it by themselves.
8.Project practice
Finally, it is suggested to build your own project with the language learned, for example, to create your own personal web map project. For specific application development content, see the previous article.