免费的GIS编程教程:学习如何编码

免费的GIS编程教程:学习如何编码


发布日期: 2022-07-19 更新日期: 2022-07-19 编辑:xuzhiping 浏览次数: 1614

标签:

摘要: 很多人认为学习编程很难,但事实上,学习编程是未来任何技术工作的基本技能,在不远的将来,可能会成为一种基本办公技能,因此,学习 GIS 编程是很重要的。本文将带大家学习 GIS 编程教程 - 如何编码,可以根据自己的需要进行参考。 通过实践学习编码 有时学习编...

免费的GIS编程教程:学习如何编码

很多人认为学习编程很难,但事实上,学习编程是未来任何技术工作的基本技能,在不远的将来,可能会成为一种基本办公技能,因此,学习 GIS 编程是很重要的。本文将带大家学习 GIS 编程教程 - 如何编码,可以根据自己的需要进行参考。

通过实践学习编码

有时学习编码的最佳方法是远离 GIS,只专注于编码方面,往往练习编码的次数越多,就会越熟练。学习如何编码的最流行的方法之一是直接通过浏览器练习编码,以下是能够执行此操作的顶级交互式编码平台,如果您对在线交互式编码平台感兴趣,可参阅以下内容,帮助您培养编程技能:

1.获得 GIS 编程和 Python 认证

Python 一直是 GIS 中的标准语言,Esri 和开源都倾向于使用它。如果您是 GIS 编程的新手,建议您先学习 Python,它一直非常受大家的欢迎。通过利用 Python 库,许多人认为这种 GIS 脚本语言是领先者。

Python 标识

以下是推荐的可以提高 GIS 编程技能的免费课程:

  • Python 编程的基础和最佳实践: 学习变量、条件和循环来控制程序的流程,利用复杂数据结构的力量,如列表、集合、字典和元组。
  • 用 Python 编写代码:利用 NumPy、Pandas 和 Matplotlib 等 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 ArcGIS 桌面自动化 GIS 任务。

NET 标识

3.JavaScript – 让网页更具交互性

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

JavaScript

  • JavaScript 简介: JavaScript 入门课程可帮助您构建现代 Web 应用程序,为任何应用程序、网站或系统奠定基础。
  • 面向对象的 JavaScript:了解如何使用 JavaScript 框架中 的面向对象编程功能来构建具有可维护代码的应用程序。OOP 无需复制和粘贴代码行,而是帮助将自己的代码块构建为库。

如今,Web 开发已成为热门话题……GIS 行业也不例外,如今它也越来越倾向于交互式 Web 地图和 ArcGIS Online 等基于云的平台。如果您正在寻找这种需求量很大的编程语言,请查看是否可以在 Codecademy 上找到免费课程。

4.SQL 和 UML – 数据库管理

GIS 系统依靠数据库输入、编辑和维护来管理数据。几乎所有现代数据库系统(DBMS)都使用 SQL(结构化查询语言)。以下是可以升级 SQL 的免费课程,供大家参考:

数据库

  • 用于数据分析 的SQL: SQL 查询可帮助管理关系数据库中的数据。本课程教您如何使用 SQL 来存储、查询和操作数据。
  • 关系数据库简介:学习使用数据库作为后端编写代码的必要技能。此外,它还教授如何使用 Python API 将 Python 代码连接到数据库。
  • 数据库系统概念与设计:佐治亚理工学院通过一个主要的现实世界项目教授数据库设计,例如,数据库使用查询、输入和删除来微调数据。

如果要在 GIS 中工作,则应熟悉 SQL 并能够执行 SELECT、INSERT、MODIFY 和 DELETE 语句,同样,关联和进一步的 SQL 知识在该领域受到极大的重视。给定数据库后,您应该能够浏览其中的数据模型,UML 图概述了每个数据库的设计结构,这就是 Microsoft Visio 等设计工具可以简化结构设计过程之处。

5. R Spatial – 统计和数据分析

统计学家和数据挖掘者利用 R 进行开放式统计软件开发和分析。但您可能不知道的是,GIS 已经通过 R Spatial 采用了这种统计计算、可视化和分析。

R Spatial – 统计和数据分析

同样,最好学习一些与地理信息系统没有严格联系的编程语言/软件包,建议可在 R 注册这些免费课程:

  • 使用 R 进行数据分析:通过 R 利用更正式的统计方法对数据进行可视化分析和调查。
  • 统计简介:使用统计数据从数据中提取意义。本课程将向您介绍在数据中的可视化关系技术,以及使用数学理解关系的系统技术。
  • 使用 R 进行数据可视化:了解适用于 R 的 ggplot2 数据可视化包中的所有内容,并将此概念应用于基本的条形图、直方图、饼图、散点图、折线图和箱形图。

6.Leaflet 和 OpenLayers – 构建复杂的网络地图

丰富的 Web 地图通常使用开源 JavaScript 库(如 Leaflet.js),JavaScript 库是别人写的代码,这往往与 Python 模块的分布方式相同。例如,JQuery,three.js 和 bootstrap 均是当今使用的 JavaScript 库。当使用 Leaflet 时,可以从 JavaScript 库构建自己的 Web 地图。这就是为什么 JavaScript 在 GIS 中具有如此出色的交互式查看功能的原因。Leaflet.js 有据可查且易于学习,利用 JavaScript 几乎可以执行任何操作,如从空间分析到强大的底图服务器。

GIS 数据层

  • Leaflet for Beginners:使用 LeafletJS 构建基于地图的应用程序,另外,学习 LeafletJS 的核心概念。
  • OpenLayers 3 示例:这个免费资源提供了集群、动画、GeoJSON、热图、WebGL 等的代码示例。

但是,除非应用动态 Web 地图,否则将无法真正了解如何创建动态 Web 地图,以及利用更复杂的 Web 地图工程测试您的知识,例如,制作至少包含 2 个可切换图层的 Web 地图。

7.HTML 和 CSS 标记

HTML 是一种标记语言,它为网页提供结构,如标题、表格和列表等。虽然 CSS 使用布局设计网页样式,但它也提供颜色、字体和大小等功能,此外,Dojo 工具包还提供了语言实用程序和 UI 组件。

HTML and CSS

  • HTML 和 CSS 简介:本课程将教授给大家 HTML 和 CSS 的基础知识,以及 HTML、CSS 和 JavaScript 协同工作以创建动态 Web 内容。如果您已经在使用 JavaScript,则会发现 HTML、CSS、JavaScript、XML、JQuery 和 AJAX 在 Web 开发中存在价值的原因。随着 GIS 技术向云端的转移,Web 开发可能只是一个更好的职业选择。

GitHub 和 CodeAcademy 编码社区

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

GitHub

  • 如何使用 Git 和 GitHub: 在项目的整个生命周期内使用版本控制,并通过 GitHub 进行优化协作。
  • CodeAcademy:免费学习编码。CodeAcademy 为所有级别学员提供交互式动手学习,并在每一步提供技术指导。

GIS 编程 - Python, JavaScript, R 等

接下来就可以挑战自己了,通过以上提及的 GIS 编程技能将所学的知识付诸实践,例如,可以从简单创建个人 Web 地图项目开始,获取纬度和经度坐标,并使用 Leaflet、ESRI API 或 D3 将其放在网络地图上。

如果想学习 Python,可以通过构建自己的工具箱来管理和处理。例如,将 Excel 文件导入 ArcGIS 并使用 Python 脚本对该 shapefile 运行分析。使用 Python 的最大优势是可以自动化工作流程并重复冗余任务。同样,如果您处于求职中,简历中添加您对 Python 编程的应用知识可以提升您的经验值,录取通过率会更大。

相关推荐

关注公众号
获取免费资源

随机推荐


Copyright © Since 2014. 开源地理空间基金会中文分会 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org