《Python地理数据处理》——1.4 探究数据

简介:

本节书摘来自异步社区《Python地理数据处理》一书中的第1章,第1.4节,作者: 【美】Chris Garrard(加勒德) 更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 探究数据

使用Python的过程中会看到多种可视化数据的方法,但探究数据最好的方法仍然是使用桌面端的GIS程序。在桌面程序中,你可以轻松地对空间数据进行可视化,并查看数据的属性信息。如果你目前还没有安装GIS软件,开源GIS软件里的QGIS是一个很好的选择,而且在本书中需要的地方将会被用到。

可下载的代码和样例数据

本书例子中涉及的代码和样例数据都可以通过下面的链接地址下载获得。如果想边学边练,需要下载这些内容。

代码包含本书中的实例和所用到的个人设置,实例中用到的所有数据都包含在内。

代码:https://github.com/cgarrard/osgeopy-code和www.manning.com/books/geoprocessing-with-python。
数据:https://app.box.com/osgeopy和www.manning.com/books/geoprocessing-with-python。

这不是一本关于QGIS的书籍,所以我不会太多地介绍如何使用它。在网站上有相应的文档资料,你也可以找到此主题相关的图书。不过,我将要简单地讲述如何使用QGIS加载数据进行查看。如果你之前从未使用过GIS,初次打开QGIS时,可能会被吓住。不过,使用它查看数据一点也不难。

例如,要加载本书实例数据的一个Shapefile文件,从QGIS图层菜单中选择Add vector layer。在打开的对话框中,确保File选项被选中,然后单击Browse按钮选择一个shapefile文件。可以选择US文件夹下的countyp010.shp文件开始(见图1.7)。


<a href=https://yqfile.alicdn.com/35b0e691ee26a1b857c5deb46d44f3374b7ece08.png" >

选择文件后,在Add vector layer对话框中单击Open按钮,选择的矢量空间数据就绘制显示在QGIS中,如图1.8所示。你可以使用放大镜工具(见图1.8中圈出的功能)放大查看地图的一部分。


0f59d27352e31d77f0f706f1fb2d051d9ad460c1

可以在左侧的图层列表中查看到图层的名字,这个例子中,图层的名字为countyp010。在图层上双击会弹出属性对话框,单击样式选项卡,可以对图层绘制显示的样式进行修改。让我们修改一下各县图层,不要所有的郡县都显示同一种颜色,而是根据其所在的州显示不同的颜色。要实现这种效果,可以从下拉框中选择Categorized,在column参数中选择STATE,在Color ramp下拉框中选择一种色带,然后单击Classify按钮。你可以看到所有的州以及它们对应的颜色,如图1.9所示。你也可以从列表中选择一个新的色带来改变现有显示的颜色,单击Delete All按钮,然后再次单击Classify按钮即可。你还可以通过双击列表中邻近州名缩写的色块,来改变某个具体州的显示颜色。


<a href=https://yqfile.alicdn.com/9cebf3277b067fc4d2fdf2f2ad46f6467ee81ed5.png" >

纸质书籍读者注意,关于彩色图像:

在本书中,许多图像以彩色显示的效果最好。电子书版本是以彩色图像进行显示的,所以阅读本书时需要提及一下此电子书。想获得PDF、ePub以及Kindle格式的电子书,请在https://www.manning.com/books/geoprocessing with-python注册你的纸质图书编号。
一旦对设置的颜色满意了,可以单击Apply按钮,所设置的颜色将会应用在QGIS的主视图中(见图1.10)。


<a href=https://yqfile.alicdn.com/653bcee37beb315e4a06a6476d0a279363ea398b.png" >

可以查看空间数据附带的属性数据,在图层名字上右键选择Open Attribute Table,图1.11中所显示的表格中每一行对应地图中所显示的一个郡县。其实,可以试着单击最左侧一列的数字来选择一行,然后单击Zoom map to selected rows按钮(即图1.11中圈出的按钮),看看会发生什么。


<a href=https://yqfile.alicdn.com/b2d618e3ec1bf738a6ab166507358b4ce7626a72.png" >

熟悉QGIS并且至少要阅读网站中所提供的部分文档。这款软件功能非常强大,值得学习。关于它的使用,我将贯穿全书,但是对软件的讲解不会面面俱到。然而,使用它可以查看样例数据或者已经创建的任何数据结果。

相关文章
|
15天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
43 0
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
101 0
|
10天前
|
数据可视化 数据挖掘 定位技术
Python和Geopandas进行地理数据可视化
【10月更文挑战第22天】本文介绍了如何使用Python和Geopandas进行地理数据可视化和分析,涵盖从准备工作、加载数据、数据探索与处理、地理数据可视化、空间分析与查询到交互式地理数据可视化等内容。通过丰富的代码示例和案例演示,帮助读者掌握地理数据分析的基本方法,为实际应用提供支持。
48 19
|
24天前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
9天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
18 1
|
10天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
10天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
1月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
45 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
1月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
41 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
1月前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
65 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析