Smart Parking Plan Parser 아키텍처 문서
1. 프로젝트 개요
이 프로젝트는 주차장 도면(DXF 파일)을 분석하여 주차 공간, 비상벨, CCTV 등의 위치 정보를 추출하고 JSON 형식으로 변환하는 파서입니다.
2. 시스템 아키텍처
3. 주요 컴포넌트
3.1 Plan Parser (planparser.py)
- DXF 파일을 읽고 처리하는 메인 모듈
- 설정 파일(settings.yaml)을 통한 파라미터 관리
- 각 층별 주차 공간 정보 추출 및 JSON 파일 생성
3.2 Functions (functions.py)
주요 기능들을 구현한 모듈로 다음과 같은 기능들을 포함:
-
도형 분석 함수들
extract_type: 레이어의 도형 타입 추출direction: 선의 방향 계산distance: 두 점 간의 거리 계산is_perpendicular: 두 선의 수직 여부 확인is_same_length: 세 선의 길이 비교
-
주차 공간 분석 함수들
extract_parking_area: 주차 공간 영역 추출extract_parking_points: 주차 공간의 좌표점 추출get_parkingLocations: 전체 주차 위치 정보 추출
-
부가 시설물 분석 함수들
get_emergencyBells: 비상벨 위치 추출get_camera: CCTV 카메라 위치 추출
4. 처리 프로세스
5. 데이터 흐름
-
입력 데이터
- DXF 형식의 도면 파일
- YAML 형식의 설정 파일
-
중간 처리
- 도면 요소 추출 및 분석
- 좌표 변환 및 보정
- 객체 정보 구조화
-
출력 데이터
- 층별 주차 공간 정보 (JSON)
- 비상벨 위치 정보 (JSON)
- CCTV 위치 정보 (JSON)
6. 설정 관리
settings.yaml 파일을 통해 다음 설정들을 관리:
- 입력 파일 경로
- 층별 시작점 좌표
- 도면 레이어 정보
- 객체 크기 제한값
7. 확장성
시스템은 다음과 같은 확장이 가능하도록 설계되어 있습니다:
- 새로운 도면 요소 추가
- 다양한 출력 형식 지원
- 추가 분석 기능 구현