gis 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis...

58
工學碩士學位論文 GIS 자료 정확도 향상을 위한 GPS 자료 처리 모듈 개발에 관한 연구 Development of GPS data processing module for improving position accuracy of GIS data 2001 2 仁荷大學校 大學院 地理情報工學科 工學碩士學位論文

Upload: others

Post on 06-Nov-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

工學 碩士 學位 論文

GIS 자 료 정 확도 향상을 위한

GP S 자료 처리 모듈 개발 에 관 한 연 구

D ev e lopm ent of GP S dat a proce s s in g m odule

for im prov in g po s it ion accuracy of GIS dat a

200 1年 2月

仁荷大學校 大學院

地理情報工學科

邊 琇 允

工學 碩士 學位 論文

Page 2: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

GIS 자 료 정 확도 향상을 위한

GP S 자료처 리 모 듈 개 발에 관한 연구

D ev e lopm ent of GP S dat a proce s s in g m odule

for im prov in g po s it ion accuracy of GIS dat a

200 1年 2月

指導敎授 林 三 成

이 論文을 工學碩士學位 論文으로 提出함 .

仁荷大學校 大學院

地理情報工學科

邊 琇 允

Page 3: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

本 論文을 邊琇允의 工學碩士學位 論文으로 認定함 .

200 1年 2月

主審 印

副審 印

委員 印

Page 4: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

요지

현재 전 세계적으로 GIS 관련 정보 기술의 급속한 발전과 더불어 공간

정보의 양이 급증하고 있으며 높은 질의 공간 정보 서비스에 대한 요구가

증대하고 있다. 사용자의 분석 욕구가 증가함에 따라 GIS 위치 자료의 정

확도 향상과 효율적 관리를 위한 도구의 개발이 필요하게 되었고, 경제적

인 측면에서는 외국 GIS 엔진을 응용 시스템별로 대체할 수 있는 GIS 소

프트웨어의 개발이 필요하게 되었다.

또한 GPS 데이터 처리 모듈 개발로 인하여 GIS 소프트웨어 기능의 다

양성 향상과 모듈개발로 인해 중복투자를 방지할 수가 있게 되었으며 컴

포넌트 기반의 GIS 소프트웨어 개발 확산과 선진화 유도를 기대할 수 있

다.

이에 본 연구에서는 다양한 분석 욕구와 여러 가지 기대효과를 충족시

키기 위한 GPS 데이터 처리 모듈을 OLE/ COM 기반으로 개발한다. 또한

국내 GIS 소프트웨어 활용을 활성화하고 활용방법에 관한 연구의 일환으

로 국내 GIS 소프트웨어인 GEOMania의 GDK를 활용하여 응용프로그램

을 개발한다.

- i -

Page 5: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

ABSTRACT

Now a day s, the information technology of GIS is highly progressing ,

it s amount is heavily increasing and refined service of spatial

information is being required. GIS ' instruments for accuracy

improvement of position and effective management of data have been

needed and softw ares have been developed for the replacement of

foreign GIS engine which could be separated by it s function on

economy .

Another things is that diver sity of GIS softwares ' function and

protection of duplicate investment by adding GPS data processing

module which is expected to induce spreading of GIS software ' s

development and advancement on the basis of component technique.

In this research, GPS data processing module on the basis of

OLE/ COM is developed for requirement of diverse analysis and lot s of

expected effect s and the second, application program using software of

GEOMania of GDK for activating use of domestic software and it s

method ' s research too.

- ii -

Page 6: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

<제목 차례>

1. 서론 1

1.1 연구 목적 1

1.2 연구 범위 2

2 . GP S 개 요 3

2.1 GPS 데이터의 구조 3

2.1.1 GPS 신호 종류 3

2.2 GPS 데이터의 처리 4

2.2.1 데이터 처리 방법 4

2.2.2 GPS 위치 계산 방법 6

2.2.3 DGPS에 대한 기본식 구성 9

2.2.4 GPS 신호의 조합 10

2.2.5 GPS데이터 처리를 위한 Matrix 조성 방법 10

2.2.6 Smoothing 기법 12

3 . GP S에 서의 좌표 변환 15

3.1 타원체 변환 15

3.2 투영 변환 17

4 . COM 개요 20

4.1 COM (Component Object Model) 20

4.1.1 COM 컴포넌트의 조건 21

4.2 인터페이스(Interface) 개요 22

4.2.1 인터페이스 정의 22

4.2.2 IUnknown 인터페이스 22

4.2.3 IDL (Interface Definition Language) 24

- iii -

Page 7: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5 . GP S 모 듈 및 응용 프로 그램 25

5.1 GPS 모듈 전체 구성도 25

5.1.1 Setup 부분 26

5.1.2 Network 부분 27

5.1.3 Point Positioning 과 DGPS 세부 흐름도 28

5.2 GPS 모듈 인터페이스 28

5.3 GPS 모듈을 연계할 응용프로그램 구성 29

5.3.1 Data Load 30

5.3.2 Process 30

5.3.3 Advanced Control 31

5.3.4 Point Positioning 32

5.4 GDK 연계된 응용프로그램 개발 33

5.4.1 GDK (GeoMania Development Kit ) 33

5.4.2 GIS (Geographic Information System ) 33

5.4.3 사용된 GDK 기능 34

6 . 연구 결과 36

6.1 GPS 모듈 개발 결과 36

6.1.1 GPS 모듈 구동 방법 36

6.1.2 GPS 결과 출력 화면 36

6.2 GPS 모듈 결과 비교 분석 38

6.2.1 GPS 위치결정 결과값 비교 분석 38

6.2.2 좌표변환 결과값 비교 분석 39

6.3 GDK 연계 결과 화면 41

7 . 결론 및 향 후과 제 43

참 고 문 헌 44

- iv -

Page 8: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

<표 차례>

표 1 GPS 신호의 조합 10

표 2. 사용된 인터페이스 29

표 3. 연계로 사용된 기본메뉴 34

표 4. Zoom 관련 기능 34

표 5. 좌표변환에 대한 기능 35

표 6. 측량점의 실제 좌표값 38

표 7. 두 방법의 결과치 비교 38

표 8. 비교에 사용된 WGS84 좌표값 39

표 9. 결과 비교 40

표 10. 투영 결과 비교 40

표 11. 수치도화의 축척별 오차의 허용범위 40

- v -

Page 9: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

<그림 차례>

그림 1. 좌표변환 흐름도 19

그림 2. GPS 모듈 전체 흐름도 25

그림 3. Setup 세부 흐름도 26

그림 4. Network 세부 흐름도 27

그림 5. Point Posit ioning 과 DGPS 세부 흐름도 28

그림 6. Data Load 30

그림 7. Data processing에 대한 선택 화면 30

그림 8. Data Processing Option GUI 31

그림 9. 선택된 파일의 처리 및 결과 출력 화면 32

그림 10. DLL 등록 완료후의 메시지 36

그림 11. GPS 측량 결과 출력 화면 37

그림 12. 전체화면 41

그림 13. DXF 포맷의 파일을 연 화면 42

그림 14. 측량 데이터의 처리 후 지도에 표시 43

- v i -

Page 10: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

1. 서론

최근 들어 데이터에 대한 위치 정확도에 대한 요구가 급증함에 따라

GPS의 사용이 급증하고 있는 추세이다. 물론 사용 목적에 따라 데이터에

대한 정확도의 요구가 틀리지만 질이 높은 데이터의 평가에 있어 정확도

가 많은 좌우를 하고 있다.

본래 GPS는 외국에서 개발된 것으로서 현재 우리 나라에서는 GPS 장

비나 GPS 관련 S/ W의 대부분을 수입한 것으로 쓰고 있다. 그래서 국내

GIS 소프트웨어의 개발의 일환으로서 GPS 자료처리 모듈을 만들고자 하

며 이 모듈의 형태를 COM을 기반으로 하였다.

컴포넌트를 기반으로 하게 되면 재사용성과 유지보수의 용이성 면에서

유리한 이점을 찾을 수 있으며 프로그램의 변경도 용이하다. 또한 COM

의 이 원리와 함께 결과형태가 DLL로 나오게 개발함으로써 이 GPS 처

리 모듈이 다른 어느 응용프로그램과의 연계도 가능하게 개발했으며, 직

접 개발한 응용프로그램의 연계도 할 수 있는 장점을 갖고 있다.

본 논문에서는 컴포넌트 기반의 GPS 처리 모듈을 개발하여 응용프로그

램에 연계하고, GIS 기능을 추가하여 GIS 데이터의 정확도를 높이는 것

을 목적으로 하였으며, GPS 처리 모듈의 결과를 다른 처리 프로그램의

결과와 비교 분석을 통해 결과치를 검증하였다.

1.1 연구 목적

본 연구의 목적은 GPS 측량에 의한 데이터의 취득 후의 처리에 관한 것

으로 어느 분야에서 쓰이는가에 따른 효율적인 처리 모듈 개발을 하고, 더

하여 GIS 데이터의 위치에 대한 정확도의 질적 향상을 시켜 GIS 공간 데이

터의 갱신이나 새로운 공간 데이터의 생성을 해주는 것이다.

- 1 -

Page 11: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

1.2 연구 범위

이 연구는 GPS 모듈 개발에서 필수적으로 가장 기본적인 Point

Positioning 부분을 개발하는 것을 중점을 두었으며, 추후에 계속적인

DGPS로의 업데이트까지 범위를 잡고 있다. 또한 응용프로그램 개발 부분

에서는 단지 GPS 모듈의 인터페이스의 연결부분 확인이나 계산된 결과값

의 확인뿐만 아니라, 응용프로그램 자체에 GDK라는 개발도구를 이용하여

약간의 Map Display 기능과 Layer 관리 기능 등의 기능 확장까지이다.

- 2 -

Page 12: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

2. GPS 개요

GPS는 1960년대 초 미국 국방성에서 연구되기 시작하여 1995년에

FOC(Full Operation Capability )로 운영되고 있는 위성항법 시스템으로

약 20,183km 고도 상에 배치된 24개의 NAVST AR 위성에 의하여 전세계

어디서나 기상 상황에 영향을 받지 않고 매우 정확한 위치 및 시각정보를

제공한다. GPS는 오차의 누적이나 증가가 없이 장시간 동안 안정적으로

위치정보를 제공하지만 수 Hz대의 낮은 데이터 전송률을 가지므로 항공

기와 같이 빠른 특성을 가지는 환경 하에서 사용하기 어려우며 지형 지물

등에 의한 신호의 차단이나 고의적인 전파방해(Jamming )에 영향을 받는

단점을 지닌다.

2.1 GPS 데이터의 구조

GPS 데이터는 수신기 제조 회사마다 각각의 공유의 포맷을 제공한다.

그러므로 각 수신기의 자료에 호환이 가능한 RINEX(Receiver INdepen

dent EXchange format )를 대상으로 처리한다. RINEX에는 Observation

Data file(신호상태 및 자료 포함), Navigation Data file(위성의 상태 및

자료 포함), Meteorological Data file(전송상태에 관한 자료 포함)의 3가지

형태로 구분된다.

2.1.1 GPS 신호 종류

각 위성은 두 가지의 다른 주파수의 신호를 동시에 발생시키는데 L1

반송파라고 알려진 1.57542 GHz 주파수와 L2 반송파라고 불리워지는

1.2276 GHz 주파수의 신호로 구성되어있다. 이러한 반송파에 중첩되는 정

보는 PRN (Pseudo- Random Noise) 부호와 항법메세지로(Navigation

Message) 이루어진다. PRN 부호는 각 위성마다 유일하도록 서로 다르며

이진 부호로 구성되는데 매우 길고 복잡하기 때문에 신호 자체만 보았을

- 3 -

Page 13: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

때는 의미를 파악할 수 없다. 사실상 PRN 부호는 어떠한 정보를 담고 있

는 것이 아니라 이름에서 알 수 있듯이(Random Noise) 어떠한 규칙에 의

해 만들어지는 불규칙한 이진 수열로써 위성까지를 거리를 측정하는데 사

용된다.

이 PRN 부호는 다시 두 종류의 부호로 나누어지는데 Coasr se

Acquisition 이라고 불리는 C/ A 부호는 민간 신호라고도 하며 특별히 허

락 받지 않은 개인이나 단체도 이용할 수 있으나 P 부호(Precise code)

는 신호의 암호화가 이루어지므로 이용을 위해서는 허가가 필요하다.

GPS 데이터 신호에는 여러 종류가 있다. 크게 Code와 Phase의 두 종

류로 나눌 수 있다.

▷ Code

- C1

- P 1

- P2

▷ Carrier Phase

- L1

- L2

2.2 GPS 데이터의 처리

2.2.1 데이터 처리 방법

이들 데이터의 처리 방법은 여러 방면으로 나눌 수 있는데 알고리즘 상

으로 본다면 Single GPS와 Differential GPS로 나눌 수 있다.

GPS 수신기 1대를 사용해서 위치를 측정하는 단독측위 방법은 코드를

이용하며 C/ A 코드와 P 코드 중 어느 것을 사용하느냐에 따라 다음과 같

이 두 가지로 나누어 생각할 수 있으며 가장 낮은 정밀도를 보인다.

1) Standard Positioning System (SPS )

민간 이용자들은 SPS를 무료로 제한없이 수신받을 수 있다. 대부분의

- 4 -

Page 14: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

수신기는 SPS 신호를 받을 수 있도록 되어있으며 SPS의 정밀도는 미 국

방성의 정책에 의해 고의적으로 제한된다. SPS의 예상되는 정밀도는 다

음과 같다.

수평 100 m

수직 156 m

시간 167 nanosecond

이 수치들은 95% 정밀도 내의 오차를 말하는 것이다.

2) Precise Positioning Sy stem (PPS)

암호 해독 장치를 갖춘 허가된 사용자만이 특별히 고안된 수신기를 이

용하여 PPS를 수신할 수 있다. 미군과 연합군, 일부 미국 정부 기관, 기

타 미 정부로부터 선택된 민간 사용자들이 대상이 되며 PPS를 사용할 경

우 정밀도는 다음과 같다.

수평 17.8 m

수직 27.7 m

시간 100 nanosecond

C/ A 코드 하나만 사용할 경우 10- 30 meter 이상의 정밀도로 위치를 결

정하는 것은 현실적으로 불가능한데 이것은 수신기가 결정하는 위성까지

의 거리자료에 여러 가지 오차 요인이 복합적으로 영향을 미치기 때문이

다. 특히 미 국방성에서 고의로 민간 GPS 이용의 정밀도를 저하시키기

위한 SA (Selective Availability )가 시행 중일 때는 이보다 더욱 정밀도가

떨어지게 되는데 단독으로 작동되는 수신기가 자신이 계산하고 있는 위치

정보가 틀린지 맞는지를 판단 할 수 있는 방법이 없다. 만약 어떤 제 2의

장치가 수신기 근처에 존재하여 지금 현재 수신받는 자료가 얼마만큼 빗

나간 양이라는 것을 수신기에게 알려줄 수 만 있다면 위치결정의 오차를

극소화시킬 수 있는데 바로 이 방법이 Differential GPS 또는 DGPS라고

불리는 기술이다.

GPS는 현재까지 개발된 전파에 기반을 둔 항법 체계 중 가장 정확한

정보를 제공한다. 현재 실제로 많은 응용분야에 있어서도 기본적인 GPS

- 5 -

Page 15: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

만으로 충분한 정밀도를 제공하기는 하지만 좀더 향상된 정확도를 가지는

체계를 마련하기 위해서 Differential GPS라는 방법이 고안되었다. DGPS

체계는 기본 GPS에 수반하는 여러 오차요인을 제거함으로써 움직이는 물

체에 있어서는 수 m , 정지한 대상에 대해서는 1 m 이내의 위치 측정을

가능하게 만들어준다. 기본 GPS에 비해 괄목할만한 정밀도를 제공하는

DGPS는 GPS가 배나 비행기의 항법에만 사용될 수 있을 뿐만 아니라 자

동차 및 정밀성이 요구되는 측지 등에까지 응용될 수 있는 길을 마련하였

다.

2.2.2 GPS 위치 계산 방법

대표적인 계산 방법으로 C/ A code를 최소 제곱법을 이용해 위치를 산

출하는 방법이 있다. GPS 데이터의 처리식은 다음과 같다.

기본식 : = →r R C VR

- →r SA T

+ c( tR - t T ) (2- 1)

Given : ,r SA T

, t T

Unknown :r R C VR

, t R

m : 위성의 개수

= →r

- →r 1

+ c( t R - t 1)

· · (2- 2)

· ·

= →r

- →r m

+ c( t R - t m )

위의 식을 General Equation으로 정리를 하면 다음과 같다.

= →r

- →r i

+ - i + I i + T i + M i + i (2- 3)

I i = Ionospheric Delay

T i = T ropospheric Delay

M i = Multipath Delay

- 6 -

Page 16: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

r - r i = ( x - x i )2 + (y - y i )

2 + ( z - z i )2 (2- 4)

r - r i 가 비선형이므로 선형화 작업을 해주어야 한다.

r=

r * +r

라고 놓는다. 여기서r * 는 RINEX에 나와 있는 초기값

을 넣어준다. 테일러 정리를 이용하여 선형화를 시키면 되는데 이때 테일러

적용시 1차항까지만 적용을 시킨다.

r * +r

-r i

=r

-r i

+(

r * -r i

) T

r * -r i

r (2- 5)

그러므로 Unknown은 r , 가 된다.

=r

-r i

+(

r * -r i

) T

r * -r i

r + - i + i (2- 6)

식(3)에서의 Delay 항목은 error에 포함시킨다.

식(6)과 같이 선형화된 식을 최소제곱법(Least Square Solution )으로 풀

어야 하므로 다음과 같이 정리를 한다.

-r

-r i

+ i =(

r * -r i

) T

r * -r i

r + + i (2- 7)

y =

-r * -

r 1+ 1

: : :: : :

-r * -

r m+ m

(mx 1), H =

(r * -

r 1) T

r * -r 1

1

: : :: : :

(r * -

r m) T

r * -r m

1

(mx4)

- 7 -

Page 17: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

x= [ ]r =

xyz

(4x 1) , =

1

::m

(mx 1)

y= H

x+

i(2- 8)

최소제곱법은 J = T 을 최소화로 하는 해를 구하는 식으므로

J = (y

- Hx

) T (y

- Hx

) (2- 9)

위의 식을x

에 대해 편미분을 하면

Jx

= 2 (y

- Hx

) T H = 0

y T H =x T H T H

( H T H ) T

x= H T

y

x= ( H T H ) - 1H T

y(2- 10)

위에서x

중에 x , y , z 를 구하게 되는데, 이것을r

=r * +

r에

대입하여 위치를 구하게 된다. 이 값을 다시r * 에 대입하여

x를 구하는

반복계산을 수행하여 최종적인r

, 를 구하게 된다.

다음으로 Phase와 code를 이용하여 위치해를 구하는 방법론에 관한 내용

으로 Phase에 관한 기본식은 다음과 같다.

i = - i =i

+ - i + N i - I i + T i + M i + i

i =r

-r i

+ - i + N i - I i + T i + M i + i (2- 11)

= cf

c = speed lignht

f = frequency

- 8 -

Page 18: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

L1 = 1575.42 MHz , L2 = 1227.60 MHz

우선 C/ A code를 가지고 구한 위치해를 가지고 식(11)에 대입을 하게 된

다. Phase는 code에 비해 주위의 영향을 덜 받지만 Cycle Silp이라는 것이

생기는 단점이 있다. 그러므로 이것을 code로 구한 위치해를 가지고 구한

후에 식(11)을 다시 정리하면 된다.

즉,r

=r * +

r이라 놓으면

i -r

-r i

+ i - N i =(

r * -r i

) T

r * -r i

r + + i (2- 12)

식(12)로 정리가 된다.

이것을 code의 위치해를 구했던 것과 같이 Matrix 조성을 한 후에 같은

절차로 계산을 하면 더욱 정확한 위치해가 나오게 된다.

2.2.3 DGPS에 대한 기본식 구성

DGPS에 있어서 가장 기본적인 틀이 될 수 있는 Single DGPS는 다음과

같은 식을 따른다. 언급될 식은 수신기 사이의 DGPS임을 밝힌다.

D iR 1 , R 2 = D i

R 1 , R 2 ( ) + c D iR 1 , R 2 ( t) + D i

R 1 , R 2 ( I) + D iR 1 , R 2 ( T ) (2- 13)

다음은 Double DGPS의 식이다.(이것은 수신기와 위성사이의 차분)

DD i , jR 1 , R 2 = DD i , j

R 1 , R 2 ( ) + DD iR 1 , R 2 ( I) + DD i

R 1 , R 2 ( T ) (2- 14)

위의 식(13),(14)을 이용하여 기본식을 세워 code로 위치해를 구했던 것과

같은 방법으로 해를 구할 수 있다. 식(13)을 이용하여 구한다면 위성 시간

오차가 제거가 되며, 전리층 지연효과나 대류층 지연효과가 차분되어 매우

작은 값이 되어 무시해도 된다는 이점이 있으며 식(14)를 이용하여 수신기

- 9 -

Page 19: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

의 위치해를 구하게 되면 수신기, 위성의 시간오차가 모두 제거되며, 여기

서도 전리층이나 대류층 지연효과를 무시할 수 있다는 이점이 생긴다.

2.2.4 GPS 신호의 조합

GPS에는 여러 신호들이 있는데 이것들의 조합에 의해서 여러 가지 계산

을 할 수 있다. 예를 들면 code 하나만으로 위치해를 결정하거나 code와

phase 둘을 이용하여 계산을 하거나 모든 신호를 이용해 계산을 하는 방법

이 있다.

표 1 GPS 신호의 조합

신호 하나만의 조합 신호가 세 개 일 때

C1 P 1 P2 L1 L2 C1&L1&L2

신호가 두 개 일 때 P 2&L1&L2

C1&D1 [=P 1&D1] L1&P 2 신호가 네 개 일 때

C1&L1 [=P 1&L1] L2&P 1 C1&L1&P 2&L2

C1&P 2 [=P 1&P 2] L1&L2 P 1&L1&P 2&L2

위의 표 1에 의해서 구성된 신호의 조합은 Single GPS 나 DGPS 양쪽 모

두에 적용될 수 있다.

2.2.5 GPS 데이터 처리를 위한 Matrix 조성 방법

최소제곱법을 실행하기 위해서 계산의 편이를 위해 Matrix 계산법으로

계산을 한다. 이때에 Matrix를 조성하는 방법을 두 가지로 제시하였다.

하나는 각각의 epoch 별로 최소제곱법을 적용하여 해를 구하고 그것들의

결과치를 합산하여 평균한 방법(연속 방법, Sequential Method)과 또 다른

방법은 모든 epoch 값들을 하나 의 Matrix로 놓아서 결과적으로 관측치의

개수를 높이는 방법으로 최소제곱법 계산을 한 방법(일괄방법, Batch

Method) 이다.

(2- 10) 식은 최소제곱법의 결과해를 구하는 최종적인 식인데 위에서 언급

- 10 -

Page 20: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

한 조성이 다르게 변하는 Matrix 변수는 H, y Matrix가 된다.

먼저 각각의 epoch 별로 결과치를 구하게 되면 Matrix 구성은 위의 H와

y Matrix와 같다. 이것은 보통의 측량 자료의 최소제곱법을 수행시 구성되

는 Matrix 구성방법과 동일하다고 볼 수 있다.

또 다른 방법은 모든 epoch 데이터를 위의 H, y Matrix에 모두 넣어서

하나의 해를 구하게 되는 것으로 이것의 Matrix 구성은,

H =

(r *

t1

-r 1

) T

r *t1

-r 1

1

: : :

(r *

t1

-r m

) T

r *t1

-r m

1

: : :

(r *

tn

-r 1

) T

r *tn

-r 1

1

: : :

(r *

tn

-r m

) T

r *tn

-r m

1

({m *n }x4)

n : epoch 개수

y =

-r *

t1

-r 1

+ 1

: : :

-r *

t1-

r m+ m

: : :

-r *

tn

-r 1

+ 1

: : :

-r *

tn

-r m

+ m

({m *n}x 1)

와 같다. 이 방법의 장점으로는 관측치에 해당되는 데이터가 더 많아지게

- 11 -

Page 21: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

되는 것이므로 최소제곱법의 일반론적인 원리에 의해 잉여 관측치가 많을

수록 해에 더 가까이 수렴할 수 있다는 것에 입각하여 구성된 Matrix의 형

태이다.

2.2.6 Smoothing 기법

Phase에 대한 기본식은 다음과 같다.

i , L 1 = i + - i + T i - I i , L 1 + L 1 N i , L 1 + i , L 1

i , L 2 = i + - i + T i - I i , L 2 + L 2 N i , L 2 + i , L 2

i , L 1 - i , L 2 = ( - 1) I i , L 1 + L 1 N i , L 1 - L 2 N i , L 2 + i , L 1 - i , L 2

Ionospheric Delay에 관해 정리하면 다음과 같다.

I i , L 1 = 1- 1

( i , L 1 - i , L 2 ) + 1- 1

( L 2 N i , L 2 - L 1 N i , L 1)

+ 1- 1

( i , L 2 - i , L 1) (2- 15)

code 에서의 기본식은 다음과 같다

i , L 1= i + - i + T i + I i , L 1 + i , L 1

i , L 2= i + - i + T i + I i , L 1 + i , L 2

Ionospheric Delay에 관해 정리하면 다음과 같다.

I i , L 1 = 1- 1

(i , L 2

-i , L 1

) + 1- 1

( i , L 1 - i , L 2 ) (2- 16)

이론적으로는 같은 위성, 같은 epoch에서 Phase를 통해 구한

Ionospheric Delay와 Code를 통해 구한 Ionospheric Delay는 같아야 하고,

Integer Ambiguity는 같은 위성에 다른 epoch에 대해 같아야 한다. (그러

나 실제로는 Error가 포함되어 있기 때문에 다르다. )

따라서, 정리하면

- 12 -

Page 22: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

예) ( I i , L 1)L 1 , L 2 , t 1

= ( I i , L 1)P 1 , P2 , t 1

:

( I i , L 1)L 1 , L 2 , t 2

= ( I i , L 1)P 1 , P2 , t 2

( I i , L 1)L 1 , L 2 , t 1

( I i , L 1)L 1 , L 2 , t 2

( N i , L 1)P 1 , P2 , L 1 , t 1

= ( N i , L 1)P 1 , P2 , L 1 , t 2

( N i , L 2 )P 1 , P2 , L 2 , t 1

= ( N i , L 2 )P 1 , P2 , L 2 , t 2

( N i , L 1)P 1 , P2 , L 1 , t 1

( N i , L 2 )P 1 , P2 , L 2 , t 1

(2- 15)식과 (2- 16)번식을 이용하여 정리하면,

(i , L 2

-i , L 1

)t1

= ( i , L 1 - i , L 2)t1

+ ( L 2 N i , L 2 - L 1N i , L 1)t1

(i , L 2

-i , L 1

)t2

= ( i , L 1 - i , L 2)t2

+ ( L 2 N i , L 2 - L 1N i , L 1)t2

여기서, ( L 2 N i , L 2 - L 1 N i , L 1)t 1

= ( L 2 N i , L 2 - L 1 N i , L 1)t 2

기 때문에

(i , L 2

-i , L 1

)t2

= ( i , L 1 - i , L 2)t2

+ ( L 2 N i , L 2 - L 1N i , L 1)t1

이다.

위의 알고리즘을 토대로 해를 구하는 방법을 말하자면 다음의 순서와

같다.

1) 처음 Epoch에서

N i , L 1 = 1L 1 ( - 1) ( 2

i , L 2- ( + 1)

i , L 1) + 1

L 1i , L 1 (2- 17)

식을 이용하여 Integer Ambiguity를 구한다.

i , L 1 = i + - i + T i - I i , L 1 + L 1 N i , L 1 + i , L 1 (2- 18)

위의 식을 이용하여r

, 를 구한다.

( L 2 N i , L 2 - L 1 N i , L 1)t1

= ( i , L 1 - i , L 2 )t1

- (i , L 2

-i , L 1

)t1

(2- 19)

- 13 -

Page 23: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

2) 두 번째 epoch에서

(2- 19)식의 해를 여기에 대입

(i , L 2

)*

= ( i , L 1 - i , L 2)t2

+ ( L 2N i , L 2 - L 1N i , L 1)t1

+ (i , L 1

)t2

N i , L 1 = 1L 1 ( - 1)

( 2 (i , L 2

)*

- ( + 1)i , L 1

) + 1L 1

i , L 1

i , L 1 = i + - i + T i - I i , L 1 + L 1 N i , L 1 + i , L 1 (2- 20)

(2- 20) 식을 이용하여r

, 를 구한다.

1), 2)의 epoch 끼리의 반복계산을 하게되면 최종적인 결과값이 나오게

된다.

- 14 -

Page 24: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

3. GPS에서의 좌표 변환

GPS 측량의 결과물 즉 위치좌표는 WGS84이다. 하지만 우리 나라에서

쓰는 좌표는 평면 직각 좌표로서 Bessel 타원체를 기본으로 두고 있으며

T M 투영 변환을 쓴 것이다. 그렇기 때문에 GPS 결과를 우리 나라에서 T

는 좌표체계에 맞게 변환해 주어야 한다. WGS84 타원체를 Bessel 타원체

로 변화하는 것이 우선 수행되는 것인데 타원체 변환 방법에는 7- Para

meter , Molodensky, MRE 등의 변환 방법이 있다. 이중에 본 연구에서는

Molodensky 라는 변환방법을 이용하였다. 그리고 T ransver se Mercator 투

영 방법을 이용하여 최종적으로 우리 나라에서 쓰는 좌표체계로 변환을 하

였다.

3.1 타원체 변환

실제 GPS 측량으로 취득한 데이터의 좌표체계는 WGS84 좌표계이다.

WGS84 좌표계는 WGS84 타원체를 쓰고 있는 것인데, 우리 나라에서 쓰고

있는 타원체는 Bessel 타원체를 쓰고 있다. 그러므로 이 두 타원체 간의 변

환이 되어야 한다. 위에서 언급한 것과 같이 변환 방법에는 3가지가 있으며

그 중에 Molodensky는 광역적으로 쓰이는 것이다. 이 변환에 대한

Parameter는 5가지가 있으며, 그중 a , f 는 직접 구해낼 수 있는 값이며

나머지 X , Y , Z는 DMA에서 세계적인 값을 산출해서 제공하고 있다.

Molodensky 변환 방법은 평균 원점 이동량( X , Y , Z )을 사용함으로써

보정값을 산출하게 되는데 이때 정확한 다중회귀식이 사용된다. 위의 보정

량을 구한 후 그 값을 변환하고 싶은 좌표값에 합하여 변환하면 된다. 이

Molodensky 변환에 대한 식은 다음과 같다.

- 15 -

Page 25: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

' ' = [ - X s in cos - Ysin s in + Z cos + a ( N e 2 s in cos )a

+ f [ M ( ab

) + N ( ba

) ] s in cos ] [ ( M + H ) s in 1' ' ] - 1 (3- 1)

' ' = [ - X sin + Y cos ] [ (N + H ) s in 1' ' ] - 1 (3- 2)

H m = X cos cos + Y cos s in + Z s in - a ( aN

) + f ( ba

)N sin 2

(3- 3)

, , H : WGS84 좌표계의 경.위도와 타원체고

, , H : 보정량

X , Y , Z : 타원체간의 원점 이동량

a , f : 타원체간의 장.단반경의 차

N : 묘유선의 곡률반경 ( = a

1 - e 2 s in 2 )

M : 자오선의 곡률반경( = a ( 1 - e 2)( 1 - e 2 s in 2 ) 3 )

또한 변환을 위한 입력좌표는 측지좌표( , , h )형태 이거나 지심좌표(X ,

Y , Z )로 입력한다. 입력좌표가 측지좌표일 때는 바로 변환된 값을 구할

수 있지만 지심좌표일 때는 측지좌표로 변환해주어야 Molodenky 변환에

적용할 수 있다. 변환식은 다음과 같다.

X = ( N + h) cos cos (3- 4)

Y = (N + h) cos s in (3- 5)

Z = {N ( 1 - e 2) + h}s in (3- 6)

N : 묘유선의 곡률반경

h : 타원체고

e : 이심율

반면 지심좌표에서 측지좌표로 변환하는 식은 다음과 같다.

= t an - 1( Y / X ) (3- 7)

p = ( N + h) cos (3- 8)

- 16 -

Page 26: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

Z = [N ( 1 - e 2 ) + h ] s in (3- 9)

이 때 식(3- 8) 과 식(3- 9)를 , h 에 대한 선형화로서 보정량을 어느정도

수준에 이를 때까지 연속적인 계산을 한다.

그래서 p 와 Z 가 결정되면 아래의 식에 대입하여 경.위도 좌표를 구한

다.

= t an - 1( Z + e ' 2 bsin 3

p - e 2 acos3 ) (3- 10)

= t an - 1 YX

(3- 11)

h = pcos - N

(3- 12)

= t an - 1( Z ap b

)

e : 제 1 이심율 , e ' : 제 2 이심율

3.2 투영 변환

GPS 측량에 의한 결과치는 WGS84 좌표계이면서 3차원 좌표계이다. 하

지만 우리 나라에서 쓰는 좌표는 평면 직각 좌표로서 Bessel 타원체로 변환

된 좌표를 T M (T ransver se Mercator )라는 투영 방법을 이용하여 2차원의

평면 좌표로 바꾸어 준다.

우리 나라에서는 횡메르카토르 도법이라고 일컫는 이 투영 방법은

Gauss- Kruger도법으로 알려져 있으며, 적도 대신 자오선에 원통을 접하게

하여 투영하는 방법이다. 또한 우리 나라에서는 원점이 3개로 나누어져 있

으며 이를 서부원점, 중부원점, 동부원점 이라고 일컫는다.

우리 나라는 T okyo Datum있지만, 동경원점과 10.405 차이가 있으므로

이것에 대한 보정치도 포함시켜야 한다.

T M투영에 대한 변환방법은 다음과 같다.

- 17 -

Page 27: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

Mo = a{( 1 - e2

4- 3 e4

64- 5 e6

256) 0 - (3 e2

8+ 3 e4

32+ 45 e6

1024) s in (2 0)

+ ( 15 e4

256+ 45 e6

1024) s in (4 0) - (35 e6

3072) s in (6 0)}

M = a{( 1 - e2

4- 3 e4

64- 5 e6

256) - (3 e2

8+ 3 e4

32+ 45 e6

1024) s in (2 )

+ ( 15 e4

256+ 45 e4

1024) s in (4 ) - (35 e2

3072) s in (6 )}

e' 2 = e2

1 - e2 , N = a

1 - e2 s in 2 , T = t an 2

C = e' 2 cos 2 , A = cos ( - 0)

x = koN [A + ( 1 - T + C) A 3

6+ (5 - 18 T + T 2 + 72C - 58 * e ' 2) A 5

120 ](3- 13)

y = ko[(M - M 0 + N tan {( A 2

2+ (5 - T + 9 C + 4 C2) A 4

24

+ (61 - 58 T + T 2 + 600C - 330 e' 2) A 6

720 }] (3- 14)

0 , 0 : 투영 원점

, : 경도, 위도

k o , a , e : scale factor , 장반경, 이심율

위의 식에서 결론적으로 (3- 13)과 (3- 14)식이 평면직각좌표의 x ,y 좌표가

되는 것이다. 여기에 우리 나라 원점과 일본 동경원점과의 차이를 넣어주면

실제로 우리 나라의 평면직각좌표가 된다.

- 18 -

Page 28: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

그림 1. 좌표변환 흐름도

그림 1은 GPS 측량 데이터의 획득후의 좌표계의 변환을 도식화한 것이

다. 물론 더 복잡하게 표현될 수 있다. 예를 들면 7- parameter 기법에 대한

도식은 그림 1과는 어느정도 차이를 보이고 있기 때문이다. 하지만 본 연구

에서는 Molodensky 변환방법을 이용했기 때문에 생략하였다.

- 19 -

Page 29: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

4. COM 개요

4.1 COM(Component Object Model)

컴포넌트 개체 모델(Component Object Model, COM )은 자신의 고유한

기능을 제공하는 단위 어플리케이션 즉, 컴포넌트의 통합 및 커뮤니케이

션 방법에 대한 표준을 정의하는 사양이다. 어플리케이션에 많은 기능이

요구될수록 복잡해지고 크기가 커질 수밖에 없다.

이것을 해결하는 하나의 방법으로, 어플리케이션을 여러 개의 컴포넌트

로 분할하여 각 컴포넌트에 비교적 간단한 고유 기능을 부여하고, 이들

컴포넌트들을 하나의 어플리케이션으로 통합하는 것이다. 이 방법은 사용

자에게 재사용성과 유지보수의 편의를 제공할 수 있다.

각 컴포넌트는 단 하나의 어플리케이션에서만 사용되는 것이 아니라,

컴포넌트가 제공하는 고유한 기능 제공으로 여러 어플리케이션에 재사용

될 수 있기 때문에 전체 프로젝트의 코드 작업을 줄일 수 있다는 이점을

제공한다. 이러한 재사용성의 이점은 특정한 기능을 갖는 컴포넌트를 그

때마다 구현하는 대신에 이미 시장에서 판매되고 있는 해당 기능을 제공

하는 컴포넌트를 구입하여 어플리케이션에 통합함으로서 해당 컴포넌트를

구현한 사람의 기술 및 시간과 노력을 활용할 수 있게 한다

또한 각 컴포넌트는 고유한 기능을 제공하는 비교적 간단한 코드만을

포함하게 되므로 그 기능을 변경시키는 작업은 그만큼 쉬어지게 되며, 조

그만 기능의 변경을 위해 어플리케이션을 재생성하고 그것을 다시 사용자

에게 분배해야 하는 번거로움을 피할 수 있게 해준다.

컴포넌트 기반의 소프트웨어 개발 방법에 이상적이지만, 여기에서 몇

가지 고려해야 할 사항이 있는데 다음과 같다. 첫째로 각 컴포넌트들이

서로 다른 언어로 개발될 수 있다는 것이다. 둘째로는 컴포넌트를 사용하

는 어플리케이션은 컴포넌트가 설치되고, 실행하는 위치에 관계없이 같은

방법으로 해당 컴포넌트를 사용할 수 있어야 한다. 셋째로는 컴포넌트의

버전 관리가 쉬워야 한다는 점을 들 수 있다. 마지막으로 고려해야 할 사

- 20 -

Page 30: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

항은 한 업체에 종속적이지 않아야 한다는 것이다. 즉 산업표준이어야 한

다는 것이다.

4.1.1 COM 컴포넌트의 조건

COM 컴포넌트는 이러한 사양에 맞도록 작성된 Win32DLL 또는 EXE

로 생성된 실행코드를 말하는데 컴포넌트는 다음의 조건을 만족해야 한

다.

COM 컴포넌트는 언어 독립적이어야 한다. COM 컴포넌트는 C와 같은

절차적 언어나 C++와 같은 OOP (Object - Oriented Programming ) 언어, 그

리고 Visual Basic과 같은 매크로 언어 등 어떠한 프로그래밍 언어로도

작성될 수 있으며, 서로 다른 언어로 작성된 COM 컴포넌트는 서로 완전

하게 커뮤니케이션될 수 있어야 한다.

COM 컴포넌트는 이진(binary ) 형태로 제공되어야 한다. 즉, COM 컴포

넌트는 Win32 DLL또는 EXE로 생성된 실행 코드이어야 한다.

COM 컴포넌트는 버전 호환성을 제공해야 한다. COM컴포넌트의 버전

이 향상되어도 이전 버전의 COM 컴포넌트를 사용하는 클라이언트 어플

리케이션을 사용할 수 있도록 하위 버전으로의 호환성을 제공해야 한다.

물론, 클라이언트 어플리케이션이 COM컴포넌트의 향상된 기능을 사용해

야 할 필요가 있다면 클라이언트 어플리케이션은 그 기능을 활용하도록

재작성되어야 한다.

COM 컴포넌트는 위치 투명성(location transparency )을 제공해야 한다.

COM 컴포넌트를 사용하는 어플리케이션은 COM 컴포넌트가 설치되고

실행하는 위치에 관계없이 같은 방법으로 해당COM컴포넌트를 사용할 수

있어야 한다. 이것은 COM 컴포넌트가 클라이언트 어플리케이션과 같은

프로세스 영역에 있거나(인- 프로세스 서버) , 클라이언트 어플리케이션이

실행되는 시스템 상에서 다른 프로세서 영역에 있거나(로컬 서버) , 아니

면 네트워크 상의 다른 시스템 상에 있든(리모트 서버), 같은 방법으로 사

용될 수 있어야 한다.

COM 컴포넌트는 하나 이상의 COM 개체를 포함할 수 있으며, 하나의

COM 개체는 하나 이상의 인터페이스(Interface)를 지원하게 된다.

- 21 -

Page 31: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

4.2 인터페이스(Interface) 개요

4.2.1 인터페이스 정의

인터페이스(Interface)란 COM 개체가 자신의 기능을 클라이언트에 노

출시키는 기본적인 방법이다. 하나의 인터페이스는 서비스를 제공하는 하

나 이상의 메서드(method, 멤버함수)를 정의한다. 각 COM 개체는 반드시

하나의 IUnknown 인터페이스를 제공해야 하며, 그 이외에도 COM 개체

의 고유한 기능을 노출하는 하나 이상의 인터페이스를 제공할 수 있다.

일반적으로 인터페이스 명은 I '로 시작한다. 개념적으로 볼 때 인터페이

스는 COM 개체와 이것을 사용하는 클라이언트 어플리케이션 사이의 계약

이다. COM 개체는 계약서 즉, 인터페이스에 명시된 대로 서비스 즉, 메서

드를 제공한다는 것을 보장하고, 클라이언트 어플리케이션은 계약서에 명

시된 대로 안전하게 COM 개체가 제공하는 서비스를 사용할 수 있다. 이미

클라이언트 어플리케이션에서 COM 개체에 명시된 인터페이스를 사용하고

있다면 일방적으로 해당 인터페이스를 수정할 수 없게 된다. 불가피하게 인

터페이스를 수정해야 할 필요가 있다면 COM개체는 새로운 인터페이스를

정의하여 제공해야 한다.

4.2.2 IUnknown 인터페이스

COM 개체는 여러 개의 인터페이스를 포함할 수 있다. 그리고 클라이언

트는 이들 인터페이스에서 제공하는 메서드를 포인터를 사용하여 호출하는

데 사용중인 인터페이스 안에서 다른 인터페이스의 메서드를 호출할 수 없

다. 또한 여러 클라이언트에서 COM개체를 동시에 사용할 수도 있는데 이

때는 사용중인 COM 개체를 소멸시킨 후에 사용되어야 하는데 이를 클라이

언트에서 하는 대신에 COM 개체 스스로가 결정해야할 필요가 있다. 이러

한 이유로 모든 COM 개체는 반드시 IUnknown 인터페이스에서 파생되어

야만 한다. 이 인터페이스는 모든 COM 개체들이 꼭 갖추어야 할 기본적인

서비스에 대한 기준을 제공한다. IUnknown 인터페이스 안에는 3가지의 메

- 22 -

Page 32: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

서드가 있는데 그것에 대한 내용은 다음과 같다.

1) QueryInterface

IUnknown 인터페이스는 클라이언트가 COM개체의 다른 인터페이스를

요청할 때 해당 인터페이스의 포인터를 리턴하는 QueryInterface 멤버를 포

함한다. 이 함수는 두 개의 매개변수를 갖게 된다. 첫 번째는 IID(인터페이

스 식별자 구조체)의 레퍼런스로 클라이언트가 요청하는 인터페이스에 대

한 정보를 포함하는 입력 매개변수이다.

HRESULT __stdcall QueryInterface(REFIID riid, void** ppv )

두 번째 변수는 클라이언트가 riid 매개변수를 통해 요청한 인터페이스에

대한 이 함수의 실행 결과인 인터페이스 포인터가 저장되는 출력 매개변수

이다. 만약 요청한 인터페이스가 없다면 ppv는 NULL이 저장된다.

2) AddRef 와 Release

여러 개의 클라이언트에서 COM 개체를 동시에 사용할 수도 있으며, 따

라서 어떤 하나의 클라이언트에서 다른 클라이언트에서는 아직도 사용중인

COM 개체를 소멸시키는 경우에는 당연히 문제가 발생하는데 이 문제의 해

결을 위해 COM 개체가 스스로가 자신이 몇 번 참조되고 있는가 하는 횟수

를 관리하고, 이 레퍼런스 카운터가 0일 때 스스로를 소멸시키는 방법을 사

용한다. IUNknown 인터페이스의 AddRef 와 Release 멤버가 이 역할을 수

행한다.

ULONG AddRef(void);

ULONG Release (void);

AddRef 함수가 호출되면 레퍼런스 카운터를 하나 증가시키고, Release

함수는 레퍼런스 카운터를 하나 감소시킨다. 이 때 Releae 함수에서는 감소

시킨 레퍼런스 카운터가 0이 될 때 스스로를 소멸시키게 된다. 따라서 클라

이언트에서는 COM 개체를 사용할 때 AddRef를 호출하여 레퍼런스 카운터

를 증가시키고, 사용이 끝나면 Relese 함수를 호출하여 해당 COM 개체가

더 이상 사용되지 않는 경우, 즉 레퍼런스 카운터가 0 일 때 COM 개체 스

스로가 자신을 소멸시킬 수 있다. 이때의 주의 사항이 있는데 인터페이스를

- 23 -

Page 33: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

리턴하는 함수에서는 리턴하기 전에 해당 인터페이스 포인터에 대하여 항

상 AddRef 함수를 호출해야 한다. 그리고 인터페이스 사용이 끝나면 해당

인터페이스 포인터에 대하여 항상 Release 함수를 호출해야 하고, 마지막으

로 인터페이스 포인터를 다른 인터페이스 포인터에 대입한 경우에 해당 인

터페이스 포인터에 대해 AddRef를 호출해야 한다.

4.2.3 IDL(Interface Definition Language)

COM에서 인터페이스를 정의할 수 있는 표준 개발도구가 있는데 이를

IDL (Interface Definition Language)라 한다. COM에서 사용하는 IDL은

OSF (Open Software Foundation)에서 빌려와 사용하였던 RPC(Remote

Procedure Call)의 IDL을 확장한 것이다. 이와 함께 마이크로스프트는 IDL

정의 파일을 컴파일할 수 있는 MIDL(Microsoft IDL) 컴파일러를 제공한다.

이 IDL과 MIDL 컴파일러를 사용하여 가능한 작업을 간단히 설명하면 인

터페이스를 정의한 코드를 포함하는 헤더 파일을 생성하며, 로컬 서버(local

server ) 또는 리모트 서버(remote server ) 컴포넌트의 커스텀 인터페이스에

대한 마샬링(marshaling ) 기능을 제공하는 프록시(proxy )와 스텁(stub) 코

드를 생성한다. 마지막으로 자동화(Automation)에서 사용되는 형식 라이브

러리(T ype Library )를 생성한다.

- 24 -

Page 34: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5. GPS 모듈 및 응용프로그램

5.1 GPS 모듈 전체 구성도

그림 2. GPS 모듈 전체 흐름도

GPS 모듈 개발에 앞서 먼저 수행되어야 할 것이 틀을 구성해야 하는 것

인데 우선은 필요한 부분을 우선적으로 선택하여 구성하였고 부가기능까지

흐름도에 추가하였다. 우선 큰 항목부터 정하여 그것에 맞는 기능들을 아래

서 나열하였고 그것에 대한 데이터의 흐름은 선으로 표현하였다. 각 항목에

대한 세부 내용은 다음에 설명을 하였다.

- 25 -

Page 35: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.1.1 Setup 부분

그림 3. Setup 세부 흐름도

Setup 부분은 GPS 처리에 앞서서 세부적인 항목들을 정해주는 부분으로

서 필수적으로 정해주는 것은 아니지만 정확도의 향상에 어느 정도의 영향

을 미치는 항목이다. 특히 Advanced Contorol 부분에서는 위와 같은 여러

가지 내용을 정해줌으로서 결과를 여러 가지로 뽑아볼 수 있는 부분이기도

하다.

- 26 -

Page 36: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.1.2 Network 부분

그림 4. Netw ork 세부 흐름도

Netw ork 부분은 GPS측량 방법에 있어서 Static 측량과 Kinematic 측량

이 있는데 Static은 정밀 측량시에 많이 사용되는 방법으로 한 점의 측량 시

간이 길다. 반면에 Kinematic 측량은 많은 점을 측량하는 방법으로 한 점

측량시간이 Static에 매우 짧다. 이 두 측량을 하는데 DGPS 측량이 이루어

질 때 Base 점을 기지점으로 Netw ork이 생성되는데 이것을 관리해주는 부

분이다. GPS 측량에서는 Base와 Rover 사이의 측량시간대가 중요한데

Rover 부분의 측량 시간대가 Base 측량 시간대에 100% 매치가 되어야 하

는데 이것을 Check 해주는 부분이기도 하다

- 27 -

Page 37: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.1.3 Point Pos itioning 과 DGPS 세부 흐름도

그림 5. Point Positioning 과 DGPS 세부 흐름도

위에서 언급한 것과 같이 GPS 위치해를 결정하는 방법에는 여러 가지가

있는데 이것들을 결정해 주는 부분이다. 특히 크게 Single GPS (Point

positioning )과 Differential GPS (DGSP )로 나누게 되어 있으며, 위 그림 4과

같이 이 두 방법에 데이터의 흐름은 거의 비슷하게 연결되어 있다. 우선 신

호의 종류와 알고리즘의 종류를 고르게 되며 결과치를 계산하게 된다.

5.2 GPS 모듈 인터페이스

GPS 모듈 개발에 있어서 사용된 인터페이스는 다음 표와 같이 정리하였

다.

▷ IEphemeris

위성력 데이터를 가지고 위성의 위치를 결정해주는 인터페이스

▷ ILeastSquare

구성된 행렬을 최소제곱법으로 계산해주는 인터페이스

- 28 -

Page 38: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

표 2. 사용된 인터페이스

▷ IC1

GPS 데이터 중 C1 code를 입력받아 처리해주는 인터페이스

▷ IC1L1

GPS 데이터 중 C1 code와 L1 Phase를 입력받아 처리해주는

인터페이스

▷ ICP

GPS 데이터 중 C1 code와 P code를 입력받아 처리해주는

인터페이스

▷ ISmoothed

GPS 데이터의 오차를 줄이기 위한 Smooth 기법을 수행하는

인터페이스

▷ ICoordinateXYZtoLL

지심 직각 좌표와 경위도 좌표를 상호 변환해주는 인터페이스

▷ IMolodensky

타원체 변환을 해주는 인터페이스

▷ IGLDcfEngine

결과물 출력을 해주는 인터페이스

위의 인터페이스는 대표적인 인터페이스만을 언급한 것이다. 예를 들어

IC1과 같은 부류의 인터페이스는 신호 조합에 의해 매우 많은 인터페이스

가 생길 수 있다. 또한 DGPS 부분의 인터페이스까지 한다면 인터페이스의

수가 더욱 많아진다.

5.3 GPS 모듈을 연계할 응용프로그램 구성

COM에 의한 GPS 모듈 개발을 목적으로 하고 있지만 개발된 모듈을 확

인해야할 클라이언트 프로그램 즉, 응용프로그램이 필요하다. 결과물의 형

태가 DLL이기 때문에 인터페이스의 흐름이나 결과치를 눈으로 직접 확인

할 수가 없다. 이때는 DLL을 시스템에 등록을 시켜 응용프로그램을 연계하

여 확인해 보아야 한다. 이 목적과 더불어 GDK (GEOMania Development

Kit )를 이용하여 측량결과를 바로 확인해 볼 수 있는 기능을 추가하였다.

- 29 -

Page 39: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

더불어 이것으로 GIS 데이터의 질적 향상을 도모할 수 있도록 하였다.

5.3.1 Data Load

그림 6. Data Load

GPS data를 처리하기 위하여 Low data를 S/ W로 불러들이는 과정으로

궁극적으로 여러 가지의 Format의l Load가 가능한 형태의 프로그램으로 확

장되어야 한다. 현재에는 RINEX format의 Observation data와 Navigation

data를 읽어 들이게 개발하였다.

5.3.2 Process

그림 7. Data processing에 대한 선택 화면

- 30 -

Page 40: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

Data 처리에 관하여 측량방법(Setup)과 신호종류(Data T ype)의 선택 또

는 선택 가능한 정보의 제공을 처리하는 부분의 사용자 인터페이스이다. 또

한 Single GPS (Point Posit ioning )와 DGPS (BaseLine [DGPS])의 결정을

하는 부분이다.

5.3.3 Advanced Control

위의 단계에서 선택된 사항과 더불어 하위의 상세한 처리방법을 선택한

다.

그림 8. Data Processing Option GUI

이 단계에서 전리층지연효과와 대류지연효과 등의 delay등에 관한 처리

과정을 선택 결정한다.

- 31 -

Page 41: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.3.4 Point Pos itioning

그림 9. 선택된 파일의 처리 및

결과 출력 화면

처리과정의 파일정보의 Display와 파일 선택하는 기능을 가지고 잇다.

GPS 데이터 처리 결과를 WGS84 타원체의 지심 좌표로 출력된다.

- 32 -

Page 42: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.4 GDK 연계된 응용프로그램 개발

5.4.1 GDK(GeoMania Deve lopment Kit)

GDK는 공간 데이터를 컴퓨터 내부에 표현하거나 화면에 출력하는 부분

과 관련된 편리하고 재사용이 용이한 각종 API 함수들을 제공하여 매뉴얼

을 참고하여 짧을 시간에 자신의 GIS 응용 S/ W를 개발할 수 있도록 도와

주는 개발 도구이다.

GIS 기술을 대부분 외국에 전적으로 의존하고 있으며 기술개발 투자가

미흡한 현재의 국내 상황에서 GDK는 구내 GIS 기술수준을 한 단계 끌어올

리기 위한 도구라 할 수 있다.

5.4.2 GIS(Geographic Information System)

GIS는 지리 및 지형에 관련된 공간 데이터와 그 공간 데이터와 관련된

속성 데이터(문자 데이터 또는 비공간 데이터)를 처리하도록 설계된 정보

시스템이다. 정보 시스템은 데이터를 저장하고, 갱신하고, 분석하고, 새로운

정보를 유도하는 일련의 연산들을 제공하여 사용자가 원하는 형태로 출력

할 수 있도록 한다. 다시 말하면 GIS란 비공간 데이터뿐만 아니라 공간 데

이터를 표현하는 기능과 그 데이터를 처리하는 연산 능력을 가진 데이터베

이스 시스템이다.

- 33 -

Page 43: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

5.4.3 사용된 GDK 기능

표 3. 연계로 사용된 기본메뉴

XM_ManagerStart - 초기화 함수

XM_New - 새로운 XISMAP 생성

XM_Open - 기존의 XISMAP을 Open

XM_Close - XISMAP Close

응용프로그램에 사용된 GDK 기능 중에 가장 기본이 되는 기능으로 지

도의 생성 및 저장, 열기, 닫기 등과 같은 기능들을 말한다.

표 4. Zoom 관련 기능

XMS - ZoomIn - 지도를 일정비율로 확대

XMS_Zoomout - 지도를 일정비율로 축소

XMS_Win - 지도를 화면상의 사각형 범위로

확대

Zoom 값은 화면에 지도가 나타나는 확대/축소의 기준이다. Zoom값은

여러 가지로 표현되어질 수 있는데, 보통의 경우 가로축의 실거리를

Factor값으로 사용한다. 일반적으로 XMS_GetZoomInfo와 XMS_Set

ZoomInfo를 가장 많이 사용하며, Zoom관련함수들은 모두 화면갱신이 자

동으로 이루어진다.

- 34 -

Page 44: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

표 5. 좌표변환에 대한 기능

XIS_LLtoT M - 경위도 좌표 - > T M 좌표

XIS_T MtoLL - T M 좌표 - > 경위도 좌표

PR_ConvertProjection - 좌표계를 변환

좌표변환 함수는 지도좌표와 화면 좌표간의 변환함수와 지도좌표간의

변환함수로 나눌 수 있다. 좌표계간의 변환함수도 중요하지만 사용빈도로

보면 지도좌표와 화면좌표간의 변환함수가 더 많이 쓰인다. 좌표계간 변

환함수는 XIS_CoordinateT rans 또는 PR_ConvertProjection을 사용한다.

- 35 -

Page 45: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

6. 연구 결과

6.1 GPS 모듈 개발 결과

6.1.1 GPS 모듈 구동 방법

DLL의 형태의 결과를 Regsvr32라는 명령어를 이용하여 GPS 프로세스를

레지스트리에 등록을 시킨다. 그리고 개발된 응용프로그램을 실행시키면

실제적인 GPS 프로세서 DLL이 구동된다.

그림 10. DLL 등록 완료후의 메시지

위 그림의 메시지가 뜨게 되면 시스템에 GPS 모듈의 등록이 완료된 것이

다. 그러므로 정해진 인터페이스를 함수를 이용할 수 있게 된다.

6.1.2 GPS 결과 출력 화면

응용프로그램을 실행시키면 초기 화면이 뜨게 되는데 우선 RINEX

Format의 GPS측량 데이터를 load 한다. 이것을 먼저하지 않으면 다음을 실

행시킬 수 없다. 그 후에 데이터 후처리라는 메뉴를 선택하면 처리하는데

선택할 수 있는 여러 가지의 기능들이 나오게 된다. 신호 조합을 고르고, 측

량 방법을 고르며, Matrix 조성 방법을 고르는 것이다. 그리고 여기서 위에

서 말한 Advanced Control 이라는 항목을 선택하여 세부적인 항목도 결정

- 36 -

Page 46: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

할 수 있다. 그리고 처리 방법에 따른 Point Positioning 또는 DGPS 항목도

결정이 가능하다.

이것들을 결정하고 나면 결과치가 출력되는 창이 뜨는데 그것은 다음과

같다.

그림 11. GPS 측량 결과 출력 화면

그림과 같이 결과물이 출력되는데 위의 값은 GPS 처리 후의 결과 산출물

인 WGS84좌표계의 3차원 좌표가 나오며, 아래는 우리 나라 좌표계인 횡메

르카토르 도법을 이용한 평면직각 좌표계의 좌표가 나오게 된다.

- 37 -

Page 47: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

6.2 GPS 모듈 결과 비교 분석

6.2.1 GPS 위치결정 결과값 비교 분석

결과값을 비교하기 위해 사용된 데이터는 1주파수의 수신기로 Static 측

량한 데이터이다. 1주파수는 C1, L1, D1의 신호를 수신한 것으로서 이 측량

데이터를 RINEX Format으로 변환을 하여 구현된 GPS Processor로 여러

가지 결과값을 구했다. 실제 이 지점의 좌표는 아래와 같다.

표 6. 측량점의 실제 좌표값

사용된 WGS84 좌표

Latitude

(X)

37°27′2.17″

(- 3026540.8109m )Longitude

(Y)

126°39′13.02″

(4067283.6631m )Height

(Z)

59.461m

(3857249.3587m )

가장 기본적인 C1 코드만을 이용한 결과치를 비교하면 다음의 값이 나오

게 된다.

표 7. 두 방법의 결과치 비교

< 1> 연속 방법 (Sequential Method)

X - 3026580.05476

Y 4067286.41323

Z 3857258.87068

< 2> 일괄 방법 (Batch Method)

X - 3026579.95065

Y 4067286.36163

Z 3857258.45278

- 38 -

Page 48: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

두 방법의 결과를 비교해 보면 일반적인 방법인 연속방법 보다는 관측치

가 많아지면 결과치가 정확해 진다는 논리를 따른 일괄 방법이 실제값과 더

가까운 것을 볼 수 있다.

위의 결과값의 차이가 많이 나는 이유는 오차 요인의 제거가 거의 없었으

며, C1 이라는 코드 하나만 가지고 처리를 했기 때문에 차이를 보이는 것이

다. 여러 Code와 Phase를 이용하여 계산을 한다면 더욱 정확한 값이 나올

것이다.

6.2.2 좌표변환 결과값 비교 분석

GPS 측량의 결과값의 형태는 WGS84이므로 변환을 하였는데 그것에 대

한 정확도도 다음과 같음을 알 수 있다.

표 8. 비교에 사용된 WGS84 좌표값

사용된 WGS84 좌표

Latitude 37 24 '09.013"N (37.402503611)

Longitude 126 39'04.502"E (126.651250555)

Height 37.138m

위의 데이터를 입력 값으로 하고 Molodensky 변환 방법을 이용하여 입력

값을 Bessel 좌표값으로 변환하기 위한 Parameter 5가지인데 그것은 아래

와 같은 값이다.

a , f : 두 타원체의 장반경과 편평율의 차

X , Y , Z : 보정치

보정치의 값은 Datum중에서 T okyo Mean Value를 사용하였으며 그 값

은 다음과 같다.

X Y Z

- 128 481 664

- 39 -

Page 49: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

이 Parameter를 가지고 현재 상용되고 있는 T rimble의 GPSurvey라는 소

프트웨어와 같은 입력값을 넣어 값을 비교해 보았다.

표 9. 결과 비교

GPSurvey결과 본프로그램결과

Latitude 37.39970284° 37.39970349°

Longitude 126.653334° 126.65333363°

Height - 18.047m - 18.07327807m

위의 표의 결과를 비교해 보면, 경,위도는 10 - 7의 자리에서 차이가 나는

것을 알 수 있으며, 높이는 10 - 2의 자리에서 차이가 나는 것을 볼 수 있다.

이는 신뢰성을 갖춘 소프트웨어와 비교한 것으로 본 프로그램의 알고리

즘도 어느 정도 신뢰성을 보장할 수 있다.

또한 위의 타원체 변환 후에 평면직각좌표로의 변환이 필요한데 이것도

같은 방법으로 비교를 하면 다음과 같다.

표 10. 투영 결과 비교

상용소프트웨어 (X ) 본 프로그램 (X ) 상용소프트웨어 (Y ) 본 프로그램 (Y )

A 402022.969m 402022.969m 124710.666m 124710.636m

B 392480.610m 392470.587m 212276.459m 212276.383m

C 391828.654m 391828.575m 204848.834m 204848.820m

D 406316.952m 406346.916m 205776.473m 205776.440m

E 404155.376m 404155.348m 207291.220m 207291.156m

F 404535.389m 404535.306m 206537.033m 206537.192m

G 398101.051m 398101.028m 207213.000m 207213.067m

RMSE (X) = 0.048754487m RMSE (Y) = 0.077299972m

위 표7의 결과를 비교해보면 수cm 로 차이가 있음을 볼 수 있다.

다음의 표는 국립지리원에서 공시한 오차 허용 범위이다.

- 40 -

Page 50: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

표 11. 수치도화의 축척별 오차의 허용범위

도화 축척표준편차 최대오차

평면위치 등고선 표고점 평면위치 등고선 표고점

1 / 1,000 0.2m 0.3m 0.15m 0.4m 0.6m 0.3m

1 / 5,000 1.0m 1.0m 0.5m 2.0m 2.0m 1.0m

1 / 25,000 5.0m 3.0m 1.5m 10.0m 5.0m 2.5m

위의 표의 내용의 보면 표 10의 오차가 표 11의 오차허용범위 안에 있

음을 알 수 있다. 그러므로 위의 투영 변환의 정확도는 유효하다고 볼 수

있다.

- 41 -

Page 51: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

6.3 GDK 연계 결과 화면

그림 12. 전체 화면

그림 8은 GDK 연계를 한 응용프로그램의 전체 초기 화면이라 할 수 있

다. 기능설명은 위에서 모두 했으므로 설명은 생략하기로 한다.

여기에 지도를 띄울 수 있으며 그 형태로는 GDK를 이용했으므로

GeoMania의 고유 포맷인 .GEO 라는 것과 다른 형태로 바꿀 수 있는 DXF

포맷을 읽을 수 있게 하였다.

- 42 -

Page 52: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

그림 13. DXF 포맷의 파일을 연 화면

GDK의 연계에 의해 GPS측량 결과를 화면에 띄워 표시할 수 있으며, 이

것을 GIS의 데이터로서 GDK 연계에 의한 것이므로 GeoMania 고유 포맷

으로 기존의 수치지도의 갱신이나, 새로운 지도의 생성이 가능하다.

- 43 -

Page 53: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

그림 14. 측량 데이터의 처리 후 지도에 표시

위의 메뉴에서 보면 Display 부분을 선택하여 실행을 하게 되면 측량 데

이터의 처리를 하고 난 후의 결과치가 화면 지도 위에 나올 수 있는 기능이

있는 것을 볼 수 있다. 이런 기능을 활용하여 측량결과를 지도에 나타냄으

로서 실제 수치지도의 현재의 상황으로 갱신이 가능할 뿐이니라, 새로운 지

도의 생성이 가능함을 알 수 있다

- 44 -

Page 54: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

.

그림 17. 다른 측량 데이터 지도 표시

그림 17은 인하대학교 5호관에 있는 Base Station을 RINEX 포맷으로 변

환한 후에 GPS 자료처리 모듈로 결과를 계산하여 출력한 것을 보여주는 그

림이다. Standalone GPS 한 것으로 원래 좌표 근처까지 수렴됨을 볼 수 있

는 그림이다.

- 45 -

Page 55: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

7. 결론 및 향후과제

본 연구에서는 국내 GIS 데이터의 정확도의 향상을 위한 국내 GPS 프로

세스 모듈 개발에 대한 가능성을 제시하였다. GPS 프로세스 개발에 있어서

컴포넌트 형태의 개발을 함으로써 재사용성에 대한 이점을 살려 어느 응용

프로그램에도 포함이 될 수 있도록 하였다.

이는 물론 개발된 응용프로그램에 연계한 것으로 그것을 알 수 있으며,

GPS 프로세스 모듈에 대한 정확도를 검증된 GPS 프로세스 프로그램의 결

과와 비교 분석해 봄으로써 신뢰성을 갖추었다. 또한 GDK 연계에 의해

GIS 기능을 갖추어 GPS 측량 데이터 처리를 하고, GIS 데이터로까지의 과

정이 한 프로그램에서 나올 수 있음을 볼 수 있다.

현재 쓰고 있는 수치지도의 최근 정보 갱신이나 GPS 측량 결과를 이용한

기존 수치지도보다 더욱 정확한 수치지도를 생성함으로서 GIS 데이터의 위

치정확도의 질을 높일 수 있다.

본 연구에서는 GPS 측량데이터의 형태를 하나로만 국한시킨 것으로 제

한된 모듈이 되었지만 GPS의 다른 측량 결과 포맷 즉, NMEA 등의 포맷까

지 읽을 수 있는 모듈기능의 확장이 필요하며, 현재 개발된 프로세서에서는

Single GPS 처리가 가능한 것으로 이 모듈에 DGPS에 대한 기능의 추가가

요구된다. 또한 전리층 지연효과나 대류층 지연효과와 같은 GPS 오차에 대

한 깊이 있는 분석과 함께 이 부분에 대한 처리기능의 추가도 필요하다.

- 46 -

Page 56: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

참고 문헌

[1] David Wells , Canadian GPS A ssociates, Guide to GPS Posit ioning

[2] Alfred Leick, Wiley Inter science, GPS Sate llit e Surveying 2nd

edition

[3] B. Hofmann - Wellenhof, H . Lichtenegger , and J . Collins, Springer

Wien New York, GPS T heory and Practice 4st edition

[4] Gunter Seeber , de Gruyter , Satellite Geodesy

[5] Gilbert Strang , Kai Borre, Wellesley - Cambredge Press, Linear

Algebra, Geodesy , and GPS

[6] Jay A . Farrell & Matthew Barth , Mc Graw - Hill, T he Global

Positioning Sy stem & Inertial Navigation

[7] 전병선, 1999. 삼양출판사, MS Visual C++ 6.0 MFC Programming

[8] 전병선, 1999. 삼양출판사, MS Visual C++ 6.0 AT L COM

Programming

[9] 이상엽, 1999, 영진출판사, Visial C++ Programming Bible

[10]거림시스템, 1998, 거림시스템, 국내 개발 GIS S/ W GDK v2.5

[11] 권대원, 윤홍식, 최재화, 1995, 7- 매개변수 좌표변환에 의한 우리 나

라 측지계와 WGS84의 좌표변환

[12] NIMA , 1997, NIMA World Geodetic Sy stem 1984

- 47 -

Page 57: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

[13] John P . Snyder , 1982, USGS, Map Projections Used by the U .S .

Geological Survey

[14] Paul R. Wolf, Charles D. Ghilani, 1997, Wiley interscience,

Adjustment Computations

- 48 -

Page 58: GIS 자료 정확도 향상을 위한 · 또한 gps 데이터 처리 모듈 개발로 인하여 gis 소프트웨어 기능의 다 양성 향상과 모듈개발로 인해 중복투자를

감사의 글

2년이라는 대학원 생활이 저에겐 참으로 많은 것을 깨닫게 해준 시간이

었습니다. 이제껏 살아오면서 겪지 못했던 여러 경험을 겪을 수 있었으며,

많은 사람을 만날 수 있었습니다. 이제 그 동안의 생활을 정리하고 이 생

활을 발판으로 더 큰 사회에 나아가 발전하고자 합니다. 이 글을 쓰려니

저를 이만큼 성장하게끔 격려와 도움을 주신 많은 분들이 생각납니다.

우선 지난 2년 동안 부족한 저를 지도해주시고 이끌어 주신 임삼성 교

수님께 깊은 감사를 드립니다. 그리고 저의 부족한 논문의 심사를 맡아주

신 김병국 교수님과 김계현 교수님, 항상 관심을 갖고 여러 가르침을 주

신 이규성 교수님, 조우석 교수님, 박수홍 교수님께 깊이 감사드립니다.

또한 대학원 생활 동안 본보기가 되어주셨던 노현호 선배님께(지금 유

학중입니다.) 감사의 메시지를 보내고 싶고, 저에게 여러 가지 조언을 해

주신 이기석 선배님께도 감사드립니다. 그리고 대학원 2년간 나와 함께

생활하며 항상 나의 걱정을 해준 수영에게 고마운 마음을 전하고 싶습니

다. 2년 동안 함께 연구실 생활을 하며 어려운 일, 기쁜 일을 같이 했던

대희, 영배형, 영진오빠, 조성준씨에게 고마운 마음 전하고 싶고, 1층의 매

핑연구실에 정민선배님, 동훈선배님, 동기인 도찬오빠와 윤석, 후배 천우,

항상 열심히 일하는 GIS연구실에 숙주언니, 방진선배님, 동기인 우철, 항

상 웃어주는 호석오빠, 같이 놀던 헌명... ,RS연구실에 동기 여상이, 정현

오빠, 태훈오빠, 선일이 들에게도 고마운 마음 전하며, 다 언급할 수 없지

만 대학원 선후배님들께도 고마움을 전합니다.

그리고 저와 함께 대학생활을 하고, 취업해서 일하기 여념이 없는 와중

에도 저를 응원해준 현수, 자주 만날 수 없었지만 마음속으로 항상 나를

응원해준 12년 지기인 미형, 승희, 미혜에게도 고마운 마음을 전합니다.

마지막으로 내가 세상에서 나를 가장 많이 걱정해주고, 사랑해주는 내

가 제일 사랑하는 가족... 염려에 매일 전화를 해주시던 아버지, 매일 저의

건강과 졸업을 기도해 주신 어머니, 국방의 의무를 띄고 복무 중에도 전

화로 응원을 해준 동생에게도 깊은 사랑과 감사를 전합니다.

새로운 각오를 다지며....

변 수 윤

- 49 -