摘要: 免费的GIS编程教程:学习如何编码¶ Python中的GIS编程 学习以任何GIS编程语言免费编写代码¶ `GIS programmers <../index.html?p=8177>`__自学成才吗? 我们吃了大量的Python、JavaScri...
免费的GIS编程教程:学习如何编码¶
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之外,GIS程序员还使用C++、C.*和.NET。C++允许您在多个环境中工作。而C#和.NET语言为您提供了良好的开发工具和与基于Windows的软件的交互。
我们建议首先学习Python,因为它通常是公司寻找的第一种语言。
下面是3个入门课程,可以开始您的Python编程之旅:
这个 Python Scripting for ArcGIS Free Book by Esri 指导您创建自定义地理处理工具并学习如何在Arcgis中编写Python代码。
下一步, Programming Foundation with Python 在Udacity中,可以帮助您免费学习用Python编写代码。
最后,我们的 list of free Esri training courses and MOOC 教您如何使用Python脚本语言并在ESRI Arcgis桌面中自动执行GIS任务。
但是,除非应用它,否则您将无法真正学习Python:
例如,构建自己的工具箱来管理、处理或显示自己的GIS数据。
一个很好的例子是分析一个大型的Excel文件。将数据导入到ArcGIS中,并使用Python脚本对该形状文件运行分析。
在你的投资组合页面上展示你的新技能。在简历中加上你对Python编程有一定的了解。
GIS编程–Python、JavaScript、R等
使用Python的最大优点是:
您可以自动化工作流并重复冗余任务。如果可以的话 节省公司时间和金钱 举个好例子,你像黄金一样有价值。
如果你精通Python,那么把你的技能转移到JavaScript上就不难了。这是发展你自己的方式 web mapping applications。
使用JavaScript使您的网页具有交互性¶
网络开发是这些天的热门话题。
…GIS行业也不例外,因为最近它越来越受到 cloud-based platforms like ArcGIS Online。
从基础知识开始,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基础:
Khan Academy’s Introduction to JavaScript 非常入门,不会花很长时间完成。这一个从基础开始,以面向对象的设计结束。
Udacity’s Javascript Basics 课程将有助于扩展上述信息。像大多数入门课程一样,它可以帮助你深入到你想要的任何方向。
HTML/JS: Making Webpages Interactive 告诉您如何在网页上包含JavaScript库,以便您可以使用其他Web开发人员构建的功能。
从这里开始,是时候挑战自己了。把你的知识运用到你自己的项目中去。例如,通过简单地开始创建您自己的个人Web地图项目。获取纬度和经度坐标,并将它们与宣传册、ESRI API或D3一起放在网络地图上。
你已经完成了必要的课程。你已经把你的知识付诸行动了。现在是时候给您的简历加油并告诉雇主了。在此阶段,完成后添加**具有HTML,CSS和JS的工作知识**将是不合理的。
使用Leaflet,OpenLayers等构建复杂的Webmap¶
丰富的Web地图通常使用诸如Leaflet.js之类的开源JavaScript库,以真正让它们焕然一新:
传单地图示例
JavaScript库是别人编写的代码,可以让我们其他人的生活更轻松。这与Python模块的分布方式相同。例如,JQuery、three.js和bootstrap是目前正在使用的JavaScript库。
当你使用宣传册时,你可以从这个JavaScript库构建你自己的网络地图。这就是为什么JavaScript在GIS中的交互视图如此出色的原因。
Leaflet.js 文件齐全,易于学习。从空间分析到健壮的basemap服务器,您几乎可以使用JavaScript做任何事情。
…随着技术的进步,Web开发将需要使用3D可视化工具,如WebGL和ESRI的JavaScriptAPI 4。
以下是一门微调您的GIS编程技能的课程:
使用 OpenLayers 3 Examples 给出了集群、动画、GeoJSON、heatmap、WebGL等的代码示例。
但是,除非应用它,否则您将无法真正了解如何创建动态Web地图。
QGIS网络地图示例
使用更复杂的Web地图项目测试您的知识。例如,使用至少两个可切换层制作Web地图。希望您能从这个项目中找到HTML、CSS、javascript、XML、jquery和Ajax在Web开发中有价值的原因。
随着GIS技术向云端转移,网络开发可能只是更好的职业选择。
数据库——SQL和UML¶
几乎所有现代数据库系统(DBMS)都可以使用SQL。GIS的一个重要组成部分是数据库的录入、编辑和维护。例如,SQL查询、输入和删除都可以微调数据。
您应该熟悉SQL,能够执行SELECT、INSERT、MODIFY和DELETE语句。连接、关联和进一步的SQL知识在该领域有着重要的价值。
以下是一些课程来更新您的SQL:
可汗学院 Intro to SQL: Querying and managing data 帮助您使用SQL管理关系数据库中的数据。这个免费的课程教你如何使用SQL来存储、查询和操作数据。
Udacity的免费课程 Intro to Relational Databases 提供使用数据库作为后端编写代码所必需的知识。
当给定一个数据库时,探究其中的数据模型。了解数据库的结构。这种数据库设计结构通常用UML图表示。
通常情况下,您可以使用Microsoft Visio等设计工具。大多数数据模型的设计工作都使用它。
但最好的建议是:
练习,练习,练习!
提出一个项目并练习使用新的SQL技能。如果一个雇主要求一个投资组合,你有一些很好的例子可以分享。
R空间¶
统计学家和数据挖掘者使用R来开发和分析开放的统计软件。
你可能不知道的是它已经在GIS中被采用了。
这是因为R可以可视化和分析空间数据。它强调统计数据,但两者都可以。
学习一些与ArcGIS没有严格联系的编程语言/包不是一个坏主意。因此,建议使用R:
Robin Lovelace和James Chesire's Introduction to Visualizing Spatial Data in R 让您亲身体验R流行的图形包ggplot2
R Spatial Cheatsheet 用于R及以上区域的地理空间数据。空间矢量和栅格数据的关键功能和操作。
面向对象编程(OOP)¶
面向对象编程(OOP)是GIS程序员必须具备的技能。OOP是关于将代码维护为对象,并通过实例化重用代码。
您可以将OOP与您选择的编程语言一起应用。
大多数GIS的开发都倾向于面向对象的模式。你也应该这样!掌握OOP的概念将推动你在GIS编程领域的职业生涯。
Udacity的 Object-Oriented JavaScript 帮助您构建自己的代码块作为库,并避免复制和粘贴代码行。
Github和CodeAcademy编码社区¶
最后,您可能想知道为什么这么多人使用GitHub。
对于开发者来说,Github就像一个Facebook。它是一个开放的社区,帮助开发人员了解他们的同行在做什么。
开发人员可以按版本检查项目的整个历史记录。他们还可以研究一个项目的代码并自己修改它。
如何使用Git和GitHub(Udacity) –在项目的整个生命周期中使用版本控制,并通过GitHub优化协作。在执行此操作时,这似乎毫无意义。不要跳过它! (如何使用Git和GitHub)
超过2500万人使用CodeAcademy,因为它非常适合学习语法。它不仅用于语法,而且可以交互式地学习Python编程。
但是CodeAcademy为专业版课程付出了代价。测试一下,从Python开始可能是个不错的投资。
从零到某种程度上的编码英雄¶
整天编代码。
整夜调试
对你的简历来说,GIS编程知识是一个很好的展示。学习多种GIS编程语言,你将获得大满贯。
同意还是不同意这篇文章?请在下面发表评论。
感谢Reddit用户Korlyth为我们创作这篇文章所做的贡献和灵感。