技术前沿 | 百度慧眼位置评估功能提取目标区域数据流程(一)

时间:2019-05-17
技术前沿 | 百度慧眼位置评估功能提取目标区域数据流程(一)
百度慧眼位置评估功能提取目标区域数据流程(一)

在实际应用百度慧眼的过程中,面对手头的CAD或ArcGIS地块图,如何将它们反映在慧眼平台上,以获取各片区的人口数据?最直接的办法是通过慧眼位置评估中的多边形工具,对照dwg或shp图圈出地块边界,但是这一操作伴随的是巨大的工作量和难以保证的精度,而且圈出的地块难以在平台上重复使用获取数据。因此,特提供此教程,通过对ArcGIS的shp文件处理,在慧眼平台获取片区数据。

本文基于百度慧眼位置评估模块提供的区域边界顶点坐标集划定区域的功能,整理了目标片区从提取边界顶点到最终从百度慧眼平台下载数据报告的完整流程。该方法的优势在于,区域边界顶点坐标集可在之后重复使用,不断提取慧眼平台的更新数据。但是囿于慧眼平台本身的一些限制,流程中会出现相对复杂的重复性工作,具体问题将在后文予以说明。

该流程中除百度慧眼平台外,还需用到ArcGIS和Excel两款软件。流程将以盐田区的深圳市第六次全国人口普查(以下简称“六普”)统计小区为例,介绍数据报告获取的4个主要步骤:片区边界顶点坐标提取、数据汇总处理、边界顶点稀释和数据报告获取。


1.   片区边界顶点坐标提取

首先需要准备一份ArcGIS使用的shp图层文件,如果是CAD的dwg文件的话,可以添加进ArcGIS后输出成shp文件。该图层包含了后续工作中想要获取数据的片区边界。

边界顶点的提取工作需在ArcGIS中完成。打开ArcGIS后,需要先设定坐标系,统一的坐标系方可避免之后的工作中出现不必要的偏移。百度慧眼中提供了3种可选的坐标系,分别是百度地图坐标系、GPS使用的WGS1984坐标系和国家测绘局的GCJ02(又称火星坐标系)。本例选择WGS1984坐标系获取目标区域的经纬度,以便与同为该坐标的OpenStreetMap底图进行校正。

在ArcGIS左边的Table Of Contents一栏,双击Layers,选择CGS_WGS_1984坐标系并确定。


图 1设定坐标系


设定好坐标系后导入图层,由六普人口统计小区分布图中提取出的盐田区22个社区分布情况如图2。


图 2盐田区六普人口统计小区分布图



图 3盐田区六普人口统计小区属性表


首先提取各人口小区边界的顶点,也称为特征点。特征点的原理是将曲折的片区边界简化为数条线段,线段的交点即为片区边界特征点。慧眼平台的位置评估功能也是通过这些特征点的坐标连线划定区域。提取顶点需要用到ArcGIS工具箱ArcToolbox中的“要素顶点转点”功能,位于ArcToolbox-Data Management Tools-Features-Feature Vertices To Points。


图 4Feature Vertices To Points


在工具中Input Features一栏选中待提取顶点的面要素,即本例中的盐田区图层,在Output Feature Class处选择顶点的输出路径后单击Ok,输出结果即为盐田区六普人口统计小区边界顶点。


图 5盐田区六普人口统计小区边界顶点


在ArcGIS左边的Table Of Contents一栏,右键刚输出的新图层(本例中为“盐田区_points”),单击Open Attribute Table即可打开图层属性表,可以看到各顶点的编号以及所属居委会,但是属性表中并未显示各顶点坐标。


图 6顶点图层属性表


接下来为各顶点计算其经纬度。单击属性表左上角的Table Options,选择Add Field,为顶点分别添加字段经度和纬度,Type选择为“Double”,得到结果如图8所示。


图 7添加字段



图 8在属性表中添加“经度”与“纬度”字段


右键点击“经度”,在弹出菜单中选择“Calculate Geometry”,在Property处选择X Coordinate of Point,坐标选择CGS: WGS 1984,单位选择Decimal Degrees,确定后计算各点的经度。右键点击“纬度”进行相同操作,只需在Property处改为选择Y Coordinateof Point,即可得到各点的纬度。


图 9“Calculate Geometry”



图 10“Calculate Geometry”界面



图 11计算出的各点经纬度


得出各点经纬度后输出该属性表以便下一步编辑。单击属性表左上角Table Options,选择Export,输出文件选择为文本文件Text File,即可得到一份可编辑的表格。


图 12输出属性表



图 13文件保存为文本文件
(未完待续)