APP下载

基于安卓手机的地理国情普查数据采集方法与应用

2016-09-23崔健张再侠周磊张子民

山东建筑大学学报 2016年3期
关键词:国情外业安卓

崔健,张再侠,周磊,张子民

(1.山东建筑大学 测绘地理信息学院,山东 济南 250101; 2.济南市房产测绘研究院,山东 济南 250001;3.济南市勘察测绘研究院,山东 济南 250101)



基于安卓手机的地理国情普查数据采集方法与应用

崔健1,张再侠2,周磊3,张子民1

(1.山东建筑大学 测绘地理信息学院,山东 济南 250101; 2.济南市房产测绘研究院,山东 济南 250001;3.济南市勘察测绘研究院,山东 济南 250101)

地理国情普查是我国重要的国情国力调查,科学合理的数据采集方法是高效、快速进行地理国情普查工作的前提和基础,而基于安卓手机平台的地理国情普查数据采集方法研究与应用是弥补传统方法的不足、提高地理国情普查中影像现势性和工作效率等问题工的有效途径。文章基于安卓手机平台,通过安卓系统开放的二次开发技术,结合面向对象的C#语言和EPS软件的脚本编辑功能,经过多次开发试验,提出了基于安卓手机的数据采集方法, 开发了地理国情普查数据采集移动终端系统和配套的内业数据采集系统,为济南市地理国情普查工作提供了重要的参考数据,并通过该方法在济南市地理国情普查工作中进行了应用分析,验证了该方法的实用性和可行性。

地理国情普查;数据采集;安卓手机;EPS

0 引言

我国开展的地理国情普查工作是一项崭新的、首次全国性的地理信息普查,是我国重要的国情国力调查,面临着诸多挑战,技术方案与方法还不完善,与地理国情普查数据采集标准与要求、采集流程与方法等有关的方面尚缺乏可以借鉴的成熟经验。因此,在普查过程中就难免会遇到各种各样的问题,工作效率也受到一定的制约,如何寻找更好的数据采集方法来协助此项工作,是高效、快速进行普查工作的迫切需要。而基于安卓手机的数据采集方法的提出与应用是解决地理国情普查中影像现势性差及工作效率低等问题的重要途径。

近年来,国内开展普查工作的单位、公司和企业借鉴国外和国内关于地理国情监测的经验和技术,在地理国情普查工作中从不同的方向进行了探索研究[1-4]。有研究者基于QPAD移动终端,研究了地理国情普查信息采集中所涉及的移动GIS技术,并设计了地理国情普查信息采集系统的架构以及各个功能模块[5];汤育红等结合宁夏地区地理国情普查试点工作的技术方法,详细叙述了国情普查试点工作中地表覆盖分类与地理国情要素信息的提取方法,并对生产工作的技术方法进行了探讨和总结[6];李英利等研究了地理国情普查项目地表覆盖林地分类中乔木林、灌木林、乔灌混合林、绿化林地、疏林、人工幼林及稀疏灌丛等林地信息的人工解译方法与技巧,通过遥感影像纹理特征的判别为以后同类地表覆盖分类的解译判读提供了参考[7];张丹等采用遥感自动解译和技术人员采集相结合的方法,借助自主开发的地表覆盖分类数据构面工具,进行了地表覆盖分类数据采集[8];吴满意、汪铁华等主要研究了提高外业核查工作效率的数码调绘系统,研究并设计了满足地理国情普查外业核查需求的功能模块[9-10]。上述相关专家学者都对普查过程中的生产技术方法进行了研究,侧重点各不相同。

文章为了弥补传统方法的不足,提高工作效率,针对遥感影像的清晰度低和现势性差、内业数据采集人员经验不足、数据质量差、效率低等问题,提出了在地表覆盖分类采集和外业核查中采用基于安卓手机的地理国情普查数据采集方法,即基于安卓手机平台采集的数据为基础,通过安卓系统开放的二次开发技术,结合面向对象的C#语言和EPS软件的脚本编辑功能,经过多次开发试验,提出了基于安卓手机的数据采集方法, 经过编写程序及数据处理,制作了能在EPS (Electronic Plane System)软件中可视化的.edb格式的成果数据,开发了地理国情普查数据采集移动终端系统和配套的内业数据采集系统。

1 基于安卓手机的地理国情普查数据采集方法

地理国情普查是一项全新的、长期的普查项目,在地理国情普查过程中,利用现有技术方法进行工作的同时,还需不断创新、探索、研发新的技术方法,来提高普查工作的效率及保证普查工作的质量。文章根据普查工作过程中的要求特点,考虑到成本控制,从日常生活中的资源条件入手,综合利用各种软硬件资源,研究提出了基于安卓手机的地理国情普查数据采集方法,文章方法的技术流程如图1所示。

图1 技术流程图

1.1基于安卓手机的照片数据采集软件

文章方法需要采集的是照片数据,采集此类数据的工具方法很多,经过综合对比研究分析发现,生活中随处可见的安卓智能手机成为此次照片采集的最佳选择。Android是基于Linux的操作系统,它是一种自由及开放源代码的系统,结合智能手机的特点以及照片采集的要求,可以在安卓系统中研发出符合要求的照片数据采集软件。

在安卓系统中进行二次开发,研究开发出了基于安卓手机的照片数据采集软件平台,该软件平台能实现手机定位拍照(或连拍)等功能,采集的照片数据具有GPS坐标数据信息,有利于记录作业区域的真实情况,同时有效辅助了内业数据采集工作。手机照片数据采集软件平台界面如图2所示。

图2 手机照片数据采集软件平台图

1.2线路规划

在进行外业数据采集前,要充分了解采集区域内人文自然地理状况,在规划外业调查路线时,首先要考虑内业分类采集工作中无法准确确定的疑问图斑与要素,其次还要考虑内业分类采集时使用的源数据的时相特征、内业技术人员在判读过程中提出的反馈意见等。除此之外,行驶的路线应尽量能覆盖到更多的地物信息,且要避免路线重复。

数据采集路线的规划应该能够全面反映出工作区内的各类地表覆盖特征及地理要素的分布特征。由于野外工作受地理环境、自然条件以及人力等诸多因素的条件限制,数据采集根据工作区域的交通情况进行路线设计,在保证安全的前提下,合理规划路线,并且能反映出工作区域内具有代表性和典型性的地理国情要素和地表覆盖分类图斑[11]。

1.3外业采集数据

把装有文章研发的拍照软件的手机固定在汽车上,左右各固定一个,能够同时采集行驶路线左右两边的地物照片数据,根据规划好的行驶路线,以合理的行驶速度来进行数据采集,采集的照片属性信息中包括GPS经纬度信息,如图3所示。

在采集过程中应注意以下三个问题:

(1) 安卓手机的存储问题,存储卡满盘前,及时更换存储卡;

(2) 安卓手机的电量问题,准备好备用电库、数据线等,及时充电;

(3) 采集过程中尽量不要在某一位置停留,以减少重复数据的处理。

图3 照片GPS经纬度信息图

1.4提取GPS坐标数据及对应的照片名

内业工作中,先对外业采集的数据进行检查整理,然后提取照片名及其包含的坐标数据信息。为了提高工作效率,通过编程批量提取照片对应的GPS坐标数据十分重要。

文章通过C#开发语言编写了数据采集工具v2.0程序,其界面如图4所示,执行该数据采集工具程序,批量提取安卓手机照片数据采集软件采集的照片数据的GPS经纬度信息及对应的照片名,同时生成样本文件EXCEL表(.xlsx),该样本文件中包括PHID、 FILE、 PHTM、 LONG、 LAT、DOP、ALT、MMODE、SAT、AZIM、AZIMR、AZIMP、DIST、TILT、ROLL、CC、REMARK、CREATOR、FOCAL字段,其中FILE字段对应照片名,LONG、LAT字段分别对应照片数据坐标信息中的经度和纬度信息。

程序主要代码如下:

(1) 读取照片中GPS坐标的经度信息,并转换成度表示为

var d = BitConverter.ToUInt32(p.Value, 0) * 1.0d / BitConverter.ToUInt32(p.Value, 4);

var m = BitConverter.ToUInt32(p.Value, 8) * 1.0d / BitConverter.ToUInt32(p.Value, 12);

var s = BitConverter.ToUInt32(p.Value, 16) * 1.0d / BitConverter.ToUInt32(p.Value, 20);

var pDecimal = ((s / 60 + m) / 60) + d;

gpsData.long = pDecimal;

图4 数据采集工具界面图

(2) 读取照片中GPS坐标的纬度信息,并转换成度表示为

var d = BitConverter.ToUInt32(p.Value, 0) * 1.0d / BitConverter.ToUInt32(p.Value, 4);

var m = BitConverter.ToUInt32(p.Value, 8) * 1.0d / BitConverter.ToUInt32(p.Value, 12);

var s = BitConverter.ToUInt32(p.Value, 16) * 1.0d / BitConverter.ToUInt32(p.Value, 20);

var pDecimal = ((s / 60 + m) / 60) + d;

gpsData.lat = pDecimal;

(3) 如果选择的图片文件夹路径和EXCEL文件存储路径无效,则会弹出提示框为

if (picPath == string.Empty || !new DirectoryInfo(picPath).Exists)

{

MessageBox.Show("请选择有效的图片文件夹路径!");

return;

}

if (excelPath == string.Empty || !new DirectoryInfo(picPath).Exists)

{

MessageBox.Show("请选择有效的excel文件存储路径!");

return;

}

(4) 根据要求构建样本数据EXCEL表格为

var sheetTitles = new string[] { "PHID", "FILE", "PHTM", "LONG", "LAT",

"DOP", "ALT", "MMODE", "SAT", "AZIM",

"AZIMR", "AZIMP", "DIST", "TILT", "ROLL",

"CC", "REMARK", "CREATOR", "FOCAL" };

var sheetIDs = new string[] { "A1", "B1", "C1", "D1", "E1", "F1", "G1", "H1", "I1", "J1",

"K1", "L1", "M1", "N1", "O1", "P1", "Q1", "R1", "S1" };

var excelApp = new ExcelApplication() { Visible = false };

excelApp.Workbooks.Add();

var sheet = excelApp.ActiveSheet as Worksheet;

for (var i = 0; i < sheetIDs.Length; i++)

{

sheet.get_Range(sheetIDs[i], Type.Missing).Value2 = sheetTitles[i];

label_msg.Text = "正在构建excel表结构...";

}

(5) 读取照片的名字,并把读取的照片名字和坐标数据分别赋给"FILE","LONG","LAT"字段。

filePath = String.Format(@"{0}、{1}", picPath, fileInfos[j].Name);

var gpsData = FindExifinfo(filePath);

var name = "B" + (j + 2);

var lang = "D" + (j + 2);

var lat = "E" + (j + 2);

sheet.get_Range(name, Type.Missing).Value2 = fileInfos[j].Name;

sheet.get_Range(lang, Type.Missing).Value2 = gpsData.lang;

sheet.get_Range(lat, Type.Missing).Value2 = gpsData.lat;

progressBar.PerformStep();

1.5在EPS软件中导入样本点数据

经过前面几个步骤之后,就得到了照片数据与样本文件数据,这两部分数据是在EPS软件中进行处理之前得到基础数据,在导入数据前需要在EPS软件中修改模版,添加所需的特征编码和符号描述。修改模版完成后,在EPS软件中编写脚本程序导入样本点,制作成果数据。

EPS软件具有信息化的全新架构,其采用面向对象技术,以大型数据库为核心,构建图形与属性关联共存框架,融合CAD技术与GIS技术,实现数据生产信息化,通过ARCSDE,实现生产数据入库。任何 EPS数据都是以模板为基础的。模板决定数据的基本结构和相关参数设置,例如图形的分层、编码、颜色、注记分类、符号式样以及比例尺等设置。EPS脚本语言支持用户在软件中进行二次开发,并且遵循VBScript语言标准,能够在EPS 软件平台中完成数据处理、数据检查及数据转换等任务[12-16]。

在EPS软件中使用VBScript语言编写样本点导入脚本程序。打开EPS软件,新建工程文件,单击工具→脚本管理器,打开脚本管理器窗口,在脚本管理器的左侧新建文件夹,命名为数据处理,在数据处理文件夹上右击选择新建有模脚本,命名为样本点导入,并开始编写脚本程序。

该脚本程序的主要步骤及代码:

(1) 在EPS软件中先建立一个样本层,并设置其扩展属性;

SSProcess.SetNewObjValue "SSObj_LayerName", "PHOTO样本层"

For i_attr = 0 to fieldcount - 1

AttrName =arfields(i_attr)

AttrValu =arValues(i_attr)

SSProcess.SetNewObjValue "["& AttrName &"]", AttrValu

Next

(2) 导入样本文件EXCEL表中的信息,主要用到方法函数ImportExcelPHOTO(),其参数包括:选择的文件,中央子午线。

Function ImportExcelPHOTO(fileName,CentralMeridian);

分解选中的文件,执行导入:

ssfunc.scanstring fileName, ",", ExcelfileNames, nFileCount

for nFile=0 to nFileCount-1

strFile = ExcelfileNames(nFile) : strSheet = "Sheet1"

SSFunc.ExcelOpen strFile, strSheet

nTotal = SSFunc.ExcelGetTotalRow()

if nTotal >0 then

ReDim arExcelRec(nTotal):ReDim arPositionRec(nTotal)

SSFunc.ExcelGetRecord EXcelColName,"^",arExcelRec, nExcelRecCount

SSFunc.ExcelGetRecord EXcelPosName,"^",arPositionRec, nPositionRecCount

(3) 把获取的坐标(pX,pY)转换成2000国家大地坐标系(CGCS2000)下的坐标(x0, y0):

SSProcess.LongiLatiToxyCGCS2000 CentralMeridian, pY, pX, x0, y0

(4) 根据坐标(x0,y0)添加点,并保存到数据列表:

SSProcess.AddNewObjPoint x0, y0, 0, 0, ""

SSProcess.AddNewObjToSaveObjList

(5) 保存库列表对象到数据库,即

SSProcess.SaveBufferObjToDatabase

执行该脚本程序,把2.4中生成的样本文件EXCEL表导入到EPS中,然后把照片数据和EDB工程文件放在同一目录下(照片数据的文件夹命名为PHOTO→SMPDATA)就可以在EPS中查看每个点对应的照片数据,成果展示如图5所示。

图5 成果展示图

2 基于安卓手机的地理国情普查数据采集的应用案例

在地理国情普查过程中,以传统技术方法开展工作的同时,也需要注入新的创新性的技术方法,来提高普查工作的效率以及保证普查工作的质量。文章以济南市地理国情普查为基础,研究提出了基于安卓手机的地理国情普查数据采集方法,并将该方法在济南市地理国情普查过程中进行了应用。

以济南市地理国情普查为基础,在影像使用方面以山东省普查办提供的济南市正射影像为底图进行国情普查,按照济南市地理国情普查内容与指标要求,开展对地表覆盖分类以及地理要素实体属性的提取[16],在外业调查核查及质量检查完成后,最后进行数据整理,将地表覆盖分类数据制作成数据集。在地表覆盖分类采集和外业调查核查工作中应用基于安卓手机的地理国情普查数据采集方法。

首先要把.tif格式的影像数据转为EPS软件所使用的.emg格式的数据,将.emg影像数据导入EPS中,进行地表覆盖采集工作。在进行采集工作前,先利用文章所提出的方法采集制作辅助数据(如图6~8所示),再根据济南市地理国情普查的内容和要求,并且参考采集制作的辅助数据进行人工勾画判读解译,采集济南市地表覆盖的分类数据。

然后进行外业调查核查,依照调查核查的成果数据对地表覆盖的分类数据层(LCA)加以修改编辑,最后形成地表覆盖的分类数据成果,如图9所示。

图6 提取坐标及照片名图

图7 样本文件数据图

图8 应用成果图

图9 济南市地理国情普查部分数据成果图

3 基于安卓手机的地理国情普查数据采集方法的应用成果分析效果

(1) 在地表覆盖分类采集中的应用效果

在济南市地理国情普查地表覆盖分类采集过程中,应用文章提出的数据采集方法,帮助内业作业人员有效解决了由于遥感影像的现势性差和清晰度低给内业判读带来的困难和由于内业作业人员缺少野外调绘经验而造成的地类判析时间过长、准确率低两个问题,这样一幅图的分类采集时间缩短了1/3,大大提高了工作效率及准确度,减少了外业核查的工作量,进而提高了普查工作的进展。

(2) 在外业核查中的应用效果

外业调查与核查是确保国情普查数据正确性的重要工作,传统的外业核查方式一般采用骑电瓶车或助力车,手持电子平板和纸质地图进行核查;在济南市地理国情普查外业核查中采用基于安卓手机的地理国情普查数据采集方法,实现了数据快速采集和匹配,有效弥补了传统方法的不足,提高了工作效率。两种方式的对比见表1。

表1    传统方法与基于安卓手机的地理国情普查

4 结语

地理国情普查是一项崭新的工作,在普查过程中需要拓宽思路,不断创新。文章以安卓手机为平台,利用二次开发技术,通过C#语言编写坐标数据提取程序,结合EPS软件的脚本编辑功能,经过反复的研究开发试验,提出了一套完整的数据采集方法。将文章方法应用在济南市地理国情普查工作中,弥补了传统方法的不足,大大提高了工作效率,为地理国情普查工作如期完成提供了技术支持,同时为下一步的国情监测打下了坚实的基础。

[1]庞德谦,周旗.论地理国情分析[J].陕西师范大学学报:哲学社会科学版,1990(4):3-38.

[2]戴锡花.安徽省地理国情普查管理问题研究[D].合肥:安徽大学,2014.

[3]乔朝飞.国外地理国情监测概况与启示[J].测绘通报,2011,22(11):81-83.

[3]乔朝飞.国外地理国情监测概况与启示[J].测绘通报,2011,22(11):81-83.

[4]白中洁.地理国情(市情)普查外业信息采集[J].测绘与空间地理信息,2014,37(6):159-161.

[5]张春泉,唐记城.基于QPAD的移动GIS在地理国情普查信息采集中的应用研究[J].现代测绘,2013,36(6):48-49.

[6]汤育红.地理国情普查地表覆盖与国情要素信息的提取方法探讨[J].测绘与空间地理信息,2013,36(12):89-91, 95.

[7]李英利,闫会杰,苟卫涛,等.地理国情普查地表覆盖林地信息人工解译技术方法探讨[J].测绘标准化,2014,30(1):4-6.

[8]张丹,梁飞,刘鹏,等.地理国情地表覆盖分类数据采集方法研究[J].测绘地理信息,2015,40(4):80-82.

[9]吴满意,王占宏,杨新海.地理国情外业核查数码调绘系统的模块设计研究[J].测绘技术装备,2013,15(3):16-18.

[10]汪铁华.地理国情普查外业调绘核查系统设计与实现[J].测绘与空间地理信息,2014,37(6):157-158, 161.

[11]张亮.数字调查系统在地理国情普查中的应用[D].长春:吉林大学,2014.

[12]杨吉明,张坤,郭雷,等.EPS2008地理信息工作站数据交换在生产中的应用[J].城市勘测,2014(4):77-80.

[13]付海波,王磊.基于EPS脚本语言VBScript的二次开发研究[J].大众科技,2010(7):20-21, 16.

[14]徐中华,刘万华,余成江.清华山维一体化软件EPS脚本语言的应用[J].城市勘测,2007(6):88-90.

[15]李立军,余永欣,张科伟.基于EPS平台的电子平板采集系统的开发应用[J].测绘通报,2012(3):89-91.

[16]刘蓉国.地理国情普查数据采集要求研究[J].中华民居,2014(12):84-85.

(学科责编:李雪蕾)

Data collection method and application of census of national geographical conditions based on android mobile phone

Cui Jian1, Zhang Zaixia2, Zhou Lei3,etal.

(1. School of Suwering & Geographic Information, Shandong Jianzhu University, Jinan 250101, China; 2. Jinan Real Estate Surveying and Mapping Research Institute, Jinan 250001, China; 3. Jinan Creotechnical Invetigation and Surveying Research Institute, Jinan 250101, China)

The census of national geographical conditions is an important national conditions and strength research in our country, and the data collection method proposed based on android mobile phone has important significance to solve the problems of the poor timeliness of image and the low efficiency of census work of the census of national geographical conditions. The article based on Android mobile phone platform, through the open secondary development technology of android system, combining the object-oriented C# language with script editing function of EPS software, after many times of development experiments, proposed the data collection method based on android mobile phone. The application analysis of the census of national geographical conditions work of Jinan city proves that this method is practical and feasible to solve the problems and ensure the quality of the work.

census of national geographical conditions; data collection; android mobile phone; electronic plane system

2016-04-05

崔健(1964-),女,教授,硕士,主要从事测绘数据处理及GIS在城市建设中的应用等方面的研究.E-mail:cjian122@126.com

1673-7644(2016)03-0224-07

P208

A

猜你喜欢

国情外业安卓
iPhone不卡的秘密曝光:安卓也能享受
基于移动 GIS 的公路工程外业调查系统研究
家国情 诗词魂
文物表情包
基于市政管线外业采集命名规则和辅助软件开发
天津市第一次全国地理国情普查外业调绘核查
推广生物乙醇汽油:迫切且合乎国情
一种基于安卓系统的手机侧抓包分析方法
公路外业测量中GPS RTK测量技术的应用探究
地理国情监测知识支持库初步设计