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

GIS Programming in Python

Python中的GIS编程

学习以任何GIS编程语言免费编写代码

`GIS programmers <../index.html?p=8177>`__自学成才吗?

我们吃了大量的Python、JavaScript、SQL、VB.NET、C++、HTML、CSS……按顺序,这些是最流行的GIS编程语言。

不必具备编程技能即可`land a job in the GIS industry <../index.html?p=6060>`__。但是,如果这样做的话,那简直是一件值得骄傲的事。它肯定会有所帮助。

如果您刚刚起步,这里有一些最好的免费GIS编程资源,可为您的编码能力铺平道路:

应用程序中的GIS编程——Python、C++、.NET、C#

Python一直是GIS中的标准语言,因为Esri和开放源码倾向于使用它。在所有的GIS编程语言中,许多人认为它是领先的。

python logo

除了Python之外,GIS程序员还使用C++、C.*和.NET。C++允许您在多个环境中工作。而C#和.NET语言为您提供了良好的开发工具和与基于Windows的软件的交互。

我们建议首先学习Python,因为它通常是公司寻找的第一种语言。

下面是3个入门课程,可以开始您的Python编程之旅:

但是,除非应用它,否则您将无法真正学习Python:

例如,构建自己的工具箱来管理、处理或显示自己的GIS数据。

New Toolbox

一个很好的例子是分析一个大型的Excel文件。将数据导入到ArcGIS中,并使用Python脚本对该形状文件运行分析。

在你的投资组合页面上展示你的新技能。在简历中加上你对Python编程有一定的了解。

GIS Programming - Python, JavaScript, R and More

GIS编程–Python、JavaScript、R等

使用Python的最大优点是:

您可以自动化工作流并重复冗余任务。如果可以的话 节省公司时间和金钱 举个好例子,你像黄金一样有价值。

如果你精通Python,那么把你的技能转移到JavaScript上就不难了。这是发展你自己的方式 web mapping applications

使用JavaScript使您的网页具有交互性

网络开发是这些天的热门话题。

…GIS行业也不例外,因为最近它越来越受到 cloud-based platforms like ArcGIS Online

HTML and CSS

从基础知识开始,HTML是为网页(如标题、表格和列表)提供结构的标记语言。当CSS为网页设置布局样式时,它还提供颜色、字体和大小。

但是HTML和CSS很容易学习。你最大的障碍是JavaScript。如果你真的想让你的网页充满活力,那就看看JavaScript。

因为JavaScript是在浏览器中运行的,所以它可以操纵基于Web内容的行为。事实上,Esri’s Javascript API 是Flex和Silverlight的继承者。

阅读更多: 15 High-Tech Webmaps and Webscenes Examples Using Esri’s JavaScript API

实际上,HTML、CSS和JavaScript都可以一起创建动态Web内容。另外, Dojo toolkit 提供语言实用程序和UI组件。

同样,假设是从零开始的。这3门课程提供了良好的JavaScript和一些HTML/CSS基础:

JavaScript

从这里开始,是时候挑战自己了。把你的知识运用到你自己的项目中去。例如,通过简单地开始创建您自己的个人Web地图项目。获取纬度和经度坐标,并将它们与宣传册、ESRI API或D3一起放在网络地图上。

你已经完成了必要的课程。你已经把你的知识付诸行动了。现在是时候给您的简历加油并告诉雇主了。在此阶段,完成后添加**具有HTML,CSS和JS的工作知识**将是不合理的。

使用Leaflet,OpenLayers等构建复杂的Webmap

丰富的Web地图通常使用诸如Leaflet.js之类的开源JavaScript库,以真正让它们焕然一新:

Leaflet Map

传单地图示例

JavaScript库是别人编写的代码,可以让我们其他人的生活更轻松。这与Python模块的分布方式相同。例如,JQuery、three.js和bootstrap是目前正在使用的JavaScript库。

当你使用宣传册时,你可以从这个JavaScript库构建你自己的网络地图。这就是为什么JavaScript在GIS中的交互视图如此出色的原因。

Leaflet.js 文件齐全,易于学习。从空间分析到健壮的basemap服务器,您几乎可以使用JavaScript做任何事情。

…随着技术的进步,Web开发将需要使用3D可视化工具,如WebGL和ESRI的JavaScriptAPI 4。

以下是一门微调您的GIS编程技能的课程:

但是,除非应用它,否则您将无法真正了解如何创建动态Web地图。

QGIS Webmap

QGIS网络地图示例

使用更复杂的Web地图项目测试您的知识。例如,使用至少两个可切换层制作Web地图。希望您能从这个项目中找到HTML、CSS、javascript、XML、jquery和Ajax在Web开发中有价值的原因。

随着GIS技术向云端转移,网络开发可能只是更好的职业选择。

数据库——SQL和UML

几乎所有现代数据库系统(DBMS)都可以使用SQL。GIS的一个重要组成部分是数据库的录入、编辑和维护。例如,SQL查询、输入和删除都可以微调数据。

Database Management System

您应该熟悉SQL,能够执行SELECT、INSERT、MODIFY和DELETE语句。连接、关联和进一步的SQL知识在该领域有着重要的价值。

以下是一些课程来更新您的SQL:

当给定一个数据库时,探究其中的数据模型。了解数据库的结构。这种数据库设计结构通常用UML图表示。

通常情况下,您可以使用Microsoft Visio等设计工具。大多数数据模型的设计工作都使用它。

但最好的建议是:

练习,练习,练习!

提出一个项目并练习使用新的SQL技能。如果一个雇主要求一个投资组合,你有一些很好的例子可以分享。

R空间

统计学家和数据挖掘者使用R来开发和分析开放的统计软件。

你可能不知道的是它已经在GIS中被采用了。

R

这是因为R可以可视化和分析空间数据。它强调统计数据,但两者都可以。

学习一些与ArcGIS没有严格联系的编程语言/包不是一个坏主意。因此,建议使用R:

面向对象编程(OOP)

面向对象编程(OOP)是GIS程序员必须具备的技能。OOP是关于将代码维护为对象,并通过实例化重用代码。

您可以将OOP与您选择的编程语言一起应用。

Database schema

大多数GIS的开发都倾向于面向对象的模式。你也应该这样!掌握OOP的概念将推动你在GIS编程领域的职业生涯。

Github和CodeAcademy编码社区

最后,您可能想知道为什么这么多人使用GitHub。

对于开发者来说,Github就像一个Facebook。它是一个开放的社区,帮助开发人员了解他们的同行在做什么。

GitHub

开发人员可以按版本检查项目的整个历史记录。他们还可以研究一个项目的代码并自己修改它。

  • 如何使用Git和GitHub(Udacity) –在项目的整个生命周期中使用版本控制,并通过GitHub优化协作。在执行此操作时,这似乎毫无意义。不要跳过它! (如何使用Git和GitHub

超过2500万人使用CodeAcademy,因为它非常适合学习语法。它不仅用于语法,而且可以交互式地学习Python编程。

但是CodeAcademy为专业版课程付出了代价。测试一下,从Python开始可能是个不错的投资。

从零到某种程度上的编码英雄

整天编代码。

整夜调试

对你的简历来说,GIS编程知识是一个很好的展示。学习多种GIS编程语言,你将获得大满贯。

同意还是不同意这篇文章?请在下面发表评论。

感谢Reddit用户Korlyth为我们创作这篇文章所做的贡献和灵感。