빠른 시작
GeoOmni를 처음 사용하는 분을 위한 가이드입니다.
첫 실행
GeoOmni_QtMdiApp.exe실행- 메인 화면 표시 (대시보드 페이지가 기본)
- 시스템 다크 모드 감지 → 자동 테마 적용
인터페이스 소개
전체 레이아웃
┌───────────────────────────────────────────────────┐
│ 커스텀 타이틀바 (48px) │
│ [로고] [메뉴] [포탈] [이슈] [테마] [시스템 버튼] │
├──────────────┬────────────────────────────────────┤
│ Navigation │ 콘텐츠 영역 │
│ View │ │
│ • 대시보드 │ 선택한 항목의 페이지가 표시됨 │
│ • 좌표계 │ │
│ • 카메라 │ (뷰어는 단일/다중 모두 같은 │
│ • GCP │ Vulkan 엔진을 공유) │
│ • 이미지 │ │
│ • 모델 │ │
│ • 표정 ─┬ 내부표정 │
│ ├ 상호표정 │
│ └ 절대표정 │
│ ────── │ │
│ • 설정 │ │
├──────────────┴────────────────────────────────────┤
│ 상태 표시줄 (엔진 모드 · 좌표 · 줌 · FPS) │
└───────────────────────────────────────────────────┘

NavigationView
좌측 패널에서 페이지를 전환합니다. WinUI 3 스타일의 펼침(200px)/접힘(48px) 애니메이션을 지원합니다.
| 항목 | 설명 |
|---|---|
| 대시보드 | 프로젝트 요약, 타일 지도 |
| 좌표계 | EPSG 좌표계 설정 |
| 카메라 | 카메라 등록 · 프리셋 |
| GCP | 지상기준점 관리 |
| 이미지 | 이미지 등록 · 카메라 지정 · 피라미드 |
| 모델 | 좌/우 이미지 쌍 관리 |
| 표정 | 내부표정 / 상호표정 / 절대표정 |
| 설정 | 전역 설정 |
메뉴바
상단 타이틀바의 메뉴에서 주요 기능에 접근합니다:
| 메뉴 | 주요 기능 |
|---|---|
| 파일 | 새로 만들기, 열기, 저장, 다른 이름으로 저장 |
| 편집 | 실행 취소, 잘라내기, 복사, 붙여넣기, 모두 선택 |
| 창 | 타일 배열, 종렬 배열, 모두 닫기 |
| 보기 | 테마 전환 |
타이틀바 버튼
| 버튼 | 기능 | 조건 |
|---|---|---|
| 포탈 | 협업 포탈 웹 열기 | 항상 활성 |
| 이슈 보고 | 포탈 이슈 작성 페이지 열기 | 로그인 시만 활성 |
| 테마 | 다크/라이트 모드 전환 | 항상 활성 |
앱 사용 흐름
1단계: 대시보드 확인
앱 실행 시 대시보드 페이지가 표시됩니다.
- 프로젝트 요약 카드: 카메라/GCP/이미지/모델 수
- 프로젝트 상세 테이블: 이름, 카메라, GCP, 이미지, IO, 모델, RO, AO 정보
- 타일 지도: TMS 기반 지도 (OSM 기본, 줌/팬 가능)
2단계: 좌표계 설정
NavigationView에서 좌표계 선택:
- Local: 로컬 좌표계
- EPSG: EPSG 데이터베이스에서 코드 선택 (예: 5186 = 한국 중부원점)
- 지역 필터: Korea / Global / UTM
- 우측 상세 패널: 투영 타입, 데이텀, 타원체, 범위 등
3단계: 카메라 등록
NavigationView에서 카메라 선택:
- [프리셋] 에서 34개 내장 카메라 중 선택하거나 [+ 추가] 로 직접 등록
- 초점거리 · 주점 · 센서 크기 · 해상도를 입력하고 [적용]
카메라의 내부표정 요소가 이후 모든 표정 계산의 입력이 됩니다.
4단계: 이미지 등록과 표정
| 순서 | 페이지 | 작업 |
|---|---|---|
| ① | 이미지 | 이미지/폴더 추가 → 카메라 지정(필수) → 피라미드 생성 |
| ② | 표정 → 내부표정 | 필름은 지표 관측, 디지털은 자동 실행 |
| ③ | 모델 | 좌/우 쌍 자동 생성(인접 또는 EOP 기반) |
| ④ | 표정 → 상호표정 | 타이포인트 추출 → 상호표정 계산 |
| ⑤ | 표정 → 절대표정 | GCP 관측 → 7-파라미터 계산 |
진행 상태는 표정 → 표정 개요에서 3개 카드로 확인합니다. 위에서부터 읽어 처음 만나는 "미완료"가 지금 해야 할 작업입니다.
5단계: 설정 조정
NavigationView에서 설정 선택:
- 테마/외관: 다크/라이트, 폰트
- 지도: TMS 프리셋 (7종), API 키
- 고급: MCP 서버 포트, 로깅, 성능
- 계정: 포탈 로그인 (Google OAuth)
기본 조작
주요 단축키
| 단축키 | 기능 |
|---|---|
Ctrl + N |
새 문서 |
Ctrl + O |
열기 |
Ctrl + S |
저장 |
Ctrl + Z |
실행 취소 |
Ctrl + X |
잘라내기 |
Ctrl + C |
복사 |
Ctrl + V |
붙여넣기 |
Ctrl + A |
모두 선택 |
MCP 에이전트 연동
TCP 소켓(포트 9234)으로 LLM 에이전트가 앱을 원격 제어할 수 있습니다.
import socket, json
sock = socket.create_connection(("localhost", 9234))
req = {"jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": {"name": "nav.selectPage", "arguments": {"page": "dashboard"}}}
sock.sendall((json.dumps(req) + "\n").encode())
resp = sock.recv(65536).decode()
print(json.loads(resp))
자세한 내용: MCP 명령 레퍼런스