通过免费课程学习使用任何 GIS 编程语言编写代码
成功的自学GIS 程序员早餐吃什么?
他们吃健康剂量的 Python、JavaScript、SQL、VB.NET、C++、HTML、CSS……但不是 Flash!这些是最流行的 GIS 编程语言。
无需具备编程技能即可在 GIS 行业找到工作。但是,如果您这样做,那将是您的帽子。它肯定会有所帮助。
如果您刚刚开始,这里有一些最好的免费 GIS 编程资源可用于为您的编码能力铺平道路:
通过实践学习编码
如果您想学习如何编码,有时学习编码的最佳方法是远离 GIS,而只专注于编码方面。因为你练习编码的次数越多,你就会感觉越舒服。
学习如何编码的最流行的方法之一是直接通过浏览器练习编码。以下是使您能够做到这一点的顶级交互式编码平台。
如果您对其他在线交互式编码平台感兴趣,这里有一些其他顶级选项可帮助您培养编程技能:
1.获得GIS编程和Python认证
Python 一直是 GIS 中的标准语言,因为 Esri 和开源倾向于使用它。如果您是 GIS 编程新手,我们建议您先学习 Python,因为它非常受欢迎。通过利用Python 库,许多人认为这种 GIS 脚本语言是领先者。
首先,通过我们最推荐的选择来学习 GIS 编程。以下是一些可以提高您的 GIS 编程技能的免费课程:
- Python 编程的基础和最佳实践——学习变量、条件和循环来控制程序的流程。您将利用复杂数据结构的力量,如列表、集合、字典和元组。
- 用 Python 编写干净的代码——利用 NumPy、Pandas 和 Matplotlib 等 Python 库来处理您的数据。本课程的重点是数据分析和工程。
- 编码词典——本课程揭开了开发中常见的令人生畏的术语和行话的神秘面纱。您将了解程序员每天做什么以及版本控制。
每门免费课程都可以帮助您开始新的职业生涯或获得加薪或晋升。如果您有兴趣学习世界上排名第一的编程语言,这里有 Python 课程和证书课程来学习这种强大的语言。
阅读更多: 10 门 Python 课程和证书课程
2. GIS 应用程序编程——C++、.NET、C#
除了 Python,GIS 程序员还使用 C++、C# 和 .NET。C++ 允许您在多种环境中工作。具体来说,C# 和 .NET 语言为您提供开发工具以及与基于 Windows 的软件的交互。
这里有 3 门入门课程,可帮助您开启应用程序编程之旅。所有课程都是免费的并且可以自定进度。
- C++ For Programmers – 本 C++ 课程侧重于“如何”而不是“什么”。它不是教你什么是函数,而是教你如何在 C++ 中创建一个函数。
- Java 中的面向对象编程——使用对象、继承和集合构建交互式 Java 程序。OOP 是关于将代码维护为对象并通过实例化重用代码。无论您选择哪种编程语言,都可以将 OOP 与其结合使用。
- Esri 培训课程和 MOOC – Esri 的课程列表教您脚本语言以及如何在 Esri ArcGIS 桌面上自动执行 GIS 任务。
阅读更多: C++ 认证:最佳在线课程和项目
3. JavaScript – 让您的网页具有交互性
如果您真的想让您的网页动态化,JavaScript 会在网络浏览器中运行并操纵基于网络的内容的行为。例如,Esri 的 Javascript API是 Flex 和 Silverlight 的继承者。
如果您只是从零开始,这些免费课程提供了良好的 JavaScript 基础:
- JavaScript 简介——这门 JavaScript 入门课程可帮助您构建现代 Web 应用程序,为任何应用程序、网站或系统奠定基础。
- 面向对象的 JavaScript – 了解如何使用 JavaScript 框架中的面向对象编程功能来构建具有可维护代码的应用程序。OOP 无需复制和粘贴代码行,而是帮助您将自己的代码块构建为库。
如今,Web 开发成为热门话题……GIS 行业也不例外,因为如今它越来越倾向于交互式 Web 地图和ArcGIS Online 等基于云的平台。
开始使用这些免费的 JavaScript GIS 编程教程。如果您正在寻找这种需求量很大的编程语言,请查看您是否还可以在 Codecademy 上找到免费课程。在我们的Codecademy 评论中了解有关此在线平台的更多信息。
阅读更多: JavaScript 认证课程
4. SQL 和 UML – 数据库管理
GIS 系统依靠数据库输入、编辑和维护来管理数据。几乎所有现代数据库系统 (DBMS) 都使用 SQL(结构化查询语言)。
这里有一些免费的课程可以帮助你复习甚至升级你的 SQL:
- 用于数据分析的SQL – SQL 查询可帮助您管理关系数据库中的数据。本课程教您如何使用 SQL 来存储、查询和操作数据。
- 关系数据库简介——学习使用数据库作为后端编写代码的必要技能。此外,它还教授如何使用 Python API 将 Python 代码连接到数据库。
- 数据库系统概念与设计——佐治亚理工学院通过一个主要的现实世界项目教授数据库设计。例如,数据库使用查询、输入和删除来微调您的数据。
如果你想在 GIS 中工作,你应该熟悉 SQL,并且能够执行 SELECT、INSERT、MODIFY 和 DELETE 语句。加入、关联和进一步的 SQL 知识在该领域非常受重视。
当给定一个数据库时,您应该能够探索其中的数据模型。UML 图概述了每个数据库的设计结构。这就是 Microsoft Visio 等设计工具可以简化结构设计过程的地方。
想学习数据库语言 SQL 吗?这些 SQL 认证课程将帮助您打下坚实的 SQL 基础,从而自信地使用数据库。
阅读更多: SQL 认证课程 – 结构化查询语言
5. R Spatial – 统计和数据分析
统计学家和数据挖掘者使用 R 进行开放式统计软件开发和分析。但你可能不知道的是,GIS 已经通过 R Spatial 采用了这种统计计算、可视化和分析。
有时,最好学习一些与 GIS 没有严格关联的编程语言/包。出于这些原因,我们建议您在 R 中注册这些免费课程:
- 使用 R 进行数据分析– 使用 R 使用更正式的统计方法对数据进行可视化分析和调查。
- 统计简介——使用统计从数据中提取意义。本课程将向您介绍在数据中可视化关系的技术以及使用数学理解关系的系统技术。
- 使用 R 进行数据可视化– 从 R 的 ggplot2 数据可视化包中学习所有内容,并将此概念应用于基本条形图、直方图、饼图、散点图、折线图和箱线图。
尽管 R 强调统计,但学习它并不是一个坏主意,因为 GIS 依赖于地质统计学等领域。但最好的建议是练习、练习、练习!提出一个项目并练习使用新的 R 空间技能。如果雇主要求提供投资组合,您可以分享一些很好的例子。
如果您想更进一步,这里有一些 R 认证课程,统计学家和数据挖掘者可以使用这些课程来发展他们在这种开放式统计软件开发中的技能。
阅读更多: R 统计计算认证课程
6. Leaflet 和 OpenLayers——构建复杂的网络地图
丰富的 web 地图通常使用 Leaflet.js 等开源 JavaScript 库来真正实现它们。JavaScript 库是其他人为使我们其他人的生活更轻松而编写的代码。这与 Python 模块的分布方式相同。例如,JQuery、three.js 和 bootstrap 是当今使用的 JavaScript 库。
当您使用 Leaflet 时,您可以从这个 JavaScript 库构建您自己的 web 地图。这就是为什么 JavaScript 在 GIS 中非常适合交互式查看的原因。Leaflet.js有据可查且易于学习。从空间分析到强大的底图服务器,您几乎可以使用 JavaScript 做任何事情。
- Leaflet for Beginners – 使用 LeafletJS 构建基于地图的应用程序。另外,学习LeafletJS的核心概念
- OpenLayers 3 示例——这个免费资源提供了集群、动画、GeoJSON、热图、WebGL 等的代码示例。
但是,除非您应用它,否则您不会真正了解如何创建动态 web 地图。使用更复杂的 web 地图项目测试您的知识。例如,制作包含至少 2 个可切换图层的 web 地图。
希望从这个项目中,您会发现为什么 HTML、CSS、JavaScript、XML、JQuery 和 AJAX 在 Web 开发中很有价值。随着 GIS 技术转向云,Web 开发可能只是一个更好的职业选择。
7. HTML 和 CSS 标记
从基础开始,HTML 是一种标记语言,它为网页提供结构,如标题、表格和列表。
虽然 CSS 使用布局对网页进行样式化,但它还提供颜色、字体和大小。此外,Dojo 工具包还提供语言实用程序和 UI 组件。
- HTML 和 CSS 简介——从本课程中必要的小步骤开始,教你 HTML 和 CSS 的基础知识。HTML、CSS 和 JavaScript 协同工作以创建动态 Web 内容。
如果您已经在使用 JavaScript,您会发现为什么 HTML、CSS、XML、JQuery 和 AJAX 在 Web 开发中很有价值。随着 GIS 技术转向云,Web 开发可能只是一个更好的职业选择。
阅读更多: 全栈开发人员认证
GitHub 和 CodeAcademy 编码社区
最后,您可能想知道为什么这么多人使用 GitHub。GitHub 就像开发人员的 Facebook。这是一个开放社区,可帮助开发人员了解他们的同行正在做什么。
开发人员可以按版本检查项目的整个历史。他们还可以研究项目的代码并自行修改。
- 如何使用 Git 和 GitHub——在项目的生命周期中使用版本控制并通过 GitHub 优化协作。当你这样做时,这似乎毫无意义。不要跳过它!
- CodeAcademy – 免费学习编码。CodeAcademy 为所有级别提供交互式实践学习,并在每一步都提供指导
应用你的技能
从这里开始,是时候挑战自己了。通过您自己的项目将您的知识付诸实践。选择上面的任何 GIS 编程技能,是时候使用它了。
例如,从简单开始创建您自己的个人 web 地图项目。获取纬度和经度坐标,并使用 Leaflet、ESRI API 或 D3 将它们放在网络地图上。如果您擅长 JavaScript,那么将您的技能转移到 Python 并不难。
如果您想学习 Python,请构建自己的工具箱来管理和处理。例如,将 Excel 文件导入 ArcGIS 并使用 Python 脚本对该 shapefile 运行分析。请记住,使用 Python 的最大优势是:您可以自动化工作流程并重复冗余任务。如果您可以通过一个有效的示例为公司节省时间和金钱,那么您就像黄金一样好。
在您的投资组合页面上展示您的新技能。在您的简历中添加您对 Python 编程的应用知识。是时候提升你的简历并告诉雇主了。在这个阶段,完成后添加HTML,CSS,JS的工作知识并不是不合理的。