最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

DOM精度检查输出系统程序设计

IT圈 admin 48浏览 0评论

2024年3月30日发(作者:敛文赋)

44

卷第

1

2021

1

测绘与空间地理信息

GEOMATICS

&

SPATIAL

INFORMATION

TECHNOLOGY

Vol.44

No.1

Jan.

2021

DOM

精度检查输出系统程序设计

张德鑫

张玉平

吉林省航测遥感院

吉林长春

130051

DOM

生产执行两级检查一级验收制度

DOM

平面位置精度进行检查是数据质量检查的重要过程

。在

检查过程中需要对

DOM

成果精度进行评定

而这一过程重复工作量大,

耗费的时间较长

本文主要研究

DOM

精度评定工作的流程

成果评分的原则

ArcdS

Addin

开发技术及如何利用开源组件生成报表技术

并且结合使

用上述技术编写精度检查程序

在实际项目中对程序进行测试

实验证明

DOM

精度检查程序可以提高平面精

度评定检查效率

生成的报表数据准确

编写的软件可以用于实际生产并推广使用

关键词

DOM

精度评定

ArcdS

Addin

c#

NPOI

中图分类号

:

P209

文献标识码

A

文章编号

1672-5867

2021

01-0185-04

Program

Design

of

DOM

Precision

Inspection

Output

System

ZHANG

Dexin,

ZHANG

Yuping

(

Aerial

Remote

Sensing

Institute

of

Jilin

Province

,

Changchun

130051

,

China

)

Abstract

:DOM

production

implements

two-level

inspection

and

one-level

acceptance

system,

checking

the

position

accuracy

of

DOM

is

an

important

process

in

data

quality

inspection.

In

the

process

of

inspection,

it

is

necessary

to

evaluate

the

accuracy

of

DOM

results.

This

process

need

a

lot

of

work

and

it

takes

a

long

time.

In

this

paper,

we

studied

the

flow

of

DOM

precision

evaluation,

the

principle

of

scoring

results

we

studied

ArcGIS

Addin

development

technology

and

how

to

use

open

source

components

to

generate

reports

we

studied

how

to

using

these

techniques

to

write

a

accuracy

check

program.

Tested

the

program

in

the

actual

project,the

experimental

re

­

sults

show

that

the

DOM

accuracy

inspection

program

can

improve

the

efficiency

of

plane

accuracy

evaluation

and

inspection,

the

gen

­

erated

report

data

is

accurate,

and

the

software

products

can

be

used

in

practical

production

and

promotion.

Key

words

:

DOM

accuracy

evaluation

ArcGIS

Addin

c#

NPOI

0

ArcGIS

Addin

开发技术已经逐步应用于测绘行业

定报表的方法

2

研究样本检查评分标准及计算方法

3

ArcGIS

Addin

开发流程方法

AO

开发组件的学习

些程序开发人员应用其技术开发了大量的插件程序

NPOI

是一款开源组件

该组件小巧

功能齐全

使用方

与研究

4

开源组件

NPOI

的学习与研究

便

,

可以在不安装

Office

的情况下自由读写

编辑Excel

目前已经得到了广大软件开发人员的认可

本文研

5

开发出一套

DOM

精度检查输出系统

ArcGIS

Addin

开发技术并将开源组件技术应用于

DOM

2

数据库设计

2

.

1

建立控制点库

首先建立

GDB

数据库

新建检查点数据集

在本实验

中选择

CGCS2000_3_Degree_GK_CM_126E

作为数据集

的平面坐标系统

精度检查程序的开发中

编写的程序解决了工作人员检

查效率不高的问题

简化了质量评定过程

。希望这种程

序开发方式可以对读者起到启发与示范作用

1

研究内容

1

研究

DOM

纠正精度评定工作的流程

生成精度评

收稿日期

2019-08-26

2

.

2

字段设计

字段表见表

1

作者简介

:

张德鑫

1981

-

黑龙江兰西人

高级工程师

硕士

,2015

年毕业于武汉大学测绘工程专业

主要从事遥感与地理信息

系统应用开发工作

186

测绘与空间地理信息

2021

1

字段表

Tab

1

Field

table

字段名称

类型

长度

备注

点号文本

50

类型

文本

50

位置

文本

50

X

双精度

第一个点横坐标

Y

双精度

第一个点纵坐标

XX

双精度

第二个点横坐标

YY

双精度

第二个点纵坐标

BZ1

存放两点距离的平方

BZ2

存放两点距离

2

.

3

属性域设计

类型属性域表见表

2,

位置属性域表见表

3o

2

类型属性域表

Tab

2

Type

attribute

名称

代码备注

DOM

1

DLG

2

3

位置属性域表

Tab・

3

Location

attribute

名称

代码备注

房角

1

道路交叉口

2

墙角

3

其他

4

3

程序设计

3

.

1

程序设计总体思路

程序采用

ArcG1S

Addin

插件开发技术

开发工具为

VS2010

语言为

C#,ArcG1S

软件版本为

10.2,

工作流程为

1

用户在地图上输入两个点,

第一个点为

DOM

上位

第二个点为外业检查点或矢量图上采集的检查点

2

在用户输入的过程中

,程序根据用户输入的顺序

,

在点的属性里录入属性以区分哪个是

DOM

上的位置

个是检查点的位置

3

用户每次要输入两个点作为一组点对

程序在用

户输入时

,

将这两个点的点号设置为相同的值

并且点号

递增。

4

计算每个点的

XY

坐标

,

存放在属性字段中

;

计算

每一组点对的两点距离

方差

,然后将数据存放在第一个

点的属性字段中

5

COPY

模版文件

,

改文件名为图名

.xls,

应用开源组

NPO1

将计算的结果输出到

EXCEL

表格中

在输出结

果的同时

根据方差

检查点数量等数据计算该幅图的得

分情况

,

评定分数

=

60+

N

-

n

x

40

/

0.7x

N

其中

N

=5

许中误差

n

中误差

3

.

2

软件功能设计

1)

用户输入点对

在输入的同时录入点号

2

用户编辑点对属性

即用户选择的点是什么类别

的,如房角

道路交叉口

墙角

3

计算点坐标

:

算出所有用户输入点的坐标

4

计算同名点坐标

:

利用相同的点号

,配对两个点

将第二个点的坐标存储到第一个点的属性字段中

5

计算误差与方差

利用两天距离公式计算两点

距离

6

捕捉功能

:

在用户选择检查点的时候

捕捉矢量的

节点

7

打开模版

:

预先做好精度检测模版文件

,

根据项目

不同选择不同的模版

8

导出检查信息

当误差超限的时候

将超限的位置

及图幅号列出并输出为文本文件

9

报表输出

:

输出报表

文件格式为

*

.xlSo

3

.

3

难点问题

在输出表格的程序编写过程中

因为操作系统拷贝

模版文件需要时间

System.

在发出拷贝指

令后程序就继续向下运行

当程序需要操作

EXCEL

,

件拷贝还没有完成

会造成程序出错

经过资料查询及

试验

应用

FileStream

类,采用流的方式拷贝文件可以解

决这一问题

另外一个需要注意

:

每次用户输入点之前

都要对之

前存在的点要素按点号大小进行排序

找到当前数据中

最大的点号

然后点号加一作为用户新输入数据的点号

具体内容见本文

4.1o

3

.

4

软件界面设计

软件界面如图

1

所示

加载厨层

G:w201

0

GF2669P

清除屏幕

选取评定点对

Q

G:w2017CheckDOMai

融碍

匸叼

取消命令

1+

算与输出

1

:1085

距离

:0

开启捕捉

捕捉距

|10

接边检査子

1

软件界面

Fig

1

Soft

face

3

.

5

软件功能设计

1

输入

检查点对

检查点对如图

2

所示

功能说明

:

用户在

DOM

的房角用鼠标点一下

然后

在矢量数据的房角点一下,最后手工选取这一对点的位

软件会自动计算点号

类别

形成

检查点对

数据

1

张德鑫等

:

DOM

精度检查输出系统程序设计

187

如图

3

所示

2

检查点对图

Fig

2

Double

check

point

3

属性表

Fig

3

Attribute

table

2)

输出报表

在输出报表前先执行

计算

XY

坐标

主要是将

查点对

的坐标存储在属性字段中

计算同名点坐标

是将

检查点对

中类别为

DLG

的点坐标存储到类别为

dom

的点中

,

存放字段为

XX

YY

计算误差与

方差

功能是用两点距离公式将两个点号相同点

(

同名

)

的距离存放到

BZ1

将两点距离的平方存放到

BZ2

3)

报表成果

报表成果如图

4

所示

产品检查记录

产品名称

数字正射影像数据成果

生产单位

吉林省航测遥感院

检查项

数字正射影像平面位置精度检査

检測方式

比较

检测精度

高精度

序号点位

图上坐标

(a)

检测坐标

g)

较差

东坐标

北坐标东坐标北坐标

(

B

)

房角

H^353

4BMMB483

1.38

1.89

2

房角

•MB.

437

4BMW768

1.54

2.

36

"UC1

>IOnOA1

O

fiOA

"UC1

A

CCF

JIOCOC1C

UOU

4

报表成果图

Fig

4

Export

result

4

程序部分源码

4

.

1

自动计算当前检查点对的点号

这个功能是在用户输入

检查点对

的时候完成的。

用户在影像上选择一个点的时候

,

程序重新读取已经录

入的检查点

,

并对点号进行排序

,

找出点号的最大值

M,

然后用

M+1

作为当前用户输入

检查点对

的点号

IFeatureClass

pFeatureClass

=

CheckDomGlobal

.

pPointF

eatureLayer.

F

eatureClass

//

定义一个要素类的全局

变量

IFeatureClassWrite

fr

=

(

IFeatureClassWrite

)

pFeature

­

Class

;//定义一个实现新增要素的接口实例

,

并将该实例

作用于当前图层的要素集

IWorkspaceEdit

w

=

(pFeatureClass

asIDataset

)

.Work

­

space

asIWorkspaceEdit

;//

定义一个工作编辑工作空间

用于开启前图层的编辑状态

int

nIndex

=

pFeatureClass.

Fields.

FindField

("

"

)

int

nNumIndex

=

pFeatureClass.

Fields.

FindField

(

"

"

)

IFeatureCursor

pFeatureCursor

=

pFeatureClass.

Search

(

null

,

false

)

IFeature

pFeaturelist

=

pFeatureCursor.

NextFeature

()

ArrayList

plist

=

newArrayList

()

int

intLastNum

=

0

if

(

pFeaturelist

=

=

null

)

{

intLastNum

=

0

else

while

(

pFeaturelist

!

=

null

)

{

string

strNum

=

pFeaturelist.

get

_

Value

(

nNumIndex

).

ToString(

)

int

intNum

=

int

.Parse(

strNum)

(

intNum)

pFeaturelist

=

ature(

)

(

)

string

strLastNum

=

plist[

-

1].ToString()

intLastNum

=

int

.Parse

(

strLastNum)

CheckDomGlobal

.

intCurrentNumber

=

(

intLastNum

+

1)

.ToString(

)

diting(

true

)

//

开启编辑状态

ditOperation

(

)

//

开启编辑操作

IFeature

pFeature

IGeometry

pGeometry

if

(

CheckDomGlobal

.Snap)

{

pGeometry

=

pPoint2

else

{

pGeometry

=

pt

}

pFeature

=

pFeatureClass.

CreateFeature

(

)

//

实例化

IFeature

对象

,

这样

IFeature

对象就具有当前图层上要素

的字段信息

=

pGeometry

//

设置

Feature

对象的

形状属性

_Value(nIndex,

"

1"

)

//

设置

Feature

类别

字段值为

1

_Value

(

nNumIndex

,

CheckDomGlobal

.int-

188

测绘与空间地理信息

2021

CurrentNumber)

(

)

//

保存[

Feature

对象

fr.

WriteFeature

(

pFeature

);//将

1Feature

对象

添加到

当前图层上

itOperation

(

)

//

停止编辑操作

iting(

true

)

//

关闭编辑状态

并保存修改

4

.

2

自动评分及保存电子表格文档

自动评分公式

评定分数

=

60+(

N

n

)

x40

/

0.

7x

No

其中

N

=5(

允许中误差

)

n

:

中误差

double

dboZhongW

uCha

=

Convert

.

ToDouble

(

strALL

)

double

dboResult

=

60

+

((5

dboZhongWuCha

)

*

40)

/

(0.7

*

5)

if

(dboResult

100)

iResult

=

"

100";

else

iResult

=

ng(

"

#.#")

if

(dboResult

75

&&

dboResult<

=

89)

strTemp

="

"

elseif

(dboResult

90)

strTemp

="

"

elseif

(

dboResult<

=

74

&&dboResult〉

=

60)

strTemp

="

合格

"

else

strTemp

="

"

CopyFile(

strAppPath,

filename,

1024

*

1024

*

5)

//

自定义的函数

用于单线程拷贝模版文件

strApp-

Path

:

模版文件路径

;

filename

:

目标路径

HSSFWorkbook

workbook

//

引用

NPO1

的类库

定义

一个电子表格文档变量

FileStream

file

=

newFileStream

(

fileN

ame

,

FileMode

.

Open

,

FileAccess

.

Read

)

workbook

=

newHSSFWorkbook

(file)

HSSFSheet

sheet

=

et("

精度检测

"

)

asHSSFSheet

//

得到电子表格对象

1Cell

cellTemp39

_

12

=

sheet.

GetRow

(39).

GetCell

;

(12)

cellTemp39_lValue(

strTemp

)

//

把成绩写入

的电子表格中

cellTemp39_12

=

null

关闭并保存文档

(

)

FileStream

writefile

=

newFileStream

(

fileN

ame,

FileM

­

ode

.Create

,

FileAccess

.Write)

workbook.

Write(

writefile)

(

)

5

工作效率比较分析

在没使用该软件之前

检查人员为了制作精度评定

表格

常需要两个人配合作业

工作方法如下

一个人用

光标在屏幕上选点

然后读数

;

第二个人用另一台电脑打

Excel

将听到的数据录入表格中

然后在

Excel

中编写

公式进行计算

这种工作方式

两个人评定一幅图大约

需要30

min,

应用该软件后

,

一个人10

min

就可以完成一

幅图,工作效率提高

6

倍以上

6

结束语

利用

ArcMap

进行影像数据的平面精度检查是方便

可行的

既可以开发插件工具解决工作中的实际问题

可以将其他开源组件整合到程序的开发过程中

降低开

发成本和软件使用成本

经过实际项目的验证

使用上

述技术开发软件切实可行

工作效率较高

相信不久的

将来

这种开发模式将得到广大用户的认可

并广泛

应用

参考文献

[1]

柳锦宝

张子民

张永福

.

组件式

G1S

开发技术与案

例教程

[

M].

北京

清华大学出版社

2010.

[2]

李崇贵

陈峥

丰德恩

.

ArcG1S

Engine

组件式开发及

应用

[M].

北京

科学出版社

,2012.

[3]

赵克会

田永中

,

王瑞青

.

基于

ArcG1S

建库效率和精

度研究

一一

以县级土地利用数据库建设为例

[J].

中国

农学通报

,

2009,

25(6)

:

257-260.

[4]

刘仁义

刘南

.ArcG1S

开发宝典

一一

从入门到精通

[

M].

北京

:

科学出版社

,

2006.

[5]

吴秀芹

张洪岩

,

李瑞改

.ArcG1S

9

地理信息系统应

用与实践

[

M].

北京

:

清华大学出版社

,2007.

[6]

胡鹏

黄杏元

,

华一新

.

地理信息系统教程

[

M].

武汉

:

汉大学出版社

,2002.

[7]

邢超

李斌

.ArcG1S

学习指南

ArcToolbox[M].

北京

科学出版社

,2010.

[8]

田庆

陈美阳

,

田慧云

.ArcG1S

地理信息系统详解

10.1

[M].

北京

:

北京希望电子出版社

,2014.

[9]

牟乃夏

王海银

李丹

.ArcG1S

Engine

地理信息系统

开发教程[町

.

北京

:

测绘出版社

,2015.

[

编辑

:

张曦

]

2024年3月30日发(作者:敛文赋)

44

卷第

1

2021

1

测绘与空间地理信息

GEOMATICS

&

SPATIAL

INFORMATION

TECHNOLOGY

Vol.44

No.1

Jan.

2021

DOM

精度检查输出系统程序设计

张德鑫

张玉平

吉林省航测遥感院

吉林长春

130051

DOM

生产执行两级检查一级验收制度

DOM

平面位置精度进行检查是数据质量检查的重要过程

。在

检查过程中需要对

DOM

成果精度进行评定

而这一过程重复工作量大,

耗费的时间较长

本文主要研究

DOM

精度评定工作的流程

成果评分的原则

ArcdS

Addin

开发技术及如何利用开源组件生成报表技术

并且结合使

用上述技术编写精度检查程序

在实际项目中对程序进行测试

实验证明

DOM

精度检查程序可以提高平面精

度评定检查效率

生成的报表数据准确

编写的软件可以用于实际生产并推广使用

关键词

DOM

精度评定

ArcdS

Addin

c#

NPOI

中图分类号

:

P209

文献标识码

A

文章编号

1672-5867

2021

01-0185-04

Program

Design

of

DOM

Precision

Inspection

Output

System

ZHANG

Dexin,

ZHANG

Yuping

(

Aerial

Remote

Sensing

Institute

of

Jilin

Province

,

Changchun

130051

,

China

)

Abstract

:DOM

production

implements

two-level

inspection

and

one-level

acceptance

system,

checking

the

position

accuracy

of

DOM

is

an

important

process

in

data

quality

inspection.

In

the

process

of

inspection,

it

is

necessary

to

evaluate

the

accuracy

of

DOM

results.

This

process

need

a

lot

of

work

and

it

takes

a

long

time.

In

this

paper,

we

studied

the

flow

of

DOM

precision

evaluation,

the

principle

of

scoring

results

we

studied

ArcGIS

Addin

development

technology

and

how

to

use

open

source

components

to

generate

reports

we

studied

how

to

using

these

techniques

to

write

a

accuracy

check

program.

Tested

the

program

in

the

actual

project,the

experimental

re

­

sults

show

that

the

DOM

accuracy

inspection

program

can

improve

the

efficiency

of

plane

accuracy

evaluation

and

inspection,

the

gen

­

erated

report

data

is

accurate,

and

the

software

products

can

be

used

in

practical

production

and

promotion.

Key

words

:

DOM

accuracy

evaluation

ArcGIS

Addin

c#

NPOI

0

ArcGIS

Addin

开发技术已经逐步应用于测绘行业

定报表的方法

2

研究样本检查评分标准及计算方法

3

ArcGIS

Addin

开发流程方法

AO

开发组件的学习

些程序开发人员应用其技术开发了大量的插件程序

NPOI

是一款开源组件

该组件小巧

功能齐全

使用方

与研究

4

开源组件

NPOI

的学习与研究

便

,

可以在不安装

Office

的情况下自由读写

编辑Excel

目前已经得到了广大软件开发人员的认可

本文研

5

开发出一套

DOM

精度检查输出系统

ArcGIS

Addin

开发技术并将开源组件技术应用于

DOM

2

数据库设计

2

.

1

建立控制点库

首先建立

GDB

数据库

新建检查点数据集

在本实验

中选择

CGCS2000_3_Degree_GK_CM_126E

作为数据集

的平面坐标系统

精度检查程序的开发中

编写的程序解决了工作人员检

查效率不高的问题

简化了质量评定过程

。希望这种程

序开发方式可以对读者起到启发与示范作用

1

研究内容

1

研究

DOM

纠正精度评定工作的流程

生成精度评

收稿日期

2019-08-26

2

.

2

字段设计

字段表见表

1

作者简介

:

张德鑫

1981

-

黑龙江兰西人

高级工程师

硕士

,2015

年毕业于武汉大学测绘工程专业

主要从事遥感与地理信息

系统应用开发工作

186

测绘与空间地理信息

2021

1

字段表

Tab

1

Field

table

字段名称

类型

长度

备注

点号文本

50

类型

文本

50

位置

文本

50

X

双精度

第一个点横坐标

Y

双精度

第一个点纵坐标

XX

双精度

第二个点横坐标

YY

双精度

第二个点纵坐标

BZ1

存放两点距离的平方

BZ2

存放两点距离

2

.

3

属性域设计

类型属性域表见表

2,

位置属性域表见表

3o

2

类型属性域表

Tab

2

Type

attribute

名称

代码备注

DOM

1

DLG

2

3

位置属性域表

Tab・

3

Location

attribute

名称

代码备注

房角

1

道路交叉口

2

墙角

3

其他

4

3

程序设计

3

.

1

程序设计总体思路

程序采用

ArcG1S

Addin

插件开发技术

开发工具为

VS2010

语言为

C#,ArcG1S

软件版本为

10.2,

工作流程为

1

用户在地图上输入两个点,

第一个点为

DOM

上位

第二个点为外业检查点或矢量图上采集的检查点

2

在用户输入的过程中

,程序根据用户输入的顺序

,

在点的属性里录入属性以区分哪个是

DOM

上的位置

个是检查点的位置

3

用户每次要输入两个点作为一组点对

程序在用

户输入时

,

将这两个点的点号设置为相同的值

并且点号

递增。

4

计算每个点的

XY

坐标

,

存放在属性字段中

;

计算

每一组点对的两点距离

方差

,然后将数据存放在第一个

点的属性字段中

5

COPY

模版文件

,

改文件名为图名

.xls,

应用开源组

NPO1

将计算的结果输出到

EXCEL

表格中

在输出结

果的同时

根据方差

检查点数量等数据计算该幅图的得

分情况

,

评定分数

=

60+

N

-

n

x

40

/

0.7x

N

其中

N

=5

许中误差

n

中误差

3

.

2

软件功能设计

1)

用户输入点对

在输入的同时录入点号

2

用户编辑点对属性

即用户选择的点是什么类别

的,如房角

道路交叉口

墙角

3

计算点坐标

:

算出所有用户输入点的坐标

4

计算同名点坐标

:

利用相同的点号

,配对两个点

将第二个点的坐标存储到第一个点的属性字段中

5

计算误差与方差

利用两天距离公式计算两点

距离

6

捕捉功能

:

在用户选择检查点的时候

捕捉矢量的

节点

7

打开模版

:

预先做好精度检测模版文件

,

根据项目

不同选择不同的模版

8

导出检查信息

当误差超限的时候

将超限的位置

及图幅号列出并输出为文本文件

9

报表输出

:

输出报表

文件格式为

*

.xlSo

3

.

3

难点问题

在输出表格的程序编写过程中

因为操作系统拷贝

模版文件需要时间

System.

在发出拷贝指

令后程序就继续向下运行

当程序需要操作

EXCEL

,

件拷贝还没有完成

会造成程序出错

经过资料查询及

试验

应用

FileStream

类,采用流的方式拷贝文件可以解

决这一问题

另外一个需要注意

:

每次用户输入点之前

都要对之

前存在的点要素按点号大小进行排序

找到当前数据中

最大的点号

然后点号加一作为用户新输入数据的点号

具体内容见本文

4.1o

3

.

4

软件界面设计

软件界面如图

1

所示

加载厨层

G:w201

0

GF2669P

清除屏幕

选取评定点对

Q

G:w2017CheckDOMai

融碍

匸叼

取消命令

1+

算与输出

1

:1085

距离

:0

开启捕捉

捕捉距

|10

接边检査子

1

软件界面

Fig

1

Soft

face

3

.

5

软件功能设计

1

输入

检查点对

检查点对如图

2

所示

功能说明

:

用户在

DOM

的房角用鼠标点一下

然后

在矢量数据的房角点一下,最后手工选取这一对点的位

软件会自动计算点号

类别

形成

检查点对

数据

1

张德鑫等

:

DOM

精度检查输出系统程序设计

187

如图

3

所示

2

检查点对图

Fig

2

Double

check

point

3

属性表

Fig

3

Attribute

table

2)

输出报表

在输出报表前先执行

计算

XY

坐标

主要是将

查点对

的坐标存储在属性字段中

计算同名点坐标

是将

检查点对

中类别为

DLG

的点坐标存储到类别为

dom

的点中

,

存放字段为

XX

YY

计算误差与

方差

功能是用两点距离公式将两个点号相同点

(

同名

)

的距离存放到

BZ1

将两点距离的平方存放到

BZ2

3)

报表成果

报表成果如图

4

所示

产品检查记录

产品名称

数字正射影像数据成果

生产单位

吉林省航测遥感院

检查项

数字正射影像平面位置精度检査

检測方式

比较

检测精度

高精度

序号点位

图上坐标

(a)

检测坐标

g)

较差

东坐标

北坐标东坐标北坐标

(

B

)

房角

H^353

4BMMB483

1.38

1.89

2

房角

•MB.

437

4BMW768

1.54

2.

36

"UC1

>IOnOA1

O

fiOA

"UC1

A

CCF

JIOCOC1C

UOU

4

报表成果图

Fig

4

Export

result

4

程序部分源码

4

.

1

自动计算当前检查点对的点号

这个功能是在用户输入

检查点对

的时候完成的。

用户在影像上选择一个点的时候

,

程序重新读取已经录

入的检查点

,

并对点号进行排序

,

找出点号的最大值

M,

然后用

M+1

作为当前用户输入

检查点对

的点号

IFeatureClass

pFeatureClass

=

CheckDomGlobal

.

pPointF

eatureLayer.

F

eatureClass

//

定义一个要素类的全局

变量

IFeatureClassWrite

fr

=

(

IFeatureClassWrite

)

pFeature

­

Class

;//定义一个实现新增要素的接口实例

,

并将该实例

作用于当前图层的要素集

IWorkspaceEdit

w

=

(pFeatureClass

asIDataset

)

.Work

­

space

asIWorkspaceEdit

;//

定义一个工作编辑工作空间

用于开启前图层的编辑状态

int

nIndex

=

pFeatureClass.

Fields.

FindField

("

"

)

int

nNumIndex

=

pFeatureClass.

Fields.

FindField

(

"

"

)

IFeatureCursor

pFeatureCursor

=

pFeatureClass.

Search

(

null

,

false

)

IFeature

pFeaturelist

=

pFeatureCursor.

NextFeature

()

ArrayList

plist

=

newArrayList

()

int

intLastNum

=

0

if

(

pFeaturelist

=

=

null

)

{

intLastNum

=

0

else

while

(

pFeaturelist

!

=

null

)

{

string

strNum

=

pFeaturelist.

get

_

Value

(

nNumIndex

).

ToString(

)

int

intNum

=

int

.Parse(

strNum)

(

intNum)

pFeaturelist

=

ature(

)

(

)

string

strLastNum

=

plist[

-

1].ToString()

intLastNum

=

int

.Parse

(

strLastNum)

CheckDomGlobal

.

intCurrentNumber

=

(

intLastNum

+

1)

.ToString(

)

diting(

true

)

//

开启编辑状态

ditOperation

(

)

//

开启编辑操作

IFeature

pFeature

IGeometry

pGeometry

if

(

CheckDomGlobal

.Snap)

{

pGeometry

=

pPoint2

else

{

pGeometry

=

pt

}

pFeature

=

pFeatureClass.

CreateFeature

(

)

//

实例化

IFeature

对象

,

这样

IFeature

对象就具有当前图层上要素

的字段信息

=

pGeometry

//

设置

Feature

对象的

形状属性

_Value(nIndex,

"

1"

)

//

设置

Feature

类别

字段值为

1

_Value

(

nNumIndex

,

CheckDomGlobal

.int-

188

测绘与空间地理信息

2021

CurrentNumber)

(

)

//

保存[

Feature

对象

fr.

WriteFeature

(

pFeature

);//将

1Feature

对象

添加到

当前图层上

itOperation

(

)

//

停止编辑操作

iting(

true

)

//

关闭编辑状态

并保存修改

4

.

2

自动评分及保存电子表格文档

自动评分公式

评定分数

=

60+(

N

n

)

x40

/

0.

7x

No

其中

N

=5(

允许中误差

)

n

:

中误差

double

dboZhongW

uCha

=

Convert

.

ToDouble

(

strALL

)

double

dboResult

=

60

+

((5

dboZhongWuCha

)

*

40)

/

(0.7

*

5)

if

(dboResult

100)

iResult

=

"

100";

else

iResult

=

ng(

"

#.#")

if

(dboResult

75

&&

dboResult<

=

89)

strTemp

="

"

elseif

(dboResult

90)

strTemp

="

"

elseif

(

dboResult<

=

74

&&dboResult〉

=

60)

strTemp

="

合格

"

else

strTemp

="

"

CopyFile(

strAppPath,

filename,

1024

*

1024

*

5)

//

自定义的函数

用于单线程拷贝模版文件

strApp-

Path

:

模版文件路径

;

filename

:

目标路径

HSSFWorkbook

workbook

//

引用

NPO1

的类库

定义

一个电子表格文档变量

FileStream

file

=

newFileStream

(

fileN

ame

,

FileMode

.

Open

,

FileAccess

.

Read

)

workbook

=

newHSSFWorkbook

(file)

HSSFSheet

sheet

=

et("

精度检测

"

)

asHSSFSheet

//

得到电子表格对象

1Cell

cellTemp39

_

12

=

sheet.

GetRow

(39).

GetCell

;

(12)

cellTemp39_lValue(

strTemp

)

//

把成绩写入

的电子表格中

cellTemp39_12

=

null

关闭并保存文档

(

)

FileStream

writefile

=

newFileStream

(

fileN

ame,

FileM

­

ode

.Create

,

FileAccess

.Write)

workbook.

Write(

writefile)

(

)

5

工作效率比较分析

在没使用该软件之前

检查人员为了制作精度评定

表格

常需要两个人配合作业

工作方法如下

一个人用

光标在屏幕上选点

然后读数

;

第二个人用另一台电脑打

Excel

将听到的数据录入表格中

然后在

Excel

中编写

公式进行计算

这种工作方式

两个人评定一幅图大约

需要30

min,

应用该软件后

,

一个人10

min

就可以完成一

幅图,工作效率提高

6

倍以上

6

结束语

利用

ArcMap

进行影像数据的平面精度检查是方便

可行的

既可以开发插件工具解决工作中的实际问题

可以将其他开源组件整合到程序的开发过程中

降低开

发成本和软件使用成本

经过实际项目的验证

使用上

述技术开发软件切实可行

工作效率较高

相信不久的

将来

这种开发模式将得到广大用户的认可

并广泛

应用

参考文献

[1]

柳锦宝

张子民

张永福

.

组件式

G1S

开发技术与案

例教程

[

M].

北京

清华大学出版社

2010.

[2]

李崇贵

陈峥

丰德恩

.

ArcG1S

Engine

组件式开发及

应用

[M].

北京

科学出版社

,2012.

[3]

赵克会

田永中

,

王瑞青

.

基于

ArcG1S

建库效率和精

度研究

一一

以县级土地利用数据库建设为例

[J].

中国

农学通报

,

2009,

25(6)

:

257-260.

[4]

刘仁义

刘南

.ArcG1S

开发宝典

一一

从入门到精通

[

M].

北京

:

科学出版社

,

2006.

[5]

吴秀芹

张洪岩

,

李瑞改

.ArcG1S

9

地理信息系统应

用与实践

[

M].

北京

:

清华大学出版社

,2007.

[6]

胡鹏

黄杏元

,

华一新

.

地理信息系统教程

[

M].

武汉

:

汉大学出版社

,2002.

[7]

邢超

李斌

.ArcG1S

学习指南

ArcToolbox[M].

北京

科学出版社

,2010.

[8]

田庆

陈美阳

,

田慧云

.ArcG1S

地理信息系统详解

10.1

[M].

北京

:

北京希望电子出版社

,2014.

[9]

牟乃夏

王海银

李丹

.ArcG1S

Engine

地理信息系统

开发教程[町

.

北京

:

测绘出版社

,2015.

[

编辑

:

张曦

]

发布评论

评论列表 (0)

  1. 暂无评论