访问量: 312 次浏览
很多人认为学习编程很难, 但事实上,学习编程是未来任何技术工作的基本技能, 在不远的将来, 可能会成为一种基本办公技能, 因此,学习 GIS 编程是很重要的。 本文将带大家学习 GIS 编程教程 - 如何编码, 可以根据自己的需要进行参考。
有时学习编码的最佳方法是远离 GIS, 只专注于编码方面, 往往练习编码的次数越多,就会越熟练。 学习如何编码的最流行的方法之一是直接通过浏览器练习编码, 以下是能够执行此操作的顶级交互式编码平台, 如果您对在线交互式编码平台感兴趣, 可参阅以下内容, 帮助您培养编程技能:
Python 一直是 GIS 中的标准语言, Esri 和开源都倾向于使用它。 如果您是 GIS 编程的新手, 建议您先学习 Python, 它一直非常受大家的欢迎。 通过利用 Python 库, 许多人认为这种 GIS 脚本语言是领先者。

以下是推荐的可以提高 GIS 编程技能的免费课程:
除了 Python,GIS 程序员还使用 C++、C# 和 .NET。 C++ 允许在多种环境中工作, 具体来说, C# 和 .NET 语言提供了开发工具以及与基于 Windows 的软件的交互。 以下是 3 个入门课程, 可应用于您的编程之旅, 且所有课程均免费, 可根据需要自行安排学习。

如果想让网页动态化, JavaScript 会在 Web 浏览器中运行并操纵基于网络的内容的行为。 例如,Esri 的Javascript API 是 Flex 和 Silverlight 的接替者。 以下免费课程提供了很好的 JavaScript 基础,供大家参考:

如今,Web 开发已成为热门话题……GIS 行业也不例外, 如今它也越来越倾向于交互式 Web 地图和 ArcGIS Online 等基于云的平台。 如果您正在寻找这种需求量很大的编程语言, 请查看是否可以在 Codecademy 上找到免费课程。
GIS 系统依靠数据库输入、编辑和维护来管理数据。 几乎所有现代数据库系统(DBMS)都使用 SQL(结构化查询语言)。 以下是可以升级 SQL 的免费课程,供大家参考:

如果要在 GIS 中工作, 则应熟悉 SQL 并能够执行 SELECT、INSERT、MODIFY 和 DELETE 语句, 同样,关联和进一步的 SQL 知识在该领域受到极大的重视。 给定数据库后, 您应该能够浏览其中的数据模型, UML 图概述了每个数据库的设计结构, 这就是 Microsoft Visio 等设计工具可以简化结构设计过程之处。
统计学家和数据挖掘者利用 R 进行开放式统计软件开发和分析。 但您可能不知道的是, GIS 已经通过 R Spatial 采用了这种统计计算、可视化和分析。

同样,最好学习一些与地理信息系统没有严格联系的编程语言/软件包, 建议可在 R 注册这些免费课程:
丰富的 Web 地图通常使用开源 JavaScript 库(如 Leaflet.js), JavaScript 库是别人写的代码, 这往往与 Python 模块的分布方式相同。 例如,JQuery,three.js 和 bootstrap 均是当今使用的 JavaScript 库。 当使用 Leaflet 时, 可以从 JavaScript 库构建自己的 Web 地图。 这就是为什么 JavaScript 在 GIS 中具有如此出色的交互式查看功能的原因。 Leaflet.js 有据可查且易于学习, 利用 JavaScript 几乎可以执行任何操作, 如从空间分析到强大的底图服务器。

但是,除非应用动态 Web 地图, 否则将无法真正了解如何创建动态 Web 地图, 以及利用更复杂的 Web 地图工程测试您的知识, 例如,制作至少包含 2 个可切换图层的 Web 地图。
HTML 是一种标记语言, 它为网页提供结构,如标题、表格和列表等。 虽然 CSS 使用布局设计网页样式, 但它也提供颜色、字体和大小等功能, 此外,Dojo 工具包还提供了语言实用程序和 UI 组件。

GitHub 就像是开发者的 Facebook, 它是一个开放的社区, 能够帮助开发人员了解其同行正在做什么。 GitHub 开发人员可以按版本检查项目的整个历史记录, 还可以研究项目的代码并自行修改。


接下来就可以挑战自己了, 通过以上提及的 GIS 编程技能将所学的知识付诸实践, 例如,可以从简单创建个人 Web 地图项目开始, 获取纬度和经度坐标, 并使用 Leaflet、ESRI API 或 D3 将其放在网络地图上。
如果想学习 Python, 可以通过构建自己的工具箱来管理和处理。 例如,将 Excel 文件导入 ArcGIS 并使用 Python 脚本对该 shapefile 运行分析。 使用 Python 的最大优势是可以自动化工作流程并重复冗余任务。 同样,如果您处于求职中, 简历中添加您对 Python 编程的应用知识可以提升您的经验值, 录取通过率会更大。