免费的地理信息系统编程教程:学习如何编码

GIS Programming in Python

python中的GIS编程

学会用任何GIS编程语言免费编写代码

成功的自学是什么? GIS programmers 早餐吃吗?

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

没有必要有编程技能 land a job in the GIS industry . 但如果你这样做的话,那是你帽子上的一根羽毛。这当然会有帮助。

如果你刚开始,这里有一些最好的,免费的地理信息系统编程资源,为你的编码能力铺平道路:

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

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

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交互

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

…地理信息系统行业也不例外,因为最近它越来越受到 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地图项目。获取纬度和经度坐标,并将它们与宣传册、ESRIAPI或D3一起放在网络地图上。

你已经完成了必要的课程。你已经把你的知识付诸行动了。现在是时候给你的简历一个提振,并告诉雇主。在这个阶段,增加**HTML, CSS, JS的使用知识**完成后。

使用传单、Openlayers等构建复杂的网络地图

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

Leaflet Map

传单地图示例

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

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

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

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

以下是一门微调您的地理信息系统编程技能的课程:

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

QGIS Webmap

QGIS网络地图示例

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

随着地理信息系统技术向云端转移,网络开发可能只是更好的职业选择。

数据库——SQL和UML

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

Database Management System

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

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

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

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

但最好的建议是:

练习,练习,练习!

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

R空间

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

你可能不知道的是它已经在地理信息系统中被采用了。

R

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

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

面向对象编程(OOP)

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

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

Database schema

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

Github和CodeAcademy编码社区

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

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

GitHub

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

  • 如何使用Git和Github(Udacity) –在项目生命周期中使用版本控制,并通过Github优化协作。当你这样做的时候,这似乎毫无意义。不要跳过它! (How to use Git and GitHub ()

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

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

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

整天编代码。

整夜调试

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

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

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