콘텐츠로 이동

개요

GeoOmni는 사진측량 및 매핑 통합 솔루션의 데스크톱 클라이언트입니다. WinUI 3 스타일의 현대적 인터페이스에서 프로젝트 관리, EPSG 좌표계 설정, 타일 지도 대시보드, MCP 에이전트 자동화를 제공합니다.


앱 아키텍처

MainWindow (DWM Mica 배경)
├── CustomTitleBar (48px)
│   ├── 로고 + 앱 이름
│   ├── QMenuBar (파일/편집/창/보기)
│   ├── 포탈 버튼
│   ├── 이슈 보고 버튼 (로그인 시 활성화)
│   ├── 테마 전환 버튼
│   └── 시스템 버튼 (최소화/최대화/닫기)
├── NavigationView (좌측, 펼침 200px / 접힘 48px)
│   ├── 대시보드
│   ├── 문서
│   ├── 좌표계
│   └── 설정
├── QStackedWidget (우측, 4페이지)
│   ├── [0] DashboardPage (프로젝트 정보 + 타일 지도)
│   ├── [1] QMdiArea (다중 문서 편집기)
│   ├── [2] CoordinatePage (EPSG 좌표계)
│   └── [3] SettingsPage (20개 설정 카드)
└── StatusBar (하단)

앱 전체 UI 구조


기능 개요

대시보드

프로젝트 상태를 한눈에 파악하는 시작 페이지입니다.

  • 요약 카드 4개: 카메라 수, GCP 수, 이미지 수, 모델 수
  • 프로젝트 상세 테이블: 이름, 카메라, GCP, 이미지, IO, 모델, RO, AO
  • TMS 타일 지도: 줌/팬, 7개 프리셋, 역지오코딩 (VWorld API)

자세한 내용: 대시보드

좌표계 설정

EPSG 데이터베이스 기반 좌표계를 설정합니다.

  • Local / EPSG 라디오 선택
  • 지역 필터 (Korea / Global / UTM)
  • EPSG 상세 정보: 투영 타입, 데이텀, 타원체, 원점, 축척 계수, 범위

자세한 내용: 좌표계 설정

MDI 문서 편집기

QMdiArea 기반 다중 문서 인터페이스입니다.

  • 새로 만들기 / 열기 / 저장 / 다른 이름으로 저장
  • 타일 배열 / 종렬 배열 / 모두 닫기
  • 텍스트 편집 기본 기능 (실행 취소, 잘라내기, 복사, 붙여넣기)

자세한 내용: MDI 편집기

전역 설정

20개 설정 카드로 앱을 세밀하게 조정합니다.

  • 일반: 언어, 시작 동작
  • 테마/외관: 다크/라이트, 폰트
  • 지도: TMS 프리셋 (7종), API 키 (VWorld/Stamen)
  • 고급: 로깅, 성능, 서버 포트
  • 좌표계: EPSG 데이터, 필터
  • MCP 서버: 포트, 클라이언트 수, 활성화
  • 계정: 포탈 로그인 (Google OAuth)

자세한 내용: 전역 설정

협업 포탈 연동

타이틀바 버튼으로 협업 포탈에 접속합니다.

  • 포탈 버튼: 협업 포탈 웹 페이지 열기
  • 이슈 보고 버튼: 이슈 작성 페이지 열기 (로그인 시만 활성)
  • 설정 > 계정 페이지에서 Google OAuth 로그인

자세한 내용: 협업 포탈


MCP 에이전트 연동

TCP 소켓(포트 9234) + JSON-RPC 2.0 프로토콜로 LLM 에이전트가 앱을 원격 제어합니다. 20개 MCP 명령으로 페이지 전환, 위젯 조작, 테마 변경, 좌표계 설정 등 자동화가 가능합니다.

카테고리 명령 수 주요 명령
시스템 3 ping, system.getVersion, system.listCommands
UI 위젯 6 ui.findWidget, ui.clickWidget, ui.captureWindow
마우스 3 mouse.getPosition, mouse.move, mouse.click
키보드 2 keyboard.type, keyboard.sendKey
네비게이션 2 nav.selectPage, nav.getCurrentPage
앱 설정 4 app.setTheme, app.setEpsgCode

자세한 내용: MCP 명령 레퍼런스


WinUI 3 스타일 UI

GeoOmni는 Qt 6 위에 WinUI 3의 디자인 언어를 구현합니다:

요소 구현
Mica 배경 DWM API DwmSetWindowAttribute
NavigationView 커스텀 QWidget (펼침/접힘 애니메이션)
다크/라이트 모드 런타임 전환 + Windows 시스템 감지
커스텀 타이틀바 48px 높이, 드래그 영역, 시스템 버튼
둥근 모서리 CSS border-radius, QPainterPath
Acrylic 효과 반투명 배경 (NavigationView)