《Python地理空间分析指南(第2版)》——1.7 地理空间分析和计算机编程-阿里云开发者社区

开发者社区> 人工智能> 正文
登录阅读全文

《Python地理空间分析指南(第2版)》——1.7 地理空间分析和计算机编程

简介:

本节书摘来自异步社区《Python地理空间分析指南(第2版)》一书中的第1章,第1.7节,作者: 【美】Joel Lawhead(莱哈德) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.7 地理空间分析和计算机编程

现代的地理空间分析可以通过商业的或开源的地理空间应用软件点点鼠标就能轻松完成。那么,使用编程语言进行地理空间分析的目的何在?最重要的原因如下:

  • 希望完全控制底层的算法、数据和执行过程;
  • 希望用最小的代价在一个大而全的地理空间框架中实现重复任务的自动化;
  • 希望创建一个程序方便共享;
  • 希望深入学习地理空间分析,而不只是点点鼠标。

地理空间行业正逐渐脱离曾经的那种需要分析团队通过昂贵的桌面软件生产地理空间产品的传统工作模式。当前地理空间分析趋向于通过云模式进行自动化过程处理。终端用户软件趋向于解决特定任务的工具,而且很多还支持移动设备访问。地理空间概念和数据的知识与个性化地理空间分析过程一样,是将来从事地理空间工作的基础。

地理空间分析的面向对象编程
面向对象的编程是一种软件开发规范。其理念是对象建模,将对象的特征和行为分别用属性和方法表示。该规范的目标是将软件模块化,鼓励对象继承一个或多个对象实现软件复用。

Python语言以“多面手”而闻名,它可以是设计良好的面向对象编程语言,也可以是过程式脚本语言,甚至还可以是函数式编程语言。但是你最好不要完全放弃使用Python进行面向对象编程,因为它的原生数据类型就是对象,并且所有的Python库都是模块化的,遵循了基本对象的结构和行为。

地理空间分析和面向对象编程是天生的一对。在大部分面向对象编程项目中,对象都是抽象的概念,例如数据库连接在现实生活中是无法找到参照物的。但是在地理空间分析领域,被建模的对象都可以和现实生活对应。地理空间分析研究的范围就是地球上的一切。如植被、建筑物、河流、人以及其他对象共同组成了地理空间系统。

面向对象的初学者常会学习到以小猫为例介绍相关概念的示例。讲述面向对象编程的书籍经常会使用类似下面的示例。

假如你在观察一只猫。我们会知道和这只猫有关的信息,如名字、年龄、花色和大小等。这些特征是猫的属性。同时猫还有一些行为,如吃饭、睡觉、跳跃和发出叫声等。对于面向对象编程来说,对象也有属性和行为。你可以在我们的示例中为生活中的对象建模,如一只猫,或者更抽象的事物(如银行账号)等。

大部分面向对象编程中的概念都比一只猫或者银行账号更抽象一些。但是,在地理空间分析领域,建模对象都是实实在在的,例如猫这一概念,多数情况下是指活的、会呼吸的猫咪。地理空间分析能够不断丰富猫这一简单概念,甚至可以将其可视化。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: