smartparking_planparser
Architecture 구성

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)

주요 기능들을 구현한 모듈로 다음과 같은 기능들을 포함:

  1. 도형 분석 함수들

    • extract_type: 레이어의 도형 타입 추출
    • direction: 선의 방향 계산
    • distance: 두 점 간의 거리 계산
    • is_perpendicular: 두 선의 수직 여부 확인
    • is_same_length: 세 선의 길이 비교
  2. 주차 공간 분석 함수들

    • extract_parking_area: 주차 공간 영역 추출
    • extract_parking_points: 주차 공간의 좌표점 추출
    • get_parkingLocations: 전체 주차 위치 정보 추출
  3. 부가 시설물 분석 함수들

    • get_emergencyBells: 비상벨 위치 추출
    • get_camera: CCTV 카메라 위치 추출

4. 처리 프로세스

5. 데이터 흐름

  1. 입력 데이터

    • DXF 형식의 도면 파일
    • YAML 형식의 설정 파일
  2. 중간 처리

    • 도면 요소 추출 및 분석
    • 좌표 변환 및 보정
    • 객체 정보 구조화
  3. 출력 데이터

    • 층별 주차 공간 정보 (JSON)
    • 비상벨 위치 정보 (JSON)
    • CCTV 위치 정보 (JSON)

6. 설정 관리

settings.yaml 파일을 통해 다음 설정들을 관리:

  • 입력 파일 경로
  • 층별 시작점 좌표
  • 도면 레이어 정보
  • 객체 크기 제한값

7. 확장성

시스템은 다음과 같은 확장이 가능하도록 설계되어 있습니다:

  1. 새로운 도면 요소 추가
  2. 다양한 출력 형식 지원
  3. 추가 분석 기능 구현