地理空间数据栅格化是指将地理空间数据(如地图、卫星影像等)转换成栅格数据的过程。在栅格化过程中,地理空间数据被分成许多小的单元格(或称为像元),每个单元格代表了地理空间上的一个特定区域。这些单元格通常由行和列组成,形成一个二维网格。每个单元格都有一个唯一的标识符和相关的属性信息,比如地表类型、高程、植被覆盖等。
在实际应用中,经常需要进行地理空间数据栅格化。在进行研究时,我们希望这些数据处于划分方法相同的栅格中。而实际上由于各数据格式有差异,大多数情况下需要对这些数据进行一定的转换。Arcgis提供了一系列的栅格转换工具对不同类型、格式的数据进行处理。
本文以深圳市人口密度数据和房价数据为例,分别介绍面数据和点集数据栅格化的方法。
一、数据来源
人口密度数据
来自https://www.worldpop.org/
数据包含csv和tif格式,在arcgis中通常用tif格式即可,直接拖入tif文件即可导入
房价数据
从二手房网站上获取,数据格式如下图所示
行政区划数据
来自 https://datav.aliyun.com/portal/school/atlas/area_selector
可下载json文件,并在https://mapshaper.org/ (需科学上网)进行json对shp文件的转换
导入Arcgis后效果如下图:
二、人口密度数据处理
1、裁剪人口密度数据
导入人口密度tif文件。在ArcToolbox中依次选择【数据管理工具】→【栅格】→【栅格处理】→【裁剪】。选择“输出范围”与行政区划相同,结果如下:
2、栅格建立和裁剪
在ArcToolbox中依次选择【数据管理工具】→【采样】→【创建渔网】,建立1km1km的渔网。
注意:(1)像元宽度的填写与地图单位有关。假设建立1km1km的网格,若地图单位为千米,像元高度、宽度应设为1;若地图单位为经纬度,像元高度、宽度应设为0.01(近似值)。
(2)几何类型选POLYGON。
对渔网的面图层和点图层根据深圳行政区进行裁剪,【ARCTOOLBOX】——> 【分析工具】——> 【提取分析】——> 【裁剪】。设置输出文件名为“渔网图_1km_Clip”和“渔网图_1km_label_Clip"。
裁剪后结果如下:
3、栅格数据转点和渔网转换
提取栅格数据中的人口信息,【ARCTOOLBOX】 ——> 【转换工具】 ——>【由栅格转出】 ——>【栅格转点】。输出点集文件RasterT_tif1.shp。
将栅格数据的值提取到对应渔网中心点,【ARCTOOLBOX】 --> 【Spatial Analyst】 -->【提取分析】–> 【值提取到点】。输出文件为Extract_shp1.shp。
结果如下,可以看到栅格数据已提取到之前建立的渔网图中。
至此,人口密度数据的栅格建立已基本完成,接下来导出数据即可。
4、数据导出
打开属性表Extract_shp1,左上角选择添加字段。分别添加字段X,Y,设置类型为双精度。
选中字段,右击选择【计算几何】。分别计算出点的X,Y坐标后导出即可,可在python中进行后续计算。
5、数据可视化
选择一开始建立的渔网图_1km_Clip,右键选择【连接和关联】–>【连接】。
在连接数据对话框,选择需要加载的空间数据为”Extract_shp1.shp“,正在连接:选第二个选项。
双击Join_output_pop_density图层,选择【符号系统】–>【数量】–>【分级色彩】,设置字段-值为人口密度对应的属性。
经过可视化后的人口密度数据如图所示:
三、房价数据处理
1、导入房价数据
在菜单栏中选择【文件】–>【添加数据】–>【添加XY数据】,选择房价数据文件。设置经度为X字段,纬度为Y字段。
P.S. 这一步如果提示表没有Object-ID字段,请参考这个博客:链接: Arcgis表添加object_ID字段
2、点数据关联到面上
右击“渔网图_1km_Clip”图层,点击【连接和关联】→【连接】。
选择房价数据,连接方法选"平均值"。
后续操作与人口密度数据相同,可参考前述方法。
参考: