한국에서 볼 수 있는 건물 유형을 정리하기로 했다. 골목의 단독주택부터 아파트 단지, 근린상가, 물류센터, 공항까지 한 분류 안에서 다룰 수 있어야 했다. 배달 게임에서 건물 유형이 달라진다는 건 외관이 바뀌는 것과 함께, 주소에 도착한 사람이 다음에 어디로 가야 하는지도 달라진다는 뜻이다.
예를 들어 같은 주소의 1층 식당과 위층 세대는 서로 다른 문을 쓸 수 있다. 식당 주문을 받으러 간 사람은 보도에서 점포문으로 들어간다. 세대에 배달할 사람은 옆의 공동현관에서 층과 호수를 찾아간다. 건물 분류는 이런 차이를 설명할 수 있어야 한다.
한국 건물의 유형부터 정리한다
분류의 출발점은 한국에서 실제로 볼 수 있는 건물이다. 주거와 상업 외에도 업무·숙박·교육·의료·공공·문화·종교·체육·교통 시설, 농축산과 기반시설, 작은 부속 건물까지 범위를 넓혔다. 「건축법 시행령」의 용도별 목록은 빠진 시설이 있는지 살펴보는 참고 자료로 삼았다. 게임에서 쓸 세부 유형은 거리에서 보이는 형태와 실제 접근 방식에 맞춰 정했다. 용도별 건축물의 종류
- 대분류는 주거, 상업, 교육처럼 건물이 어떻게 쓰이는지 나타낸다.
- 중분류는 빌라, 아파트, 근린상가처럼 그 용도 안에서 건물 유형을 구분한다.
- 소분류는 필로티 주차형 빌라, 판상형 아파트, 가로 연속 점포형처럼 외관이나 출입 경로가 달라지는 구조를 기록한다.
층마다 용도가 다르면 건물의 분류와 각 층의 쓰임을 함께 기록한다. 상가 건물 2층에 의원이 들어와도 상가의 공용 계단은 그대로 쓸 수 있다. 반대로 한 학교 부지 안의 교사동, 체육관, 기숙사는 동별로 분류해야 각각 알맞은 입구를 연결할 수 있다.
배달원이 실제로 거치는 길을 본다
주거에서 찾아야 하는 문
단독주택은 주소에 도착한 뒤 대문에서 마당을 지나 현관에 닿을 수 있다. 연립형 주택은 외벽이 이어져 보여도 집마다 입구가 따로 있다. 빌라는 공동현관을 먼저 찾고 계단이나 승강기를 이용한다. 아파트 단지에서는 주소 외에도 동 번호와 공동현관을 알아야 한다.
필로티 빌라를 만들 때는 기둥과 계단실을 놓고도 차가 들어갈 폭이 남는지 본다. 차가 주차된 뒤에도 사람이 공동현관까지 걸어갈 수 있어야 한다. 닫힌 1층의 빌라에는 벽체와 공동현관을 배치한다. 문이 도로보다 높으면 외부 계단과 층참을 붙일 수 있다. 외부 계단은 필로티 여부와 별도로 판단한다.
동네 상가에서 음식 픽업하기
음식 픽업의 기준은 동네 상가다. 독립 점포는 보도에서 매장으로 바로 들어간다. 여러 점포가 나란히 붙은 상가는 주소에 도착한 뒤 주문에 적힌 간판과 문을 골라야 한다. 위층 식당이라면 상가 공용문에서 계단이나 승강기를 거쳐 매장 문으로 이어진다. 주문에는 점포와 출입구, 음식을 건네받을 카운터를 연결한다.
쇼윈도와 간판, 점포문은 여러 가게에서 재사용할 수 있다. 전통시장에서는 시장 골목, 쇼핑몰에서는 공용 로비나 야외 광장이 중간에 추가된다. 마트와 백화점에는 고객 출입구와 상품 하역구가 따로 있을 수 있다. 외관을 공유해도 픽업 경로는 건물마다 달라진다.
한 주소에서 갈라지는 두 경로
상가주택에서는 1층 식당으로 가는 주문과 위층 세대로 가는 주문을 각각의 문에 연결한다. 공용문을 함께 쓰는 건물이라면 문을 지나 안쪽에서 경로를 나눈다. 이 사례를 첫 검증 대상으로 삼아 외관의 문과 실내 연결, 주문 안내가 같은 출입구를 가리키는지 확인할 계획이다. 문과 주변 벽도 같은 개구부 정보를 사용해, 열린 문 앞을 벽의 충돌체가 막지 않도록 한다.
OSM 태그를 분류에 연결한다
이전 개발 일지에서는 OpenStreetMap(OSM)에서 건물 윤곽을 가져오는 과정을 다뤘다. 지도에서 읽은 정보를 앞에서 정한 유형에 연결한다. 첫 단계는 태그가 건물 전체, 건물 안의 시설, 부지 중 어디에 붙었는지 확인하는 일이다.
- 건물 자체에 붙은 정보를 먼저 읽는다.
building=yes는 건물이 있다는 뜻이고,building=apartments는 공동주택이라는 단서다.building:use가 있으면 현재 용도도 확인할 수 있다. 인계의 NC백화점 수원점은 백화점 시설 태그가 건물 윤곽에 붙어 있었다.building=yes와shop=department_store를 함께 읽어 대형 판매시설 후보로 분류했다. OSM 건물 태그 · OSM 건물 용도 태그 - 별도로 찍힌 점포는 입점 시설로 연결한다. 식당 점이 건물 윤곽 안에 있으면 주소가 맞는지 살펴본다.
level이 있으면 식당이 있는 층에만 적용한다. 병원이나 학교 부지의 태그도 부지에 연결하고, 안에 있는 주차동이나 체육관은 개별 건물 정보를 확인한다. OSM 층 태그 · OSM 출입구 태그 - 확인된 용도 안에서 외관 후보를 좁힌다. 공동주택은 층수와 윤곽으로 저층 빌라와 큰 아파트 동을 가르는 후보를 만들 수 있다. 길고 좁은 윤곽은 판상형 외관의 단서다. 필로티 주차, 점포 전용문, 연결 복도는 추가 근거가 필요하다. 송도의
building=mixed_use는 복합용도까지 기록하고, 상가와 주거가 각각 몇 층에 있는지는 미정으로 뒀다.
building=yes에 건물 전체의 용도를 설명하는 정보가 더 없으면, 주변이 주거지라는 이유만으로 공동주택으로 판정하지 않는다. 태그가 충돌할 때는 확인된 단계까지만 저장하고, 윤곽이나 층수로 고른 외관은 추정으로 기록한다.
건물 태그만 적용했을 때 대분류까지 잡힌 건물은 인계 720개, 송도 1,227개였다. 같은 객체의 시설 태그를 결합하고 일부 시설명, 층수, 윤곽을 시범 규칙에 넣은 결과는 다음과 같다. 각 숫자는 해당 단계까지 판정한 누적 건물 수다.
- 인계 4,596개 중 대분류 753개, 중분류 322개, 소분류 외관 후보 139개.
- 송도 1,546개 중 대분류 1,255개, 중분류 869개, 소분류 외관 후보 305개.
소분류 후보 대부분은 층수와 윤곽으로 고른 판상형·탑상형 외관이다. 두 추출본의 태그만으로는 필로티 주차나 점포문과 주거문의 분리를 확인할 수 없었다. 외관 후보와 확인된 출입구는 따로 기록한다.
게임에서 자세히 만들 범위를 정한다
- 자주 쓰는 픽업·배달 경로에는 보도에서 문까지 가는 길, 공용 계단과 승강기, 층별 문, 인수 지점이 필요하다. 주거·근린상가·상가주택부터 이 경로를 구현해 볼 계획이다.
- 규모가 크거나 접근이 제한된 시설에서는 주문에 필요한 구간을 정한다. 병원은 공개 로비의 인수처, 물류센터는 지정 하역구처럼 목적지에 맞는 문을 연결한다. 역의 개찰구 안이나 병원 응급 입구처럼 별도 권한이 필요한 곳은 일반 주문 경로에서 제외한다.
- 배경 건물과 부속 구조물은 외관 위주로 만든다. 창고, 경비실, 개방 지붕은 공용 부재를 공유할 수 있다. 경비실이 실제 인수처로 쓰이면 그때 접근 경로를 지정한다. 공사 중이거나 폐쇄된 건물은 자동 주문 대상에서 제외하고,
building:part=*는 상위 건물에 붙인다. OSM 건물 부분 태그
분류가 어려운 건물은 이렇게 남긴다
건물 유형은 알지만 소분류를 모르면 해당 유형의 기본 외관을 쓴다. 저층 공동주택이라면 반복 창과 공동현관을 쓰고, 닫힌 1층을 기본 외관으로 선택할 수 있다. 실제 구조는 미정으로 남겨 나중에 필로티가 확인되면 해당 부분을 바꿀 수 있게 한다.
건물 용도를 모르면 미분류로 두고 윤곽, 확인된 높이와 층수, 도로 방향으로 기본 외관을 만든다. 저층은 벽과 창을 몇 칸 배치하고, 중층은 같은 부재에 층을 구분하는 띠와 모서리 마감을 더하며, 고층은 창을 반복하고 저층부와 상단을 나눠 마감한다. 전면을 고를 때는 외벽이 도로를 향하는지, 그 사이에 다른 건물이 있는지 살핀다. 입점 식당이 따로 확인됐으면 그 식당만 건물에 연결한다. 실제 주문을 보내려면 픽업 층과 문, 보도에서 그 문까지 갈 수 있는 경로를 먼저 정한다.
한국 건물 분류 목록
목록을 열면 대분류별 설명과 세부 유형을 볼 수 있다. 각 유형 아래에 외관·출입 구조, 지도에서 찾을 태그, 재사용할 부재를 한 항목씩 배치했다. 목록에서 B=값은 building=값을 뜻한다.
주거·상업·업무·숙박
주거
아파트 단지에서는 동 번호와 공동현관을 먼저 찾는다. 판상형은 긴 외벽에 창과 발코니가 이어지고, 탑상형은 여러 면에 창이 분산된다. 두 유형에 같은 창·발코니·승강기 모듈을 쓸 수 있다. 기숙사도 생활실 외벽을 공유하되, 캠퍼스 안에서 들어가는 경우와 거리에서 바로 접근하는 경우를 구분한다.
단독주택
도시 골목형·마당형 / 농촌 단층형 / 도시 한옥형. 도로에서 현관까지의 거리, 마당 배치, 지붕으로 구분
연립·맞벽 주택
두 집 맞벽형 / 여러 세대 연속형. 공유 벽과 세대별 도로 진입
빌라·저층 공동주택
필로티 주차형 / 비필로티 실내계단형. 외부 진입계단은 양쪽에 붙일 수 있는 변형
아파트
판상형 / 탑상형. 동의 폭·깊이와 코어 배치로 구분. 신식·구식은 마감 옵션
기숙사
교내 저층 생활동형 / 도시 독립 생활관형. 캠퍼스 내부 접근인지 도로 직결인지 구분
상업
근린상가는 보도에서 점포문으로 바로 이어지거나, 공용문에서 계단을 올라 매장에 닿는다. 시장, 마트, 쇼핑몰은 통로와 고객 출입구, 하역구의 배치에서 차이가 난다.
근린상가
독립 단층 점포형 / 가로 연속 점포형 / 다층 상가형. 직접 출입하는 점포 수와 상층 공용 코어로 구분
전통시장
아케이드 골목형 / 실내 상가동형. 점포가 외부 골목을 향하는지 내부 복도를 향하는지 구분
대형 판매시설
도심 다층 마트형 / 창고형 매장 / 백화점형. 층별 판매장·주차와 하역 위치로 구분
쇼핑몰
실내 몰형 / 야외 가로형. 점포 사이 이동이 내부 통로인지 외부 광장인지 구분
복합용도
1층 상가와 상부 주거·업무 공간은 건물을 함께 쓰면서도 층과 출입구의 역할이 달라질 수 있다.
상가주택·상업복합
1층 상가·상층 주거 / 저층 상가·상층 업무 또는 숙박 / 층별 용도 미정
오피스
소형 사옥은 골목에서 작은 현관으로 들어갈 수 있고, 큰 업무동은 로비를 지나 층을 찾는다. 여러 타워가 한 저층부를 공유하면 건물 주소에 도착한 뒤에도 타워를 골라야 한다. 격자형 창과 유리 전면은 같은 로비 동선에 다른 외관을 입힐 수 있는 변형이다.
소형 사옥
골목 단독현관형 / 1층 쇼룸 병설형. 거리에서 들어가는 업무 현관과 쇼룸의 관계로 구분
일반 오피스
벽·창 격자형 / 유리 전면형. 입면 선택이며 로비와 출입 모듈은 공유
고층 오피스
단일 타워형 / 공용 저층부·복수 타워형. 저층부와 타워별 로비 연결로 구분
숙박
호텔은 로비로 진입하는 방식과 차량 하차 공간의 유무로 나뉜다. 모텔은 공용 복도에서 객실을 찾는 방식과 차고에서 개별 객실로 접근하는 방식이 있다. 리조트나 여러 채로 된 한옥 숙소는 객실 번호보다 숙박동부터 찾는다. 주문의 인수 지점도 로비와 객실 중 어디인지 구분한다.
모텔·여관
골목 공용현관형 / 객실별 차고형. 공용 복도를 쓰는지 차량에서 객실로 개별 접근하는지 구분
호텔
보도 직결형 / 차량 하차 캐노피형. 로비 앞 차량 동선 유무로 구분
리조트·콘도
객실동 집중형 / 저층 객실동 분산형. 한 로비에서 층을 찾는지 부지에서 동을 먼저 찾는지 구분
펜션·한옥 숙소
단층 독채형 / 다객실 단일동형 / 한옥 마당·채 분리형
생산·교육·공공·생활 시설
공업·물류
작업장은 골목 셔터 하나로 드나들 수 있지만, 물류센터에는 하역구가 여러 개 있고 차량이 올라가는 램프도 있을 수 있다. 부지 정문과 특정 하역구를 따로 기록하면 보행문, 경비실, 상품 인수처를 목적에 맞게 쓸 수 있다.
소규모 작업장
골목 셔터형 / 앞마당 반입형. 도로와 작업장 문 사이의 차량 대기 공간으로 구분
공장
단독 생산동형 / 다동 생산단지형. 정문에서 바로 생산동으로 가는지 내부 도로를 거치는지 구분
창고
단층 일반 보관형 / 냉장·냉동 보관형. 냉장은 설비·운영 자료로 확인
물류센터
지상 도크 열형 / 층별 차량 램프형. 트럭이 어느 층에 직접 접안하는지 구분
교육·연구
학교나 대학은 한 부지에 교사동, 기숙사, 체육관처럼 기능이 다른 건물이 모인다. 학교 정문을 지난 뒤 목적 동을 찾아야 하고, 연결 복도가 있다면 실내에서 옆 동으로 갈 수 있다. 연구 시설은 방문 로비와 장비를 들이는 큰 문을 따로 둘 수 있다.
어린이집·유치원
독립 저층동형 / 아파트 단지 내 부속시설형
초·중·고
운동장 앞 교사동형 / 안뜰형 / 본관·별관 연결형
대학
독립 강의동형 / 여러 동 연결형. 광장·보행축에 면한 본관은 진입 변형
연구·시험시설
연구실 반복형 / 대형 장비 시험동형 / 다동 연구단지형
의료·복지
골목 의원은 거리에서 바로 들어가지만, 상가 상층의 의원은 공용 계단이나 승강기를 거친다. 병원은 외래 로비, 응급실 입구, 물품 인수문에 서로 다른 역할을 준다. 요양시설과 복지관에서도 주문 목적지에 따라 접수처와 생활동 출입구를 구분한다.
의원
지상 직결형 / 상가 상층 입점형
종합병원
외래 본관 중심형 / 본관·센터 분산형. 응급·물품 인수는 별도 출입 역할
보건소·보건지소
도시 다부서 청사형 / 읍면 저층 지소형
노인요양시설
도시 다층 생활동형 / 저층 마당형. 생활층 이동과 마당 연결로 구분
종합사회복지관
복지관 전용동형 / 문화·체육시설 복합형
공공·안전
구청과 주민센터는 민원 창구까지 가는 길이 중심이다. 본관·별관이나 층별 기능이 나뉜 복합청사에서는 동과 층 정보를 덧붙인다. 소방시설에서는 차고 셔터가 거리에서 눈에 띄어도 보행으로 방문할 문은 따로 기록한다.
시·군·구청
본관 중심형 / 본관·별관 분산형
주민센터
동네 민원 중심형 / 층별 복합청사형
소방시설
전면 차고형 119안전센터 / 본서 청사형
경찰시설
동네 파출소형 / 본서 민원 청사형
법원·검찰청
민원동과 법정이 한 동에 있는 형태, 별관이나 출입 통제 구역이 분리된 청사형. 보안 검색 앞 공개 민원 창구를 인수처 후보로 본다.
우체국
가로 창구형과 차량 작업장을 갖춘 배송 거점형. 민원 창구와 차량 반입 동선을 구분한다.
문화·집회
박물관은 로비 뒤 전시실로 갈라지거나, 마당을 건너 전시동을 찾는 구조다. 공연장과 전시장에는 관객 입구와 장비 반입구가 있을 수 있다. 같은 대형 홀 외관을 쓰더라도 방문객과 물품이 만나는 위치는 다르다.
박물관
한 동·공용 로비형 / 여러 전시동 분산형
도서관
동네 소형 열람형 / 층별 자료실형
공연장
단일 공연장 중심형 / 여러 공연장 복합형
전시장·컨벤션
전시·회의 수직 결합형 / 전시장 동 분리형
영화관
가로에서 바로 들어가는 독립관과 쇼핑몰에 입점한 멀티플렉스. 입점형은 쇼핑몰 공용 입구와 상영층 로비를 연결한다.
종교
상가에 입점한 교회나 기도시설은 상층 의원과 공용 계단을 공유하는 경우처럼 표현할 수 있다. 독립 예배시설은 거리에서 전용 현관을 찾고, 여러 전각이 있는 사찰은 부지 입구를 지나 마당과 전각 사이를 이동한다.
개신교 교회
상가 입점형 / 독립 예배당형
천주교 성당
성전·교육공간 적층형 / 성전·교육관 분리형
불교 사찰
도심 건물형 법당 / 여러 전각을 둔 가람형
이슬람 기도시설
상가·복합건물 입점형 / 독립 성원형
기타·세부 미정 예배시설
건물 입점형 / 독립 시설형 / 부속동. 용도와 연결이 확인된 범위까지
체육
생활체육관은 접수처와 탈의실을 거쳐 운동 공간으로 이어진다. 관람 경기장은 관객이 검표문을 지나 객석 구역을 찾아간다. 경기 장비는 별도의 반입문을 쓸 수 있다. 두 경우 모두 큰 홀이 필요하지만 출입구의 역할이 달라진다.
실내체육관
생활체육형 / 관람 경기장형. 객석·검표 동선으로 구분
실내수영장
전용 수영동형 / 복합시설 입점형
실외 운동장·경기장
생활 운동장형 / 관중석 둘레형
헬스장·생활 운동시설
거리 직결형과 상가 위층·지하 입점형. 상가 공용문부터 접수 데스크까지 층 이동을 포함할 수 있다.
교통·기반시설과 그 밖의 건물
교통·차량
지하철역은 거리 곳곳의 출입구가 같은 대합실로 이어질 수 있다. 철도역은 선로 위나 아래에 대합실을 두면 승강장까지 올라가거나 내려가는 방향이 달라진다. 터미널과 공항은 공개 로비, 승차·탑승 공간, 차량 진입을 나눠 목적지와 연결한다.
도시철도역
지하·분산 출입구형 / 고가 승강장형
일반·고속철도역
선로 옆 지상역사형 / 선상역사형 / 선하역사형
버스터미널
지상 독립형 / 상업 복합형
공항 여객청사
단일 청사형 / 본 청사·별도 탑승동형
여객선터미널
연안 대합실·부두 직결형 / 국제 출입국 분리형
주차 건물·주유소
적층 주차동·주차타워 / 주유 캐노피와 관리동
격납·보관시설
격납고 / 선박 보관동
농축산
온실은 반투명 지붕과 반복 골조로, 축사와 작업동은 열린 측벽과 큰 작업문으로 구분할 수 있다. 농장 전체에 붙은 용도 정보는 부지에 남기고, 개별 동의 외벽과 문은 확인된 건물 형태를 따른다.
온실·축사·농업 작업동
연동 온실 / 개방 측벽 축사 / 닫힌 작업동
기반시설
변전소나 발전시설에서는 설비동과 관리용 출입구가 중심이다. 자원순환시설에는 차량 반입문을 둘 수 있다. 같은 부지 안에 사무동이 있다면 일반 업무 로비를 공유하되 설비 구역의 접근과 따로 기록한다.
전력·발전·자원순환·방송
옥내 변전소 / 발전동·설비 결합 / 폐기물 반입형 / 업무동·제작동형
관광·휴게
휴게소는 넓은 주차면에서 여러 점포나 편의시설로 걸어가는 흐름이다. 수련시설은 숙소와 활동동이 떨어져 있을 수 있어 부지 안에서 동을 찾는 단계가 추가된다.
휴게소·수련시설
주차장 전면형 / 숙소·활동동 분산형
특수시설
장례시설에서는 의식 공간과 마당을 중심으로 접근을 잡는다. 교정·군사시설은 부지 입구와 내부 동의 접근을 따로 본다. 일반 배달 경로는 공개 인수 지점이 확인된 범위에서 연결한다.
장례·추모 / 교정 / 군사
의식동·중정형 / 담장·통제동형 / 병영 생활동형
역사·랜드마크
성문과 문루는 주변 거리에서 알아볼 수 있는 형태 자체가 중요하다. 외관을 직접 배치하고, 문을 통과하는 보행로가 있다면 통과 지점으로 따로 연결한다.
성문·문루 등
석축·목조 문루형 등 개별 외형
부속 건물
경비실, 창고, 개방 지붕은 큰 건물 옆에서 보이지만 주문의 목적지는 따로 정한다. 작은 상자형 외피나 기둥·지붕을 공유하고, 실제 인수처로 쓰는 경비실에만 그 역할을 기록한다.
경비실·소형 부속동·개방 지붕
초소형 / 닫힌 설비·창고형 / 개방 지붕형
판정 기준과 공유 모듈
태그가 부족할 때의 판정
용도와 구조가 확인됨
건물 용도만 확인됨
건물 안 입점 시설만 확인됨
building=yes·빈 값·알 수 없는 값, 또는 건물 전체 용도 근거가 충돌함
작은 부속동은 배경용 공용 부재로 만든다. stilt_house, houseboat, tent, bunker처럼 드문 구조는 필요할 때 개별 에셋을 배치한다. construction, ruins, abandoned:building=*는 건물의 상태로 기록하고 자동 주문에서 제외한다. building=no나 철거된 객체는 독립 건물을 생성하지 않는다. building:part=*는 상위 건물에 합친다.
댓글