KR20210106390A - 디지털 지도 기반의 온라인 플랫폼 - Google Patents

디지털 지도 기반의 온라인 플랫폼 Download PDF

Info

Publication number
KR20210106390A
KR20210106390A KR1020210022985A KR20210022985A KR20210106390A KR 20210106390 A KR20210106390 A KR 20210106390A KR 1020210022985 A KR1020210022985 A KR 1020210022985A KR 20210022985 A KR20210022985 A KR 20210022985A KR 20210106390 A KR20210106390 A KR 20210106390A
Authority
KR
South Korea
Prior art keywords
building
map
distance
view
floor
Prior art date
Application number
KR1020210022985A
Other languages
English (en)
Other versions
KR102344087B1 (ko
Inventor
권경일
Original Assignee
주식회사 에스360브이알
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에스360브이알 filed Critical 주식회사 에스360브이알
Priority to PCT/KR2021/002186 priority Critical patent/WO2021167422A1/ko
Publication of KR20210106390A publication Critical patent/KR20210106390A/ko
Application granted granted Critical
Publication of KR102344087B1 publication Critical patent/KR102344087B1/ko
Priority to US17/891,161 priority patent/US11886527B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9558Details of hyperlinks; Management of linked annotations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/16Coin-freed apparatus for hiring articles; Coin-freed facilities or services for devices exhibiting advertisements, announcements, pictures or the like
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps

Abstract

디지털 지도 기반의 온라인 플랫폼(digital map based online platform)이 제공된다. 온라인 플랫폼은 실외 지도 서버(outdoor map server)와 데이터 저장소(data store)와 건축물 데이터베이스(building database)와 공간 데이터베이스(space database)와 매체에 저장된 컴퓨터 프로그램을 포함한다. 데이터 저장소는 건축물(building)의 평면도(floor plan)를 포함하는 건축물 관련 디지털 파일들(digital files)과, 공간(space)과 관련된 웹사이트 소스 코드(website source codes)를 포함하는 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)에 관리한다. 건축물 데이터베이스와 공간 데이터베이스는 각각 건축물들과 공간들의 지도 설정 데이터(map setting data)를 관리한다. 매체에 저장된 컴퓨터 프로그램은 디지털 지도의 뷰(view)에 실외 지도(outdoor map)와 건축물의 평면도를 포함하는 실내 지도(indoor map)와 인터넷 링크(internet link)와 반응형 HTML 페이지(responsive HTML page)를 통합적으로 표시하기 위하여 일련의 단계들(series of stages)을 실행한다. 매체는 웹 서버(web server)와 사용자 단말기(user terminal)를 포함한다.

Description

디지털 지도 기반의 온라인 플랫폼{DIGITAL MAP BASED ONLINE PLATFORM}
본 발명은 실외 지도와 실내 지도와 인터넷 링크와 반응형 HTML 페이지가 통합된 디지털 지도 기반의 온라인 플랫폼을 제공한다.
"온라인 플랫폼의 소개와 디지털 전환에서의 역할(An introduction to online platforms and their role in the digital transformation)"이라는 OECD 보고서에 의하면 온라인 플랫폼(online platform)이라는 용어가 인터넷상에서 가능한 일련의 서비스(service)들을 지칭하는데 사용되고 있는데, 그 종류는 장터(marketplaces), 검색 엔진(search engines), 소셜 미디어(social media), 창작물 할인 매장(creative content outlets), 앱 스토어(app stores), 통신 서비스(communications services), 결제 서비스(payment systems), 소위 "협업" 경제 또는 "긱" 경제라고 불리는 서비스들(services comprising the so-called "collaborative" or "gig" economy)과 그 외의 서비스들을 망라한다고 한다[비특1].
이 보고서에 의하면 "온라인(online)"은 인터넷에 연결된 상태를 말한다. 이와 같이 "온라인"이라는 개념은 단순하지만, "플랫폼(platform)"이라는 개념은 누구나 즉각적으로 수긍할 수 있을 만큼 간단하지 않다고 한다. 유럽 연합 집행 기관(European Commission)의 부의장(Vice president)인 Ansip은 "우리는 플랫폼에 대하여 모든 사람들이 납득할 수 있는 한가지 정의를 가지고 있지 않다. 오히려 수백 가지의 좋은 정의가 있다. 따라서 사람들이 플랫폼에 대하여 말할 때, 그들은 모두 서로 다른 생각을 가지고 있다."라고 말하였다고 한다.
같은 보고서에서 온라인 플랫폼을 "기업이든 개인이든 상관없이 뚜렷하게 구별되고 독립적인 둘이나 그 이상의 사용자 집단 간의 상호 작용을 촉진하는 디지털 서비스(digital service)로서, 그 상호 작용이 인터넷(Internet)을 통하여 일어나는 서비스" 라고 정의하고 있다.
EC(유럽 연합 집행 기관)도 공식적으로 "온라인 플랫폼"을 유사하게 정의하고 있는데, EC에 의하면 온라인 플랫폼이란 "양방향 또는 다방향 시장에서 동작하는 사업으로서, 뚜렷하게 구분되며 독립적인 둘이나 그 이상의 사용자 그룹이 인터넷으로 상호작용하기 위하여 사용되며, 그 중의 최소한 한 사용자 그룹은 그 상호작용으로 인하여 가치를 획득하는 사업(undertaking operating in two (or multi)-sided markets, which uses the Internet to enable interactions between two or more distinct but interdependent groups of users so as to generate value for at least one of the groups)"이라고 정의하고 있다고 한다.
OECD 보고서에 따르면 전통적인 종이 신문은 온라인이 아닌 플랫폼이라고 한다. 신문에는 돈을 지불하고 광고를 게재하려는 광고주 집단이 있고, 광고주들과 뚜렷하게 구별되는 구독자(reader) 집단이 있는데, 구독자 중 일부는 그 광고를 보고 상품이나 서비스를 구매하기 때문이다. 그런데 상품이나 서비스의 구매는 플랫폼(신문) 밖에서 일어나기 때문에, 종이 신문은 플랫폼을 통하여 한 방향으로만(즉, 광고주에서 구독자로) 정보가 흘러가는 단방향 플랫폼(單方向 platform)이라고 한다. 또한, 주식을 팔려는 매도자 집단과 주식을 사려는 매수자 집단이 있는 전통적인 주식 시장(stock market)은 양쪽으로 정보(매도 제안과 매수 제안)가 흘러가는 양방향 플랫폼(兩方向 platform)이라고 한다.
한편, 대표적인 온라인 플랫폼으로 비디오 공유 서비스(video-sharing service)를 예시하고 있다. 유튜브(YouTube)와 같은 플랫폼에서는 비디오를 올리는 집단, 즉 크리에이터(creater)들이 있고, 비디오를 시청하는 시청자 또는 구독자(subscriber)들이 있으며, 인기가 많은 비디오에 돈을 지불하고 광고를 하려는 광고주 집단이 있기 때문이다.
반면 클라우드 서비스(cloud service)는 "온라인" 서비스이지만, "플랫폼"이 아니라고 한다. 비용을 지불하고 인터넷에 연결된 서버에 데이터를 저장하려는 한 부류의 고객들만 있기 때문이라고 한다.
온라인 플랫폼은 중요한 특징들을 공유하고 있는데, 사용자들의 상호 작용을 촉진하기 위한 ICT 기술(Information and Communication Technologies)과, 그 상호 작용에 의한 데이터를 수집하고 활용하는 것, 그리고 네트워크 효과(network effects)가 그것이다. 네트워크 효과란 그 온라인 플랫폼에 참여하는 사용자들이 늘어남에 따라 그 가치가 산술적으로 늘어나는 것이 아니라 기하급수적으로 늘어나는 효과를 말한다.
이 보고서는 대표적인 온라인 플랫폼으로 "Airbnb", "Alibaba", "Amazon", "Apple", "Baidu", "BlaBlaCar", "Facebook", "Freelancer", "Google", "MercadoLibre", "Rakuten", "Tencent"를 들고 있다. 그리고 이와 같은 온라인 플랫폼의 정의에 의하면 한국에서의 대표적인 온라인 플랫폼은 "옥션(Auction)", "G마켓(G-market)", "쿠팡(Coupang)", "배달의민족", "직방", "다방", "여기어때", "야놀자" 등을 들 수 있다.
본 발명은 위치 기반 서비스(LBS: Location Based Service) 기술을 이용한 온라인 플랫폼 기술에 대한 발명이다. 위치 기반 서비스는 당연히 지도(地圖, map)와 밀접한 관계가 있다. 위치 기반의 서비스 시장은 날로 커지고 있다. 예를 들어 네이버(Naver) 지도나 카카오(Kakao) 지도, 구글(Google) 지도 등의 서비스를 이용하면 스마트폰과 같은 단말기의 현재 위치를 기준으로 근방의 카페나 주유소, 음식점 등을 보여준다. 또한, 주유소나 음식점 등 관심사를 특정하면 그 카테고리에 맞는 검색 결과들을 지도에 표시하여 보여준다.
구글 지도(Google maps)는 라르스 라스무센(Lars Rasmussen)과 옌스 라스무센(Jens Rasmussen) 형제가 설립한 웨어 2 테크놀로지(Where 2 Technologies)에서 C++로 만든 데스크탑 프로그램(desktop program)이 원형인데, 그 회사를 구글이 인수한 뒤 웹 애플리케이션(web application)으로 변형하여 2005년 2월에 처음 공개한 것이다[비특2].
구글은 사업자(business owners)들이 주소, 전화번호, 업종(business category)과 사진을 포함하는 사업체 정보를 'Google My Business'를 통하여 등록하도록 권장하고 있으며(https://www.google.com/business/), 이 정보를 바탕으로 사업자 홈페이지가 무료로 생성된다. 예를 들어 이 서비스를 통하여 제작한 출원인의 홈페이지 주소는 https://360-manufacturer.business.site이며, 도 1은 그 홈페이지의 접속 화면이다. 등록된 정보는 검색 엔진으로 검색이 되므로 사업자들은 이를 자신의 사업에 도움이 되는 마케팅 수단으로 활용할 수 있다.
2011년 3월에는 구글 지도에 실내 지도(室內 地圖, indoor map) 서비스가 추가되었다. 공항, 박물관, 쇼핑몰, 대학교, 환승센터(transit stations)나 지하 상가와 같은 다중이용시설(多衆利用施設)의 평면도(floor plans)를 사이트에 올리면, 이를 기반으로 실내 지도가 작성되어 실외 지도와 통합되며, 그 건물이 여러 층(floor)으로 구성되어 있는 경우에는 층을 선택할 수 있는 메뉴(level selector)가 나타난다.
도 2는 구글 지도에서 실내 지도 기능을 소개하는 홈페이지(https://www.google.com/maps/about/partners/indoormaps/)에 게시된 이미지이다. 이 대표 이미지는 뉴욕의 매디슨 스퀘어 가든(Madison Square Garden)에서 스마트폰을 이용하여 이 실내 경기장의 다른 층을 선택할 수 있다는 것을 예시하고 있다.
도 3은 실제로 구글 지도에서 매디슨 스퀘어 가든으로 이동한 화면이다. 도 3에는 이 실내 경기장의 1층의 평면도가 보여지고 있다. 도 4에서 이 평면도를 클릭하면 화면 왼쪽에는 매디슨 스퀘어 가든이 팝업(popup) 창으로 보여지며, 오른쪽 하단에는 이 실내 경기장의 각 층들에 대한 층 선택 메뉴가 보여진다.
도 5에서 -2층을 선택하면 매디슨 스퀘어 가든의 1층의 평면도가 지하 2층의 평면도로 바뀌어 보여진다. 또 각각의 방들이 구분되게 표시되어 있으며, 화장실, 계단, 엘리베이터 등이 작은 아이콘으로 표시되어 있다. 또 지하 2층에 위치한 상점들의 상호(brand name)와 작은 마커(marker)도 보여지고 있다. 도 5에서 평면도에 화장실/엘리베이터 등의 아이콘과 상점들의 정보가 표시된 도면을 실내 지도라고 생각할 수 있다. 즉, 평면도가 실내 지도의 핵심이며, 평면도에 여러가지 부가 정보가 추가된다.
도 6에서 Krispy Kreme이라는 상호에 마우스를 가져가면(hover) 작은 오버레이(overlay)로 그 상점의 정보가 표시된다. 이로부터 이 상점은 도넛 가게(donut shop)이며, 저녁 9시에 영업을 종료한다는 것을 알 수 있다.
도 7에서 이 상호를 클릭하면, 화면 왼쪽에 팝업 창(popup window)으로 이 상점의 미니 홈페이지가 보여지며, 하단에는 이 상점의 정식 홈페이지 주소(krispykreme.com)도 보여지고 있다. 도 8에서 이 홈페이지 주소를 클릭하면 이 상점의 홈페이지가 나타난다.
이와 같은 실내 지도를 이용하여 매디슨 스퀘어 가든의 각 층에 어떤 시설이나 상점이 있는지 알 수 있고, 필요한 경우에 어느 상점의 메뉴나 영업 시간이나 전화 번호, 또는 이용자 평(review)을 미니 홈페이지와 정식 홈페이지를 이용하여 알 수 있다.
도 9는 MazeMap(https://www.mazemap.com/)에서 대표 사례로 소개하고 있는 트벤테 대학교(University of Twente)의 실내 지도인데, 구글의 실내 지도와 유사하게 왼쪽 하단에 층을 선택할 수 있는 메뉴가 있다. 도 10에서 화면 중앙의 스타벅스(Starbucks)를 클릭하면, 화면 하단에 팝업 창이 나타나서 간단한 정보가 표시된다.
메이즈맵(MazeMap)의 슬로건은 "실내 지도와 길찾기 플랫폼(Indoor Maps & Wayfinding Platform)"이며, 기본적으로 대학교와 같은 대형 건축물에서 실내 지도를 제공하고, 길찾기(wayfinding)를 위한 경로(route)를 제공하는 것이 주된 서비스이다. MapWize(https://www.mapwize.io)도 MazeMap과 유사한 실내 지도와 길찾기 서비스를 제공한다.
IndoorAtlas(https://www.indooratlas.com)도 실내 지도를 이용한 길찾기 서비스를 제공한다. IndoorAtlas에서 실내 지도를 실외 지도에 통합하는 방법은 YouTube 컨텐츠(https://youtu.be/11ohBHC_00I)에 잘 나타나 있다. 그런데 길찾기를 위해서는 실내 지도가 필요할 뿐만 아니라, 실내 지도에서 나의 위치를 정확히 아는 것이 중요하다. IndoorAtlas에서는 스마트폰에 내장된 와이파이 센서(Wi-Fi sensor), 블루투스 센서(bluetooth sensor), 기압계(barometric pressure sensor), 지자기 센서(geomagnetic fields sensor), 관성계를 이용한 보행 추적(inertial navigation) 기술 등을 통합하여 정확한 현재 위치를 추정한다고 한다.
MapsIndoors(https://www.mapspeople.com/mapsindoors)도 IndoorAtlas와 유사한 서비스를 제공하는데, 실외 지도로 구글 지도를 사용한다. 대형 쇼핑몰과 같은 경우에 창업과 폐업이 끊임없이 일어나므로 수시로 점포가 바뀌는 일이 발생한다. MapsIndoors를 사용하면 아무런 프로그램을 하지 않고도 입주한 점포명 등 실내 지도의 컨텐츠를 유지·관리하는 것이 가능하다고 한다.
MapsAlive(http://www.mapsalive.com)는 상호작용이 가능한 지도(interactive map)을 제공한다. 예를 들어 이 기술로 만들어진 주택의 평면도에는 한 개 이상의 화살표를 마커(marker)로 추가할 수 있다. 사용자가 어느 한 마커 위로 마우스를 올리면, 그 화살표 방향의 사진이 나타난다. 따라서, 그 방향의 풍경, 예를 들어 정원의 풍경이나 부엌의 모습을 볼 수 있다. 이와 같은 지도는 부동산의 임대나 매도용으로 사용될 수 있다.
또한, 평면도 뿐만 아니라, 일반적인 세계 지도, 지역 지도(local map), 그림 지도(pictorial map), 제품 사용 설명서, 사진 등에도 같은 기술을 사용할 수 있고, 마커에 사진이 아니라 문장(text)이나 인터넷 홈페이지, 동영상 등을 연결할 수도 있다. 이런 관점에서 보면 MapsAlive는 구글의 실내 지도(indoor map)에 구현된 기능을 지리적이 아닌 지도(non-geographic map)에까지 확장한 것으로 생각할 수 있다.
그런데 구글 지도와 다르게 MapsAlive는 유료로 제작되는 사적인(private) 지도이다. 예를 들어 미국 메인(Maine) 주의 아카디아 국립공원(Acadia National Park)에 있는 beehive trail의 주소(url)는 http://tour.mapsalive.com/20133이다. 고객은 이렇게 생성된 url을 자신의 홈페이지에 링크(link)를 걸어서 안내나 홍보용으로 사용할 수 있다. 즉, 각각의 지도는 모두 다른 주소를 가지고 있어서 그 지도를 이용하려면 미리 주소를 알고 있어야만 한다.
WRLD(https://www.wrld3d.com)를 이용하면 실외 및 실내 지도를 3D로 제작할 수 있다. 따라서 마치 조감도(鳥瞰圖, bird's-eye view)나 인형의 집(doll's house)을 보는 듯한 실감나는 경험을 할 수 있다.
요즈음은 랜선 여행(LAN cable tour)이 유행하고 있다. 랜선 여행이란 실제로 그 장소를 방문하지 않고 인터넷을 통하여 온라인으로 둘러보는 것을 말한다. 랜선 여행에는 구글 지도나 유튜브 같은 플랫폼이 사용될 수 있다.
랜선 여행의 목적지는 유명 관광지가 될 수도 있지만, 오랜 역사를 가진 전통 시장이나 아니면 메이시 백화점(macy's)과 같은 유명한 빌딩이 될 수도 있다. 예를 들어 모로코 마라케시(Medina of Marrakesh)의 제마 엘 프나(Jemaa el Fna) 광장이나 런던의 코번트 가든(Covent Garden)은 세계적인 명소로서 그 자체로 여행의 목적지가 될 수 있다. 그런데 해당 목적지가 구글 지도에서 실내 지도로 구현이 되어 있다고 하더라도 또 다른 어려움이 존재한다.
만약, 한가한 주말에 시내에 나갔다면 특별한 살 것이 없어도 이리저리 돌아다니다가 마음에 드는 가게에 들어가 볼 수 있다. 그런데 구글 실내 지도와 같은 실내 지도에서는 평면도에 개별 점포의 이름과 방 번호(room number) 또는 식별 번호(lot number)가 표시되어 있을 뿐이며, 그 점포의 상품이나 서비스가 정확히 무엇인지를 알기 위해서는 텍스트 링크(text link)나 마커를 클릭해서 팝업창(popup window)을 열어 보아야만 한다.
대전 중앙로의 지하에는 대전중앙로지하상가가 있는데, 그 점포의 수가 약 490개이다. 따라서 대전중앙로지하상가를 직접 방문하여 둘러보는 대신에 컴퓨터나 스마트폰으로 둘러보려고 하면, 490번의 클릭이 필요하다. 마치 원하는 물건을 찾기 위하여 커다란 서랍장의 모든 서랍을 열어보아야 하는 것과 같다. 대단한 인내심이나 결의가 있지 않으면 490번을 클릭하기는 어려울 것이다.
다중이용시설(多衆利用施設)이란 불특정 다수가 이용하는 일정 규모 이상의 건축물을 가리킨다. '우리말샘'은 다중이용시설을‘다중 이용 시설 등의 실내 공기 질 관리법’에 의해 규정된, 많은 사람들이 사용하는 시설, 지하 역사와 지하도 상가, 여객 자동차 터미널의 대합실, 공항의 여객 터미널, 항만의 대합실, 도서관, 박물관 및 미술관, 의료 기관, 실내 주차장, 철도 역사의 대합실 등 불특정 다수의 사람들이 이용하는 시설과 아파트와 연립 주택으로서 대통령령이 정하는 규모 이상의 공동 주택 따위를 이른다고 해설하고 있다.
다중이용시설을 포함하여 건축물이 점점 대형화되고 복잡해짐에 따라 실내 지도(indoor map)의 중요성이 점점 커지고 있다. 그런데 실내 지도나 방문객 안내용 키오스크(kiosk)에 점포의 위치 및 상호만 표시되어서는 그 점포에 대해서 충분한 정보를 얻을 수 없다. 예를 들어 코엑스 몰(Coex mall) 내에서 간단히 점심을 먹기로 했다면, 코엑스 몰 내의 음식점들의 상호로 충분하지 않고, 어떤 메뉴를 제공하는지 그리고 가격은 얼마인지를 알고 싶을 것이다. 정보통신의 시대에 이와 같은 정보를 얻는 가장 기본적인 방법은 그 음식점의 홈페이지나 블로그를 방문하는 것이다.
홍보를 위하여 홈페이지가 중요하므로 구글이나 네이버 지도에서 상업 시설의 미니 홈페이지가 팝업 윈도우(popup window)로 나타나는 인터넷 링크(internet link)들을 발견할 수 있다. 또, 팝업 윈도우에는 정식 홈페이지로 연결되는 인터넷 링크도 포함하고 있다. 그런데 예를 들어 코엑스 몰 내의 특정 음식점의 팝업 윈도우를 통해 그 음식점의 메뉴를 볼 수 있다고 하더라도, 코엑스 몰 내의 전체 음식점의 팝업 윈도우를 확인할 수 없다면 가장 만족스러운 선택을 했는지 알 수 없을 것이다.
이와 같은 이유에서 요즈음은 기업이던 카페나 맛집과 같은 상업 시설이던 홍보와 안내를 위한 홈페이지가 필수적이라고 할 수 있다. 최근의 웹사이트(website)는 HTML5, CSS3 및 JavaScript를 이용하여 제작하는 것이 대부분이다. HTML은 Hyper Text Markup Language의 약자인데, 월드 와이드 웹(world wide web)을 통해 볼 수 있는 웹 문서(web document)를 만들 때 사용하는 언어의 한 종류이다. CSS는 Cascading Style Sheets의 약자이며, HTML 문서의 레이아웃(layout)을 설정하고 디자인을 하기 위한 별개의 언어이다. 또한, 자바스크립트(JavaScript)는 웹 브라우저(web browser)가 인식할 수 있는 프로그래밍 언어이다.
CSS를 사용하지 않고 HTML만 사용하여 홈 페이지를 만들 수는 있지만, 그 홈페이지는 말할 수 없을 정도로 촌스럽게 보일 것이다. 또한, 동적인 웹 사이트를 만들려고 하면 자바스크립트의 사용이 필수적이다. 자바스크립트를 활용하면 MS word와 같은 문서 작성기나 게임과 같이 기존의 PC에 설치해서 사용하던 많은 앱(application)을 웹 브라우저 상에서 실행할 수 있도록 만들 수 있다.
따라서 어떤 온라인 웹사이트(online website)의 소스 코드(source code)는 기본적으로 HTML5, CSS3, JavaScript 언어로 작성되어진 하나 이상의 디지털 파일들(digital files)이 될 것이다. 그리고 거기에 상품 사진이나 설명, 배경 음악, 쇼핑몰, Q&A 게시판 등이 있다면 사진이나 동영상, 음원(source source), 텍스트(text) 들과 같은 데이터(data)와 게시판이나 쇼핑몰을 운영하기 위한 PHP, SQL과 같은 별도의 언어로 작성된 소스 코드들도 온라인 웹사이트와 관련된 디지털 파일들의 일부가 될 것이다.
예전에는 새로운 홈페이지에 접속해보면 액티브엑스(ActiveX)를 설치하라고 강요하는 경우가 많았다. 액티브엑스는 사용자의 PC에 설치되어 웹브라우저와 연동되는 외부 설치 프로그램, 즉 플러그인(plug in)이다. 특히 멀티미디어 콘텐츠를 감상하거나, 인터넷 뱅킹을 위하여 공인인증서를 이용하려고 하면 액티브엑스의 설치는 피할 수 없었다.
액티브엑스는 많은 장점이 있지만 기본적으로 마이크로소프트(microsoft)의 인터넷 익스플로러(Internet Explorer) 전용의 플러그인이고, 바이러스 오염이나 스팸, 해킹 등의 위험을 가중시키다는 단점이 있다. 그런데 HTML5, CSS3, JavaScript 만으로 웹 사이트를 만들면 최신의 웹 브라우저에서 아무런 플러그인 없이 접속할 수 있다는 장점이 있고, PC 뿐만 아니라 스마트폰에서도 내장된 웹 브라우저를 이용하여 접속할 수 있다.
과거에는 PC를 사용하여 홈페이지를 방문하는 것이 상식이었지만, 요즈음은 오히려 스마트폰을 이용하는 경우가 더 흔하다. 또한, PC나 스마트폰이 아니라 태블릿 PC(Tablet PC)를 사용할 수도 있다. 홈페이지를 접속하는 장치가 PC인 경우에는 서로 다른 PC에서 홈페이지가 보여지는 화면의 크기가 크게 다르지 않다. 서로 다른 PC 사이의 해상도 차이가 크지 않기 때문이다. 그런데 PC와 태블릿 PC와 스마트폰은 화면 크기의 차이가 아주 크기 때문에 PC에서 사용하는 레이아웃을 스마트폰에서도 그대로 사용하면 내용을 알아볼 수 없을 것이다.
반응형 웹(responsive web)이란 웹에 접속하는 장치의 화면 크기에 맞추어 레이아웃이 변경되거나 화면의 폭이 변경되는 웹을 말한다. 사실 HTML 분야에서 좀더 엄격한 의미로의 반응형 웹은 조금 다른 의미를 가지고 있지만, 본 발명에서는 화면의 크기에 맞추어 HTML 페이지의 폭이나 레이아웃이 변경되는 웹 페이지(web page)를 반응형 HTML 페이지(responsive HTML page)라고 지칭하겠다. 화면 크기에 맞추어 다른 레이아웃을 사용하는 반응형으로 제작된 홈페이지에서는 문서의 내용 자체에 해당하는 HTML5 부분은 동일하지만, 접속하는 장치의 화면 크기에 맞추어 CSS 파일이 여러개 존재한다. 이는 반드시 css 파일이 여러개 존재한다는 뜻은 아니며, 접속하는 장치의 해상도에 맞추어 다른 css 코드가 작동한다는 뜻이다.
화면의 크기에 맞추어 여러 개의 레이아웃이 사용되지 않고 단 하나의 레이아웃만 사용한다고 하더라도, 화면 크기에 맞추어 HTML 페이지의 폭이 따라서 변경될 때에는 CSS 파일에 적용되는 HTML 요소(element)의 크기가 백분율(%)로 정의된다. 따라서 화면의 크기가 변해도 그에 맞추어 백분율로 계산된 HTML 요소의 크기가 적용되어 사용된다.
요즘에는 반응형 HTML 페이지 대신에 해상도의 크기에 따라서 별도의 홈페이지에 접속하도록 하는 경우도 있다. 예를 들어 네이버를 PC에서 접속할 때와 스마트폰에서 접속할 때의 홈페이지 주소가 다른 것을 확인할 수 있다. 그런데 반응형 HTML 페이지는 웹브라우저 창의 너비가 연속적으로 변하더라도 항상 자연스러운 홈 페이지를 보여줄 수 있다는 장점이 있다.
한편, 실내 지도를 작성하는 방법, 지리상의 위치를 특정하는 방법 또는 위치 기반의 콘텐츠를 제공하는 방법에 대한 많은 선행 기술들이 존재한다.
[특1]에는 지역정보 및 상거래업체의 배너 광고 또는 아이콘이 사업장의 지번에 근거하여 전자지도 상의 실제 위치에 표시되도록 하고, 서비스 이용자가 업종, 지역이나 번지, 또는 상호 등 다양한 검색식으로 검색할 수 있도록 하며, 이용자가 배너광고나 아이콘을 클릭하면 해당 업체의 홈페이지로 직접 이동되도록 하는 상업정보제공시스템이 개시되어 있다.
[특2]에는 지도정보 및 업체정보를 통합·운영하는 서버를 구축하되, 지도 지번(地番, a lot number)에 해당하는 각 개인과 업체에 게시판, 이메일, 각종 기록사항을 제공하여 개인간의 정보공유를 편리하도록 하며, 또한 업체들은 자사의 광고 등을 폭넓게 게재할 수 있도록 한 인터넷 전자지도를 이용한 정보제공 방법이 개시되어 있다.
[특3]에는 디지털 정보에 그 정보에 접근할 수 있는 지리적 영역을 한정하는 설정이 가능한 방법과 장치가 개시되어 있다.
[특4]에는 지구의 표면을 위도 1°, 경도 1°의 조각으로 나눈 뒤 각각의 조각에 대하여 지역 표면 좌표계(local surface coordinate)를 설정하는 기술이 개시되어 있다.
[특5]에는 인터넷 상에서 서브도메인(subdomain)을 등록함으로써 위치정보를 제공하고 손쉽게 홈페이지를 제작할 수 있도록 하는 시스템이 개시되어 있다.
[특6]에는 트럭이나 소방관, 소방차, 비행기 등 목적물의 움직임과 관련된 좌표들을 발생하여 3차원의 초정밀 실시간 추적 및 위치 파악을 하는 시스템 및 방법들이 개시되어 있다. 특히, 이 발명은 GPS 데이터로부터 위도, 경도 및 고도를 계산한 뒤, 건조물(structure)의 3D 모델(3D site model)을 기반으로 건조물 내에서의 층(level) 정보를 도출하여 목적물의 위치를 건축물의 3차원 모델 안에 아이콘으로 표시해 준다. 이를 위해 각각의 목적물은 GPS 수신기 뿐만 아니라, 자신의 위치를 모니터링 시스템에 무선으로 전달할 수 있는 무선 송신기(wireless transmitter)를 구비하고 있다. 따라서 트럭 회사에서는 배달 트럭들의 위치가 정밀한 3D 모델 안에 실시간으로 아이콘으로 표시되게 할 수 있어 관리가 쉬워진다. 또한, 화재 건물 내에서 소방관이 여러 층을 오르내리며 화재 진압을 하더라도 모니터링 시스템의 컴퓨터에 정확한 위치를 표시해 줄 수 있는 기능을 가지고 있다. 그런데 실내에서 GPS 수신이 어려우므로 실제 적용에는 어려움이 있을 것으로 예상된다.
[특7]에는 전자지도 기반의 홈페이지 제공 시스템이 개시되어 있다. 구체적으로 홈페이지 서버가 사용자 단말기(terminal)로부터 위치 정보를 포함하는 사용자 정보를 입력받은 뒤 상기 사용자 정보에 상응하는 홈페이지를 생성하고, 전자 지도에서 상기 단말기 위치에 해당하는 곳에 사용자 랜드마크(landmark)를 설정하여 상기 홈페이지 주소를 연관시킨다.
상기 사용자 랜드마크에 마우스가 오버되는 경우(mouse hover) 상기 사용자 정보 및 상기 홈페이지 주소를 추가적으로 표시하며, 상기 사용자 랜드마크가 선택되는 경우(mouse click) 상기 사용자 정보 및 상기 홈페이지 주소를 상기 전자 지도의 외부의 팝업창(popup window)에 표시한다.
[특8]에는 길안내 키오스크에 실측지도 및 인명정보 등을 효율적으로 연계하여 지도상에 목표지점까지의 경로 표시, 인명 정보, 건물 외관 동영상 등을 표시해줌으로써 정확하고 신속하게 길 안내를 할 수 있는 원스톱 길안내 정보시스템이 개시되어 있다.
[특9]에는 지구상 및 지도상의 위치 정보를 10진법으로 하기 위한 변환 방법과 그 방법을 이용한 지구상 및 지도상의 위치 정보 표시 방법이 개시되어 있다.
이 방법에서는 크게 3가지의 문제점이 발견된다. 일단 지구상의 모든 장소가 이중으로 좌표를 가지게 된다. 두번째로 이 숫자와 지구상의 거리가 단순한 관계를 가지지 않으므로 사람들에게 특별한 의미를 주지 못한다. 세번째로 단순히 위도와 경도를 큰 숫자로 재규격화(renormalization)한 것에 불과하므로, 자구상의 위치에 따라서 해상도가 달라진다. 즉, 위도 해당 수치를 소숫점 3째 자리까지 표현한다고 하더라도, 그 수치가 지구상에서의 위치를 특정하는 정도가 위도에 따라서 달라진다.
[특10]에는 사용자가 서버 상에 조회 대상 단말기를 설정한 후 사용자 설정 컨텐츠 서비스를 요청하면, 서버는 조회 대상 단말기가 위치한 지역의 위치 정보를 LBS를 통해 획득하고, 획득한 위치 정보에 근거해 그 지역 기지국 카메라를 통해 촬영한 영상 정보를 사용자 단말기로 제공해주는 기술이 개시되어 있다.
[특11]에는 지도 공급자로부터 등록받은 건축물의 실내 공간의 구조를 지도 형태로 사용자에게 제공하며, 개방형 API를 통해 실내지도를 사용 및 추가할 수 있도록 하는 방법이 개시되어 있다.
[특12]에는 건축물의 평면도(floor plan) 이미지를 영상 처리하여 이동할 수 있는 영역(navigable area)와 이동할 수 없는 영역(예: 벽)을 구분하고, 이동할 수 있는 영역과 이동할 수 없는 영역을 다른 색깔로 표시하는 실내 지도(indoor map)를 생성하는 기술이 개시되어 있다.
[특13]에는 영화나 드라마의 촬영지, 관광지를 포함한 특정 지역에서 촬영 대상을 중심으로 간격을 두고 외곽에서 360°돌면서 일정 각도마다 촬영한 영상 정보를 데이터베이스로 구축하고, 사용자의 단말기 내에 구비된 GPS 센서 등 각종 센서를 이용하여 사용자 단말기의 위치와 방향을 확인한 뒤, 사용자가 현재 위치한 지역에서 자신이 바라보는 시각으로 촬영된 영상 정보를 확인하도록 하는 위치 기반의 컨텐츠 제공 기술이 개시되어 있다.
[특14]에는 건물의 층별 실내지도 상에 존재하는 노드들의 속성을 분석하는 단계, 상기 분석된 노드들의 속성을 기반으로 하나 이상의 층간 노드를 검출하는 단계 및 상기 검출된 층간 노드를 연결하여 새로운 링크를 생성하는 단계를 포함하는 실내지도 작성 방법이 개시되어 있다.
[특15]에는 각각의 인덱스(index)가 부여된 복수의 격자들로 격자화된 지도를 이용하는 사용자 위치 정보 제공 시스템이 개시되어 있다.
[특16]에는 종래의 GPS 좌표를 AIM 좌표로 변환하여 좌표가 최소한의 길이를 갖도록 변환하는 기술이 개시되어 있다. 그런데 이 기술은 암호생성기 수준의 복잡한 알고리즘을 사용할 뿐만 아니라, 발명의 효과의 상당 부분은 10진법이 아니라 36진법을 사용하는 것에 기인하는 것으로 보인다.
[특17]에는 웹 메르카토르 좌표의 단점을 극복하기 위한 새로운 좌표계가 개시되어 있다.
[특1] 김민경, "인터넷을 통한 특정지역의 지리정보를 포함한 상업정보제공시스템", 대한민국 공개특허공보 제10-2000-0072562호, 공개일 2000년 12월 5일. [특2] 김승호, "인터넷 전자지도를 이용한 정보제공 방법", 대한민국 공개특허공보 제10-2002-0022487호, 공개일 2002년 3월 27일. [특3] Barry J. Glick, Ronald S. Karpf, Mark E. Seiler, "System and method for using location identity to control access to digital information", 미국 등록특허 US 6,985,588호, 등록일 2006년 1월 10일. [특4] Ralph M. Toms, "System and method of simulating with respect to spheroid reference models using local surface coordinates", 미국 등록특허 US 7,428,476호, 등록일 2008년 9월 23일. [특5] 서태섭, "인터넷 지도 기반에서 서브도메인을 이용한 위치정보제공방법 및 시스템", 대한민국 등록특허 제10-0500504호, 등록일 2005년 7월 1일. [특6] Michael P. Zeitfuss, Joseph M. Nemethy, Joseph A. Venezia, "System and method for highly accurate real time tracking and location in three dimensions",국제공개특허 WO 2004/034076, 공개일 2004년 4월 22일. [특7] 배수호, 유광호, "전자 지도 기반의 홈페이지 제공 시스템, 홈페이지 제공방법, 상세 정보 표시 방법 및 이를 수행하는 프로그램을 기록한 기록매체", 대한민국 등록특허 제10-0819167호, 등록일 2008년 3월 27일. [특8] 김삼근, 서정민, "원스톱 길안내 정보시스템", 대한민국 등록실용신안 제20-0430083호, 등록일 2006년 10월 26일. [특9] 오오와다 시게루(大和田 茂), "지구상 및 지도상의 위치정보 표시방법 및 이를 이용한 지도와 좌표", 일본공개특허 제2010-61092호, 공개일 2010년 3월 18일. [특10] 문승훈, "조회 대상 단말기 위치 지역 영상 정보 제공 시스템 및 방법", 대한민국 등록특허 제10-1358690호, 등록일 2014년 1월 28일. [특11] 김동환, 권연희, 최정아, 김형찬, "실내지도 데이터베이스, 지도 서비스 제공장치 및 방법, 개방형 API를 이용한 실내지도 제공장치, 그리고 실내지도 제작장치 및 방법", 대한민국 등록특허 제10-1312294호, 등록일 2013년 9월 23일. [특12] Guanfeng Li, Faen Zhang and Feng Wang, "Generating an indoor map model", 국제공개특허 WO 2013/104127호, 공개일 2013년 7월 18일. [특13] 김규현, "위치기반의 컨텐츠 제공방법 및 그 장치", 대한민국 등록특허 제10-1546676호, 등록일 2015년 8월 18일. [특14] 임대현, 이진권, "실내지도 작성 방법 및 그 장치", 대한민국 등록특허 제10-1985699호, 등록일 2019년 5월 29일. [특15] 노현구, 주영현, 박기석, 김정희, "격자화된 지도를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템", 대한민국 등록특허 제10-2029450호, 등록일 2019년 9월 30일. [특16] 이하민, "GPS 좌표를 AIM 좌표로 변환하는 방법", 대한민국 등록특허 제10-2001785호, 등록일 2019년 7월 12일. [특17] 권경일, "지리상의 위치를 특정하는 방법과 이를 이용하는 데이터베이스 및 데이터베이스의 데이터베이스", 대한민국 특허출원 제10-2020-0113509호, 출원일 2020년 9월 6일.
[비특1] OECD(2019), 'What is an "online platform"?', in An Introduction to Online Platforms and Their Role in the Digital Transformation, OECD Publishing, Paris. [비특2] Wikipedia, "Google maps". [비특3] Wikipedia, "Universal Transverse Mercator coordinate system". [비특4] National Geospatial-intelligence Agency (NGA), "Web Mercator map projection", NGA_SIG_0011_1.0.0_WEBMERC (2014). [비특5] Wikipedia, Web Mercator projection. [비특6] Wikipedia, Sinusoidal projection.
디지털 지도에 위치 속성을 가지는 모든 웹사이트를 통합적으로 표시하여 새로운 형태의 온라인 플랫폼을 제공하고자 한다.
실외 지도 서버(outdoor map server)와 데이터 저장소(data store)와 건축물 데이터베이스(building database)와 공간 데이터베이스(space database)와 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템을 사용한다. 매체는 웹 서버(web server)/서비스 서버(service server) 및 컴퓨터와 스마트폰을 포함하는 사용자 단말기(user terminal)를 포함한다. 데이터 저장소는 건축물(building)의 평면도(floor plan)를 포함하는 건축물 관련 디지털 파일들(digital files)과, 공간(space)과 관련된 온라인 웹사이트 소스 코드(online website source codes)를 포함하는 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)에 관리한다. 건축물 데이터베이스와 공간 데이터베이스는 각각 건축물들과 공간들의 지도 설정 데이터(map setting data)를 관리한다. 매체에 저장된 컴퓨터 프로그램은 디지털 지도의 뷰(view)에 실외 지도(outdoor map)와 건축물의 평면도를 포함하는 실내 지도(indoor map)를 통합적으로 표시하고, 지도의 줌이 사전에 설정된 값 이상이면 건축물들의 외곽선에 부합하게 건축물들의 지상층(ground floor)의 평면도를 표시한다. 지하층이 있는 건축물이나 다층 건축물이 뷰의 중앙에 위치하면 층을 선택할 수 있는 메뉴가 자동적으로 나타난다. 건축물은 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 가지며, 경계(boundary)와 유한한 면적을 가지는 하나 이상의 공간(space)을 가진다. 뷰에 보이는 공간들이 사전에 설정된 값 이상으로 확대되면, 줌 값에 따라서 각 공간의 경계 안에 인터넷 링크(internet link)나 반응형 HTML 페이지(responsive HTML page)가 택일적으로 표시된다.
객관적이거나 주관적으로 인식하는 위치 속성을 가지는 웹사이트들을 디지털 지도에 통합적으로 표시할 수 있어 웹서핑이나 랜선 여행을 하는 등 다양한 분야에서 사용될 수 있다. 또한, 각각의 웹사이트들의 서브도메인(sub domain)이 위치 속성에 따라서 자동적으로 생성되므로 남들과 중복되지 않는 서브도메인을 고안하느라 고민할 필요성이 없어지고, 위치 속성으로부터 서브도메인을 추측하거나, 반대로 서브도메인에서 지리적인 위치를 추정하는 것이 매우 쉬워지며, 서브도메인 관련 디지털 파일들을 저장하는 데이터 저장소(data store)를 유지·관리하는 것도 용이해진다.
도 1은 'Google My Business'를 통하여 제작한 출원인의 무료 홈페이지 메인 화면.
도 2 내지 도 8은 구글의 실내 지도 기능을 예시하는 화면.
도 9 내지 도 10은 MazeMap의 실내 지도 기능을 예시하는 화면.
도 11은 웹 메르카토르 도법으로 작성한 지도의 예.
도 12는 본 발명의 제 1 실시예에서 사용하는 최선의 좌표계를 이해하기 위한 개념도.
도 13은 대전 중앙로 사거리에서 면적이 100×100m2인 영역을 표시한 도면.
도 14는 도 13의 영역의 형상을 이해하기 위한 도면.
도 15 내지 도 17은 위도와 경도에 따라서 동일한 북향거리와 동향거리의 범위를 갖는 영역을 비교하는 도면들.
도 18은 본 발명의 제 2 실시예에서의 디지털 파일들의 전체 경로를 예시하는 개념도.
도 19는 지도 제작에 있어서 레이어의 개념을 예시하는 개념도.
도 20은 본 발명의 제 4 실시예에서 레이어의 구성을 예시하는 도면.
도 21은 본 발명의 제 4 실시예에서 디지털 지도 시스템의 구성을 보여주는 개념도.
도 22는 본 발명의 제 4 실시예에서 건축물 데이터베이스의 예.
도 23은 디지털 지도의 뷰와 중앙의 건축물의 예를 보여주는 도면.
도 24는 본 발명의 제 4 실시예의 디지털 지도의 전체 실행 알고리즘을 보여주는 순서도.
도 25는 지리적인 위치가 뷰 범위에 포함되는 건축물들을 건축물 데이터베이스에서 검색하는 과정을 설명하는 개념도.
도 26은 어느 건축물의 지리적인 위치가 뷰의 범위에 속하는지를 조사하는 알고리즘을 이해하기 위한 개념도.
도 27은 평면도 표시 서브루틴의 순서도.
도 28 내지 도 29는 본 발명의 제 4 실시예에서 디지털 지도의 실행 사례.
도 30은 층 선택 서브루틴의 순서도.
도 31은 건축물 외곽선 도면을 GeoJSON 형식으로 저장한 예를 보여주는 도면.
도 32 내지 도 36은 디지털 지도에서 층 선택 서브루틴의 실행 사례.
도 37은 디지털 지도의 공간에 반응형 HTML 페이지를 표시하는 방법을 이해하기 위한 개념도.
도 38은 HTML 페이지 오버레이를 생성하는 자바스크립트 코드의 실시예.
도 39 내지 도 41은 디지털 지도의 실행 화면의 예.
도 42는 디지털 지도의 회전에 상관없이 반응형 HTML 페이지가 공간의 경계를 넘어서지 않도록 하는 방법을 예시하는 도면.
도 43은 디지털 지도의 실행 화면의 또 다른 예.
도 44는 링크 오버레이를 생성하는 자바스크립트 코드의 실시예.
도 45는 본 발명의 제 7 실시예에서 공간 데이터베이스의 예.
도 46은 본 발명의 제 7 실시예의 온라인 플랫폼의 전체 실행 알고리즘을 보여주는 순서도.
도 47 내지 도 53은 디지털 지도 기반의 온라인 플랫폼의 실시예.
이하 도 11 내지 도 53을 이용하여 본 발명의 실시예들을 상세하게 설명하기로 한다.
지구상의 위치를 특정하는 가장 일반적인 방법은 주소를 이용하는 것이지만, 깊은 산속이나 사막, 바다 한가운데와 같이 아예 주소가 없는 장소들이 있다. 따라서 오지에서 길을 잃은 등산객이 구조를 요청하기 위하여 주소를 불러줄 수가 없다.
지구상의 임의의 위치를 특정하기 위한 가장 좋은 방법은 GPS(Global Positioning System) 좌표를 이용하는 것이다. 특히 스마트폰에서 GPS 좌표로서 위도(緯度, latitude)와 경도(經度, longitude) 및 고도(高度, altitude)를 제공하므로, 이 좌표를 이용하면 주소가 없는 장소라도 정확하게 특정할 수 있다. 그런데 우리가 무심코 사용하고 있지만, 위도의 정의도 여러 개가 있고, 고도의 정의도 여러 개가 있다. 따라서 정확히 어떤 위도와 고도를 의미하는지를 알아야 한다. 별다른 언급이 없다면 위도는 세계 측지 시스템(WGS: World Geodetic System)에서 규정하고 있는 측지위도(測地緯度, geodetic latitude)를 의미하고, 고도는 해발고도(海拔高度, height above sea level)를 의미할 가능성이 크다. 본 발명에서도 단순히 위도와 고도라고 표기하고 있다면 이는 측지위도와 해발고도를 지칭하는 것으로 이해되어야 한다. 통상적으로 측지위도는 φ, 경도는 λ, 해발고도는 H로 표시한다. 측지위도와 경도로 지표면 상의 임의의 위치를 특정할 수 있고, 여기에 해발고도를 더하면 산 정상의 높이나 항공기의 높이도 특정할 수 있다.
그런데 위도와 경도와 고도로 지구상의 위치를 특정하는 방법은 여러 가지로 불편하다. 예를 들어 두 지점의 위도와 경도가 각각 주어졌을 때, 두 지점이 얼마나 떨어져 있는지 직관적으로 이해하기 어렵다. 또한, 예를 들어 위도와 경도의 자릿수를 소수점 이하 3자리까지 특정했다고 했을 때, 이 좌표가 지상에서 어느 정도의 거리 오차 범위로 위치를 특정하는지도 짐작하기 어렵다.
이런 이유에서 거리(distance)의 단위를 가지는 좌표로 지리상의 위치를 특정하기 위한 다양한 좌표계가 개발되어 왔다. 예를 들어 미국 육군에서 군사용으로 개발한 UTM 좌표계(Universal Transverse Mercator coordinate system)를 사용하면 지리상의 위치를 밀리미터 단위 이하로도 정확히 특정할 수 있다[비특3]. 그런데 UTM 좌표계는 지구의 표면을 60개의 세로띠(zone)로 나눈 뒤, 각각의 세로띠 안에서 동향거리(easting) E와 북향거리(northing) N으로 위치를 특정한다. 따라서 지리상의 위치를 특정하기 위하여 먼저 zone을 적고, 그 다음에 동향거리와 북향거리를 차례로 적도록 되어있다. 동향거리를 북향거리보다 먼저 적는 이유는 UTM 좌표계에서 지도를 읽을 때 개념적으로 경도를 먼저 찾은 다음에 위도를 찾도록 되어 있기 때문이다.
그런데 위도 범위는 남위 80°(80° S)에서 북위 84°(84° N)까지만 허용된다. 즉, 북극점(north pole)이나 남극점(south pole)은 UTM 좌표계로 표시할 수 없다. 또한, UTM 좌표와 경위도(經緯度) 좌표를 상호 변환하는 공식이 대단히 복잡하여 컴퓨터가 없이는 계산하기가 사실상 불가능하다.
[특16]에는 "동경 36도 28분 39.5초, 북위 137도 11분 13.7초"로 주어지는 경위도 좌표를 UTM 좌표계를 포함한 대표적인 여러 좌표계로 표시한 사례가 다음과 같이 제시되어 있다.
WGS84: 39.3531111°, 127.3415833°
MGRS: 52SCJ 5710757274
UTM: 52S 357107mE 4357274mN
AIM 좌표: AX0 27L TXI
또, AIM 좌표계에서 고도를 포함시키고 싶다면 다음과 같이 슬래시(slash, /)를 추가하고 고도를 적는다고 한다.
AIM 좌표(고도 포함): AX0 27L TXI/46N
그런데 이와 같은 좌표계들은 사용하기가 복잡하기도 하고, 지도 전문가가 아닌 일반인들이 길 찾기에 사용하기에는 오히려 경위도 좌표계보다 더 불편하다. 또, 요즈음은 실외뿐만 아니라 실내에서도 지도의 중요성이 점점 커지고 있다. 실내 지도(室內 地圖, indoor map)에서는 건축물의 층별 평면도(floor plan per level)가 가장 중요하고 기본적인 데이터이다. 따라서 실내 지도를 사용하기 위해서는 가장 먼저 건축물 내의 층수(層數, floor number)를 알아야 한다.
상업용 빌딩이나 아파트에서 층의 개념은 모두가 잘 알고 있다. 우리는 지상층(地上層, ground floor)을 1층이라고 부르고, 지하는 B1(지하 1층), B2(지하 2층)와 같이 부른다. 지하 1층(B1)을 -1층, 지하 2층(B2)을 -2층과 같이 생각하여 층수를 그대로 정수(integer)로 대입하면, 0이 없어 지수(index)가 불연속적이 된다. 즉, -3(지하 3층), -2(지하 2층), -1(지하 1층), 1(1층, 지상층), 2(지상 2층), 3(지상 3층), 4(지상 4층), 5(지상 5층)와 같은 식이 되어 부자연스럽다.
유럽에서는 지상층을 G라고 표기하고, 우리가 2층이라고 부르는 지상상층(地上上層, floors above ground level)을 1층으로 부른다고 한다. 이와 같은 표기 방식을 따르면 층 번호는 B3(지하 3층), B2(지하 2층), B1(지하 1층), G(ground floor, 지상층, 1층), 1(지상 2층), 2(지상 3층), 3(지상 4층), 4(지상 5층)과 같이 된다. 지하층에는 마이너스(-) 기호를 붙이고, G는 0으로 간주하면 -3(지하 3층), -2(지하 2층), -1(지하 1층), 0(1층), 1(지상 2층), 2(지상 3층), 3(지상 4층), 4(지상 5층)과 같이 된다.
그런데 마이너스의 정수를 사용하는데 불편함이 있을 수 있으므로 지하층은 식별 문자로 B를 붙이고, 지상층(ground floor)은 식별 문자로 G, 지상상층(地上上層)은 식별 문자로 F를 붙여서 B3(지하 3층), B2(지하 2층), B1(지하 1층), G(지상층, 1층), F1(지상 2층), F2(지상 3층), F3(지상 4층), F4(지상 5층)와 같이 표기하는 유럽식이 합리적이라고 생각된다. 여기서 B는 마이너스(-) 기호로, G는 0으로, F는 플러스(+) 기호로 생각할 수 있다. 즉, 이 표기법에 의하면 층을 사실상 -3(지하 3층), -2(지하 2층), -1(지하 1층), 0(1층), +1(지상 2층), +2(지상 3층), +3(지상 4층), +4(지상 5층)와 같이 표기하는 셈이다. 물론 1층을 F1과 같이 표기하여 B3(지하 3층), B2(지하 2층), B1(지하 1층), F1(1층), F2(지상 2층), F3(지상 3층), F4(지상 4층), F5(지상 5층)와 같이 표기할 수도 있지만 유럽식이 훨씬 합리적이라고 생각된다.
그런데 유선이나 무선을 이용하여 지구상의 위치를 전송하기 위해서 위도와 경도의 쌍(pair), 또는 이와 대등하게 북향거리와 동향거리의 쌍으로 두 개의 값을 따로따로 보내기보다는 차라리 하나의 문자열(string)로 만들어서 단 하나의 데이터를 전송하는 것이 바람직할 것이다. 그런데 여기에 공백(space)이나 플러스(+), 마이너스(-) 기호, 슬래시(/) 기호가 포함되면 전송이나 처리(processing) 과정에서 불편할 수 있다. 본 발명의 제 1 실시예에서는 실외와 실내를 막론하고 지구상의 위치를 통합적으로 하나의 문자열 P로 특정하기 위하여 수학식 1과 같은 형식을 사용한다.
Figure pat00001
여기서 N, E, H, F, G, B는 각각 북향거리(northing), 동향거리(easting), 해발고도, 지상상층, 지상층 및 지하층을 나타내는 식별 문자이다. 중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며, 소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고, 버티컬바(vertical bar) |는 버티컬바 양쪽의 하나를 선택할 수 있음을 나타내는 기호이다. 수학적으로 OR 기호에 대응한다.
북향거리 N과 동향거리 E와 해발고도 H는 거리의 단위를 가지고 양(+)의 값을 갖는 실수(real number)인데, 북향거리 N과 동향거리 E의 쌍은 측지위도 φ 및 경도 λ의 쌍과 상호 변환이 가능하여야 한다. 상호 변환이 가능하다는 것은 측지위도를 북향거리와 동향거리의 함수로 계산할 수 있고, 경도도 북향거리와 동향거리의 함수로 계산할 수 있으며, 북향거리를 측지위도와 경도의 함수로 계산할 수 있고, 동향거리도 측지위도와 경도의 함수로 계산할 수 있다는 뜻이다.
따라서 본 발명에서의 북향거리 N과 동향거리 E는 UTM 좌표계나 웹 메르카토르 도법(web Mercator projection, spherical Mercator projection)에서 사용하는 북향거리와 동향거리를 지칭한다기보다는 위도에 대응하여 거리의 단위를 갖는 좌표를 북향거리, 경도에 대응하여 거리의 단위를 갖는 좌표를 동향거리라고 일반적으로 생각할 수 있다. 즉, 수학식 1에서 지칭하는 북향거리는 UTM 좌표계의 북향거리가 될 수도 있고, 웹 메르카토르 도법에서의 북향거리가 될 수도 있으며, 또 다른 좌표계의 북향거리가 될 수도 있다. 그런데 UTM 좌표계에서는 지구상의 임의의 위치를 특정하기 위해서 먼저 존(zone)을 명시하여야 하므로, 수학식 1의 형식을 이용하여 지구상의 위치를 표기하려면 그 영역을 한 존(zone)으로 국한할 수밖에 없다. 따라서 본 발명에서의 북향거리와 동향거리는 UTM 좌표계의 북향거리와 동향거리는 제외하는 것이 바람직하다.
웹 메르카토르 도법(web Mercator map projection)은 Google이 2005년에 개발하여 현재는 대부분의 인터넷 지도 서비스 업체들이 사용하는 투사법이며, SRID(Spatial Reference Identifier)는 EPSG:900913 또는 EPSG:3857로 주어진다. EPSG:3857의 정식 명칭은 WGS 84/Pseudo_Mercator이다.
웹 메르카토로 도법에서는 지구타원체(地球楕圓體, Earth ellipsoid)를 기반으로 하는 측지위도와 경도를 사용하면서도 지구는 완벽한 구(sphere)인 것으로 가정하며, 구의 반경으로는 지구 타원체의 긴 반지름(semi-major axis)인 6,378,137m를 사용한다[비특4]. 메르카토르 도법과 웹 메르카토르 도법의 차이는 지구의 형상을 타원체(ellipsoid)로 가정하는지, 아니면 구(sphere)로 가정하는 지이다. 메르카토르 도법이 정확하지만 계산 과정이 너무 복잡하므로 구글 지도와 같은 인터넷 지도에서는 지구의 형상을 구로 가정하는 웹 메르카토르 도법을 사용한다.
웹 메르카토르 도법에서의 동향거리 E와 북향거리 N은 수학식 2 내지 3으로 주어진다.
Figure pat00002
Figure pat00003
여기서 R은 지구타원체의 긴 반지름이며, 각도의 단위로는 라디안(radian)을 사용한다. 또한, 웹 메르카토르 도법에서 위도의 범위는 ±85.051129° 이하로 제한된다[비특5]. 사실 R은 지구의 평균 반지름인 6,371,008.8m를 사용하는 것이 더 맞다고 생각되지만, 평균 반지름이 아니라 지구타원체의 긴 반지름을 사용하면 최소한 적도에서는 두 좌표, 즉 메르카토르 좌표와 웹 메르카토르 좌표가 일치한다는 장점이 있다.
대전 중앙로 사거리 중심의 위도는 36.3286936°이고, 경도는 127.4259233°이다. 이로부터 웹 메르카토르 도법으로 계산해보면 북향 거리는 4,345,943.87m이며, 동향 거리는 14,184,988.90m이다. 따라서 수학식 1의 형식으로 대전중앙로 사거리 중심의 위치를 한 문장으로 표현하면 P = N4345943.87E14184988.90이다. 이 위치에서 스마트폰으로 해발고도는 59.0m로 측정되지만 얼마나 오차가 있는지는 알 수 없다. 해발고도까지 포함하면 이 위치는 P = N4345943.87E14184988.90H59.0이 된다.
이 좌표에는 층을 표시하는 식별문자 F나 G, B가 없으므로 실외임을 알 수 있다. 만약 대전 중앙로 사거리에 건물이 있었다면, 이 건물 내 1층에서의 위치는 P = N4345943.87E14184988.90G, 또는 P = N4345943.87E14184988.90H59.0G이다. 실제로 이 사거리의 지상에는 아무런 건물이 없지만 지하에는 대전중앙로 지하상가가 있다. 따라서 대전 중앙로 사거리 바로 밑의 지하상가에서의 위치는 P = N4345943.87E14184988.90B1으로 표현하면 된다.
웹 메르카토르 도법에서 북향거리와 동향거리가 거리의 단위를 가지고 있지만, 지표면에서의 실제 거리와는 크게 차이가 난다. 도 11은 메르카토르 도법으로 작성한 세계 지도의 예이다(저작자: Justin Kunimune, 출처: https://en.wikipedia.org/wiki/Mercator_projection#/media/File:Mercator_with_Tissot's_Indicatrices_of_Distortion.svg).
메르카토르 도법의 가장 큰 장점은 방향을 보존한다는 것이며, 이는 특히 과거에 나침반을 이용하여 배로 항해하는데 도움이 되었다. 그런데 메르카토르 도법의 가장 큰 단점은 면적이 크게 왜곡된다는 것과 극지방을 표시할 수 없다는 것이다. 예를 들면 웹 메르카토르 도법의 지도에서 그린란드(Greenland)는 아프리카와 같은 크기로 보이지만, 실제로는 아프리카의 면적이 그린란드의 면적의 14배이다.
도 11에서 보이는 원들은 티소 타원(Tissot's indicatrix of deformation)이라고 불리는 것인데, 위치에 따라서 면적이나 형상이 어떻게 왜곡되는가를 표시한 것이다. 쉽게 설명하면 실제 지표면에 반경 1m의 원을 그린 뒤, 지도에도 그 원이 나타나도록 한 것이다. 형상의 왜곡이 있다면 원이 타원으로 나타나게 된다. 따라서 원이 거의 완벽한 원으로 보인다면 형상의 왜곡은 적다고 할 수 있다. 만약 왜곡이 전혀 없다면 티소 타원들이 모두 동일한 크기의 원으로 표시되어야 한다.
도 11에서 보면 위도가 커질수록 티소 타원이 커지지만, 그래도 모두 원의 형상을 유지하고 있는 것을 알 수 있다. 즉, 메르카토르 도법은 작은 영역의 각도(angle)와 모양(shape)을 보존한다. 메르카토르 도법은 정각도법(正角圖法, conformal projection)의 대표적인 예이다. 그런데 위도가 커질수록 타원의 크기가 커지므로 크기, 또는 거리의 왜곡이 큰 것을 알 수 있다. 즉, 메르카토르 도법에서 북향거리나 동향 거리가 1m가 차이 나는 두 지점의 실제 지표면 상에서의 거리 차이는 1m와 크게 다를 수 있다는 뜻이다.
지구상의 대표적인 장소들에서 웹 메르카토르 도법으로 북향거리와 동향거리를 계산해 보면 표 1과 같다.
번호 장소 위도 경도 Northing Easting
1 경위도원점 0.00m 0.00m
2 대척점 180° 0.00m 20037508.34m
3 북극 90° +∞ 0.00m
4 남극 -90° -∞ 0.00m
5 세종기준점 36.5222134° 127.3031899° 4372717.10m 14171326.28m
6 대전 중앙로 사거리 36.3286936° 127.4259233° 4345943.87m 14184988.90m
7 시드니 오페라 하우스 -33.8567844° 151.2152967° -4009587.84m 16833209.83m
표 1에서 볼 수 있는 바와 같이 북극의 북향거리는 무한대(∞)로 나타나고, 남극의 북향거리는 마이너스 무한대(-∞)로 계산된다. 또한, 남반부에서는 북향거리가 음의 값을 가진다.
참고 문헌 [특17]에 개시된 좌표계는 정현곡선도법(正弦曲線圖法, sinusoidal projection)과 밀접한 연관성이 있다[비특6]. 정현곡선도법은 의원통도법(擬圓筒圖法, pseudocylindrical projection)의 하나이다. 도 12는 이 좌표계를 이해하기 위한 개념도이다. 이 좌표계는 웹 메르카토르 도법과 동일하게 지구의 형상을 완벽한 구라고 가정하면서도 위도와 경도는 지구타원체를 기반으로 하는 측지위도와 경도를 사용한다. 간단히 말하면 측지위도를 지심위도(geocentric latitude)인 것처럼 취급하는 것이다. 따라서 지구의 중심 C에서 측지위도 φ와 경도 λ를 가지는 지표면 상의 한 점 P(φ, λ)까지의 거리는 지구의 반경 R이며, 측지위도와 경도는 직교 좌표계(rectangular coordinates)의 좌표 X, Y, Z의 단순한 공식으로 주어진다.
이 좌표계에서의 북향거리와 동향거리는 다음과 같이 정의된다. 위도 φ와 경도 λ를 가지는 한 점 P(φ, λ)은 위도가 φ인 점들을 지나는 위선(緯線, parallels, lines of latitude) L(φ)와 경도가 λ인 점들을 지나는 경선(經線, lines of longitude, meridians) M(λ)의 교점에 해당한다. 위도가 0인 점들을 지나는 위선이 적도(赤道, Equator) Lo이며, 경도 0°에 해당하는 경선이 본초자오선(本初子午線, prime meridian) Mo이고, 적도와 본초자오선의 교점이 경위도의 원점 O이다. 그리고 본초자오선 Mo와 위선 L(φ)의 교점을 경로점(經路點, waypoint) w라고 지칭한다.
이때 북향거리(Northing)는 경위도의 원점(經緯度 原點) O에서 경로점 w까지 본초자오선을 따라서 측정한 호(弧, arc)의 길이(arc length)로 정의하고, 동향거리(Easting)는 경로점 w에서 상기 한 점 P(φ, λ)까지 위선을 따라서 잰 호의 길이로 정의한다. 그런데 이렇게 측정한 북향거리와 동향거리는 음(-)의 값을 갖는 구간이 있으므로 전체적으로 양(+)의 값을 갖도록 하기 위하여 북향거리와 동향거리의 측정의 시작점이 되는 기준점(reference point)을 경위도의 원점에서 지표면 상의 다른 지점으로 자유롭게 옮길 수 있도록 하고, 또 북향거리 N과 동향거리 E의 기본값을 허용하면 수학식 4 내지 5와 같이 주어진다.
Figure pat00004
Figure pat00005
여기서 No는 북향거리의 기본 값이고, Eo는 동향거리의 기본 값이며, φo는 기준점의 측지위도이며, λo는 기준점의 경도이다. 또한, 역으로 북향거리와 동향거리에서 측지위도와 경도를 얻는 공식은 수학식 6 내지 7과 같이 주어진다.
Figure pat00006
Figure pat00007
지구의 평균 반경 R은 좌표계의 호환성을 최대로 하기 위하여 웹 메르카토르 도법과 동일하게 6,371,098m를 사용하는 것이 바람직할 것이다. 이때 지구상의 임의의 위치에서 북향거리와 동향거리가 항상 양의 값을 갖도록 하기 위하여 기준점을 경위도의 원점으로 하고(즉, φo = λo = 0), 북향거리와 동향거리의 기본 값은 각각 No = 20,000,000m, Eo = 40,000,000m로 할 수 있다. 이와 같은 설정에서 대표적인 장소들의 북향거리와 동향거리를 계산해보면 표 2와 같다.
번호 장소 위도 경도 Northing Easting
1 경위도원점 20000000.00m 40000000.00m
2 대척점 180° 20000000.00m 60037508.34m
3 북극 90° 30018754.17m 40000000.00m
4 남극 -90° 9981245.82m 40000000.00m
5 세종기준점 36.5222134° 127.3031899° 24065634.20m 51388448.93m
6 대전 중앙로 사거리 36.3286936° 127.4259233° 24044091.67m 51427876.75m
7 시드니 오페라 하우스 -33.8567844° 151.2152967° 16231080.00m 53978848.40m
표 2에서 볼 수 있는 바와 같이 지구상의 모든 지점에서 북향거리와 동향거리가 유한한 양의 값을 가진다. 또, 전술한 방식으로 지도상의 북향거리와 동향거리를 지표면에서의 실제 거리와 비교할 때, 수학식 4로 계산한 북향거리나 수학식 5로 계산한 동향거리가 1m 차이 나는 두 지점은 실제 지표면 상에서도 비슷한 차이를 가진다. 정확히 1m가 아닌 이유는 지구를 타원체가 아니라 구면으로 가정한 사실과 고도를 고려하지 않은 사실에 기인한다.
이와 같은 북향거리와 동향거리의 단점은 두 좌표가 직교하지 않는다는 점이다. 즉, 동향거리가 1m 차이 나는 두 지점은 지표면에서 실제로도 위선을 따라서 1m 떨어져 있지만, 북향거리가 1m 차이 나는 두 지점은 경선을 따라서 1m 떨어져 있지 않다. 도 13은 이 사실을 예시한다.
도 13은 대전 중앙로 사거리에서 가로: 세로 100m 정도 되는 영역의 경계를 표시한 것이다. 평행사변형은 수학식 4 내지 5로 기술되는 북향거리와 동향거리의 범위가 대전 중앙로 사거리에서 50m 이내에 드는 영역을 표시한 것이고, 점선으로 표시한 정사각형은 웹 메르카토르 좌표계에서 동일하게 북향거리 및 동향거리의 범위가 대전 중앙로 사거리에서 50m 이내에 드는 영역의 경계를 표시한 것이다. 도 13에서 정사각형 및 평행사변형의 면적이 상당히 다른 것을 알 수 있다. 다소 이상하게 보일 수 있지만, 이 평행사변형의 면적은 100×100m2이다. 그리고 정사각형의 면적은 이에 상당히 모자란다.
도 14는 이 현상을 이해하기 위한 도면이다. 영역의 중심은 cnt이며, 수평축 E는 수학식 5로 주어지는 동향 거리(easting), 수직축 N은 수학식 4로 주어지는 북향 거리(northing)의 방향을 나타낸다. 그리고 중심 cnt에서 동향거리를 ΔE = 50m 만큼 이동시킨 위치가 H이며, 북향거리를 ΔN = 50m 만큼 이동시킨 위치가 V'이다.
H는 이해하기가 간단하다. 중심 cnt와 위치 H는 북향거리가 같다. 그리고 동향거리는 경로점 w에서 위선을 따라서 측정한다. 중심 cnt와 위치 H는 북향거리가 같으므로 경로점 w도 같고, 위선을 따라서 측정한 동향거리만 50m 차이가 난다. 따라서 중심 cnt와 위치 H는 동서 방향으로 50m 차이가 난다.
그러면 중심 cnt와 동향거리가 같고 북향거리는 50m 차이 나는 지점이 왜 V가 아니고 V'일까? 북향거리는 경위도의 원점에서부터 본초자오선 Mo를 따라서 측정한 거리이다. 따라서 중심 cnt의 경로점 w와 위치 V'의 경로점 w'은 본초자오선에서 50m 떨어져 있다. 그런데 동향거리는 경로점에서 위선을 따라서 측정한 거리이다. 북반구에서 경로점 w'은 경로점 w보다 북쪽으로 50m 떨어져 있으므로, 위선의 원주(perimeter)가 줄어든다. 따라서 경로점 w와 w'에서 시작하여 같은 동향거리를 이동한다면, 원주가 적은 경로점 w'에 대하여 이동한 각거리(angular distance)는 더 클 수밖에 없다. 따라서 중심 cnt보다 북향거리만 50m 차이 나는 지점이 V가 아닌 V'이 되는 것이다.
중심 cnt의 수학식 4와 5로 주어지는 북향거리와 동향거리를 각각 N과 E라고 하면, 중심 cnt의 좌표는 (N, E)이고, 위치 H의 좌표는 (N, E + ΔE)이며, 위치 V의 좌표는 (N + ΔN, E)이다.
중심 cnt에서 위치 H로 이동하기 위해서는 경도 λ가 바뀌어야 한다. 경도가 λ에서 λ'으로 바뀌었다고 하면, 경도의 변화량은 수학식 8과 같이 주어진다.
Figure pat00008
이때, 동향거리의 변화량은 수학식 9와 같이 주어진다.
Figure pat00009
수학식 9를 보면 경도 λ가 변하면 이에 비례하여 동향거리 E가 증가한다. 수학식 4를 보면 북향거리는 이에 영향을 받지 않음을 알 수 있다. 이는 경도가 증가하면 좌표가 위선에 평행하게 움직인다는 뜻이다.
중심 cnt에서 북향거리가 변하려면 위도 φ가 변경되어야 한다. 경도는 변하지 않고, 위도만 φ에서 φ'으로 변하였다고 하면 위도의 변화량은 수학식 10과 같이 주어진다.
Figure pat00010
이때 북향거리의 변화량은 수학식 11과 같이 주어진다.
Figure pat00011
한편, 경도가 변하지 않고 위도만 변하였음에도, 동향거리의 변화량은 수학식 12와 같이 주어진다.
Figure pat00012
경도의 변화량이 아주 적다고 하면 수학식 12는 수학식 13과 같이 근사할 수 있다.
Figure pat00013
따라서 경도가 변하였을 때, 새로운 위치는 V가 아니라 V'이 된다. 이와 같은 이유로 도 13에서 수학식 4 내지 수학식 5에 따른 북향거리와 동향거리의 범위가 중심에서 50m 이내인 영역의 형상이 평행사변형과 같은 모습으로 주어진다.
그런데 도 13에서 위도와 경도가 모두 양의 값을 가지고, 경도 φ가 기준 경도 φo보다 클 때, 동향 거리의 변화량은 음(-)의 값을 갖는다. 그런데 도 13에서는 평행 사변형이 오른쪽으로 기울어 있으므로 양의 값을 가지는 것으로 보인다. 이와 같은 불일치는 수학식 4와 5로 주어지는 북향거리와 동향거리를 갖는 지점을 다시 웹 메르카토르 도법으로 변환하여 지도에 표시했기 때문이다.
도 13에서 평행사변형의 윗변과 아랫변은 완벽한 수평선이며, 두 변은 평행하다. 그런데 평행사변형의 두 빗변, 즉 좌측변과 우측변은 서로 평행하지 않을 뿐만 아니라, 사실은 직선도 아니다. 다만, 지구의 크기에 비하여 평행사변형의 한 변의 길이(100m)가 휠씬 적으므로 평행한 두 직선으로 보일 뿐이다.
도 14에서 평형사변형의 윗변과 아랫변의 길이는 100m이다. 그리고 평행사변형의 높이도 100m이다. 따라서 평행사변형의 면적은 100×100m2이다. 즉, 본 발명의 제 1 실시 예에 따른 북향거리와 동향거리로 일정한 범위를 갖는 영역을 표시하면(예: N - 1 ≤ y ≤ N + 1, E - 1 ≤ x ≤ E + 1), 그 영역은 일반적으로 평행사변형의 형상을 가지지만, 그 면적은 항상 1m2로 일정하다.
한편, 웹 메르카토르 도법의 북향거리와 동향거리로 동일하게 일정한 범위를 갖는 영역의 경계를 표시하면, 그 영역은 웹 메르카토르 도법의 지도에서 당연히 정사각형의 형상을 가지지만, 그 영역의 실제 면적은 1m2와 크게 다를 수 있다.
도 15는 적도 근처에서 두 좌표계에 따른 영역의 면적의 차이가 거의 없다는 것을 보여준다. 또, 두 좌표계에 따른 영역이 모두 정사각형의 형상을 하고 있다. 한편, 도 16에서 볼 수 있듯이 본초자오선(λ = 0°)에서 위도가 75°인 지점에서는 두 영역이 모두 정사각형의 형상을 하고 있지만, 면적이 매우 다르다. 즉, 웹 메르카토르 좌표계에서 북향거리와 동향거리의 범위가 각각 1m인 영역을 지정하면, 그 영역의 면적이 실제로는 1m2가 아니라 1cm2가 될 수도 있다는 뜻이다. 한편, 도 17에서 경도가 음(-)의 값을 갖는 서반구에서는 평행사변형이 왼쪽으로 기울어있다.
이상에서 알 수 있듯이 웹 메르카토르 좌표계는 지구상의 영역을 동일한 면적을 가지는 조각들로 분할하기에는 적합하지 않다. 반면, 본 발명의 제 1 실시 예에 따른 좌표계로는 그 영역의 형상이 원이나 정사각형은 아니지만, 지구상의 어느 지점에서나 거의 동일하게 1m2의 면적을 가지고 있다.
웹 메르카토르 좌표계의 북향거리와 동향거리 및 [특17]에 제시된 북향거리와 동향거리는 모두 본 발명의 제 1 실시 예의 수학식에 사용되기 위한 조건을 충족한다. 따라서 수학식 1로 주어지는 북향거리와 동향거리는 웹 메르카토르 도법에 의한 북향거리와 동향거리가 될 수도 있고, [특17]에 제시된 북향거리와 동향거리가 될 수도 있으며, 또 다른 좌표계의 북향거리와 동향거리가 될 수도 있다.
웹 메르카토르 도법에 의한 북향거리와 동향거리는 웹 메르카토로 도법으로 그린 디지털 지도에서 직접적으로 좌표를 읽을 수도 있고, 영역의 형상이 정사각형으로 주어진다는 장점이 있다. 따라서 예를 들어 대한민국의 영토 안에서만 사용한다면 수학식 2와 3으로 주어지는 북향거리와 동향거리를 사용할 수 있다. 그런데 웹 메르카토르 도법의 북향거리와 동향거리로 가로: 세로 1m의 영역을 특정하더라도 실제 면적은 위도에 따라서 1m2와 크게 차이가 날 수 있으며, 또 극지방에서는 사용할 수 없다는 단점이 있다.
한편, [특17]에 제시된 북향거리와 동향거리로 각각 1m의 범위에 드는 영역을 특정하면 극지방을 포함하는 지구상의 어디에서도 거의 1m2의 면적을 가진다. 그러나 그 영역의 형상이 일반적으로 평행사변형으로 주어진다.
지구상의 임의의 위치를 1m2의 오차로 특정할 수 있다는 것은 대단한 장점이다. 예를 들어 지구상의 임의의 장소의 위도와 경도를 가지고 수학식 4와 5로 주어지는 북향거리와 동향거리를 계산한 뒤, 반올림하여 정수(integer) 혹은 자연수(natural number)를 얻을 수 있다. 그러면 이렇게 얻은 정수나 자연수가 동일한 영역의 면적이 항상 1m2가 된다. 1m2의 오차 범위로는 길거리의 신호등이나 행인(行人, passerby)의 위치를 특정하기에도 충분하다. 또한, 이와 같은 두 정수로 지표면을 분할하면 그 정수의 쌍의 숫자가 꼭 필요한 만큼만 약 510조 개가 생성된다. 따라서 전 지구적으로 사용하기 위해서는 수학식 4와 5로 주어지는 북향거리와 동향거리가 최선의 선택이라고 할 수 있다.
기업이 홍보나 자사 제품의 판매를 위한 쇼핑몰을 위해서 별도의 홈페이지를 운영하려고 하면, 먼저 인터넷 도메인(internet domain)을 확보하고, 매년 도메인 유지비용을 납부하여야 한다. 또한, 이미 선점된 도메인과 중복되지 않는 인터넷 도메인을 확보하는 것은 상당히 어렵다. 기억하기도 좋고 의미도 명확한 도메인들은 이미 누군가가 등록해 놓은 경우가 대부분이기 때문이다.
구글 지도에서 자신의 홈페이지를 만들면 도메인을 구입할 필요가 없다. 구글에서 알고리즘에 의하여 자동으로 서브 도메인(sub domain)을 생성해주기 때문이다. 또한, 회사 이름, 전화번호, 사진 등을 올리면 이로부터 홈페이지가 자동으로 생성된다. 이와 같이 홈페이지가 생성되는 이유는 홈페이지를 만들기 위한 기본틀, 즉 템플레이트(template)를 사용하기 때문이다.
템플릿을 이용하여 홈페이지를 만들 때의 가장 큰 장점은 가입자가 홈페이지 제작에 대한 아무런 지식이 없어도 된다는 점과, 모든 것이 데이터베이스로 이루어지므로 전체적으로 저장 공간이 줄어들고 속도도 빨라진다는 점이다. 반면, 가장 큰 단점은 융통성이 부족하다는 점이다. 마치 운전면허증(driver's license)과 명함(name card)을 만드는 차이와 비슷하다. 운전면허증은 단 하나의 디자인이 있고, 여기에 이름, 주소, 사진 등만 모두 다르다. 반면, 명함에도 이름이나 주소, 전화번호 등이 들어가지만, 그 디자인은 모두 각각이다. 따라서 자신만의 개성을 발휘하기 위하여 독특한 디자인을 사용할 수 있다는 장점이 있지만, 명함을 디자인하는 것은 모두 각자의 책임으로 상당한 노력이 필요하다.
따라서 정형화된 홈페이지가 아닌 다양한 형태의 홈페이지 또는 더 일반적으로 온라인 웹사이트를 운영하려고 하면, 템플릿을 사용하거나 데이터베이스에 저장하지 않는 것이 유리하다. 대신에 별도의 폴더(folder)에 인터넷 페이지를 저장하고, 데이터베이스에는 그 폴더까지의 경로(path)와 인터넷 페이지의 이름을 포함하는 전체 경로만 저장하는 방식이 바람직하다.
그런데 주소가 있는 상점의 홈페이지 소스 파일과 같이 위치 속성(location attributes)을 부여할 수 있는 디지털 파일들을 통합적으로 관리하기 위하여 본 발명의 제 1 실시 예의 문자열을 사용할 수 있다. 여기서 위치 속성은 상기 사업체의 사업장(事業場, place of business) 내 대표적인 지점의 위치 속성이며, 측지위도와 경도 및 선택적으로 층수를 포함한다. 그리고 디지털 파일들은 주소를 가지는 사업체(事業體, company, business, enterprise)들의 홈페이지를 구성하는 웹사이트의 소스 코드와 사진, 동영상 등 부속 데이터들이 될 수 있고, 그 상점의 온라인 쇼핑몰과 관련된 자료들이 될 수도 있으며, 거래 기록이나 고객 리뷰 등의 데이터가 될 수도 있다.
이와 같은 상점의 홈페이지 주소를 도 18에 예시한 바와 같이 그 상점의 대표 위치의 북향거리와 동향거리를 이용하여 "http://www.S360VR.com/database/N24044091.67E51427876.75/home/index.html"와 같이 생성할 수 있다. 이 표현에 따르면 www.S360VR.com이라는 도메인에 database라는 폴더(folder)가 있고, 그 안에 상점별로 각각 개별 폴더(individual folder)가 있다. 그 안에 다시 공통 형식을 가지는 하부 폴더(sub folder)인 home이 있고, 그 안에 index.html이라는 HTML 페이지가 저장되어 있다.
여기서 "N24044091.67E51427876.75"은 대전 중앙로 사거리에 가상의 상점을 가정하여 그 상점의 대표 지점의 북향거리 N = 24044091.67m와 동향거리 E = 51427876.75m를 이용하여 생성한 개별 폴더명(individual folder name)이며, 수학식 14와 같은 형식의 단 하나의 문자열로 생성된다.
Figure pat00014
여기서 N, E, F, G, B는 각각 북향거리(northing), 동향거리(easting), 지상상층, 지상층 및 지하층을 나타내는 식별 문자이고, 중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이다. 소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고, 버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이다. 북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이며, 북향거리 N과 동향거리 E의 쌍은 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능하다.
상점이 지상 2층에 있다면 상기 개별 폴더의 이름을 나타내는 문자열의 말미에 "F1"을 추가하여야 하고, 지하 3층이라면 "B3"를 추가하여야 한다. 그리고 다층 빌딩에서 1층(지상층)에 있는 상점이라면 "G"를 반드시 추가하여야 하지만, 단층 건물에서의 상점, 또는 노점이라면 "G"를 생략할 수 있다.
북향거리와 동향거리는 수학식 2 내지 3으로 주어지는 웹 메르카토르 도법에서의 북향거리와 동향거리를 사용할 수도 있고, 수학식 4 내지 5로 주어지는 북향거리와 동향거리를 사용할 수도 있다. 수학식 14에서 볼 수 있듯이 해발고도는 사용하지 않는다. 상점들을 서로 구분하기 위하여 굳이 해발고도를 명시할 필요가 없기 때문이다.
그런데 북향거리와 동향거리도 센티미터(cm)까지 자세히 특정할 필요가 없다. 아무리 작은 상점이라도 면적이 1m2는 넘을 것이므로, 북향거리와 동향거리를 반올림을 하여 자연수(natural number)로 만들어도 된다. 따라서 상기 가상 상점의 주소를 "http://www.S360VR.com/database/N24044092E51427877/home/index.html"와 같이 해도 충분하다. 따라서 수학식 15와 같이 개별 폴더를 생성할 수도 있다.
Figure pat00015
여기서
Figure pat00016
은 북항거리 대응 정수(northing corresponding integer)로서 북향거리를 반올림한 자연수(natural number)이며,
Figure pat00017
는 동향거리 대응 정수(easting corresponding integer)로서 동향거리를 반올림한 자연수이다.
따라서 문자열(string) "N24044092E51427877"은 대전 중앙로 사거리에 있는 가상의 상점, 예를 들어 "스타벅스"라는 상점과 관련된 디지털 파일들, 예를 들어 스타벅스의 공식 홈페이지를 구성하는 디지털 파일(digital files)을 저장하는 서브폴더(sub folder)가 저장된 개별 폴더의 이름, 즉 개별 폴더명(individual folder name)이다.
그런데 수학식 14나 수학식 15와 같은 방식으로 개별 폴더명을 생성하면 컴퓨터로 관리하기에는 편리하지만, 사람들에게는 불편할 수 있다. 북향거리와 동향거리만 보고서 어떤 상점인지 바로 알기 어렵기 때문이다. 그런데 만약 개별 폴더명을 "N24044092E51427877(starbucks)"와 같이 하면 컴퓨터로 처리할 작업이 조금 늘어나는 단점이 있지만, 사람들이 관리하기에는 편리하다.
또 다른 관점에서 개별 폴더명을 "Korea-N24044092E51427877(starbucks)"나나 "Korea-Daejeon-N24044092E51427877(starbucks)"와 같이 국가명 또는 국가명과 행정구역명을 추가하면, 방대한 양의 디지털 파일들을 관리할 때 국가나 행정구역별로 관리하기에 쉬울 것이다. 따라서 바람직한 본 발명의 실시 예에 따르면 개별 폴더명은 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며, 상기 문자열 P는 수학식 14 내지 수학식 15로 주어진다.
한편, 건축물 내의 상점이 아니라 건축물 자체의 홈페이지나 다른 파일, 예를 들어 평면도 파일을 관리하는 개별 폴더의 이름도 유사한 형식으로 생성할 수 있다. 다만, 이 경우에는 층 정보가 필요없이 북향거리와 동향거리만을 사용하여 개별 폴더가 생성된다. 따라서 개별 폴더의 이름은 수학식 16 또는 17과 같이 주어지는 문자열 P를 포함하는 문자열로 주어진다.
Figure pat00018
Figure pat00019
이와 같은 개별 폴더 내에 예를 들어 "structure"라는 하위 폴더를 생성하고, 이 하위 폴더에 "G.geojson" 및 "F1.geojson"과 같은 평면도를 저장할 수 있다. 즉, 홈페이지를 구성하기 위한 HTML 페이지(HTML page)뿐만 아니라, 임의의 형태를 갖는 디지털 파일들을 저장하고 관리할 수 있다.
따라서 본 발명의 제 2 실시 예는 선택적으로 층수(floor number)를 포함하는 위치 속성(location attributes)을 부여할 수 있는 디지털 파일들을 통합적으로 관리하는 방법 및 데이터 저장소(data store, data warehouse)를 제공한다. 위치 속성이란 위도와 경도로 대표되는 지리적인 좌표, 또는 이와 상호 호환이 가능한 북향거리와 동향거리 및 선택적으로 건축물 내의 층을 특정하는 정수를 추가한 정보를 의미한다.
각기 다른 위치 속성을 갖는 디지털 파일들은 각기 다른 개별 폴더(individual folder)에 저장되며, 상기 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함한다. 상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열로 수학식 14 내지 17과 같이 주어진다.
이와 같은 디지털 파일들은 하나 이상의 매체(media) 또는 데이터 저장소에 저장된다. 매체는 간단하게 컴퓨터의 내장 또는 외장 하드가 될 수도 있고, NAS(Network Attached Storage)나 데이터 저장용 서버(server) 또는 데이터 센터(data center)가 될 수도 있으며, 콘텐츠가 늘어남에 따라 여러 개의 분산된 서버나 전세계에 흩어진 데이터 센터가 될 수도 있다.
디지털 파일들은 주소를 가지는 건축물의 외곽선 도면(building outline drawing)과 층별 평면도(floor plan)가 될 수도 있다. 이때 상기 위치 속성은 상기 건축물의 대표 지점의 측지위도와 경도이다.
또한, 상기 디지털 파일들은 주소를 가지는 사업체(company, business, enterprise)들의 홈페이지와 관련된 HTML 소스 코드(HTML source codes)가 될 수 있다. 이때 상기 위치 속성은 상기 사업체의 사업장(place of business) 내 대표적인 지점의 위치 속성이며, 측지위도와 경도 및 선택적으로 층수를 포함한다.
또, 상기 디지털 파일들은 공간들(spaces)과 관련된 디지털 파일들이 될 수 있다. 여기서 공간들이란 측지위도와 경도 및 선택적으로 건축물 내 층수를 포함하는 위치 속성을 가지고, 사람들이 폐곡선(closed curve) 또는 다각형(polygon)의 형상을 가지는 경계(boundary)를 인식할 수 있으며, 유한한 면적(finite area)을 가지는, 지구상의 하나 이상의 장소(places)를 지칭한다. 예를 들어 벽과 출입문을 가지는 작은 상점은 하나의 공간이 될 수 있다.
또, 디지털 파일들은 개별 공간과 연관지을 수 있는 홈페이지의 소스 코드와 데이터, 게시판, 블로그, 사진 갤러리, 게임 사이트, 음원(sound source), 채팅방(chatting room), 파일 공유 사이트 중의 어느 하나가 될 수 있다.
상점이나 건축물의 홈페이지 관련 디지털 파일뿐만 아니라 위치 속성을 부여할 수 있는 디지털 기기(digital device)들을 통합적으로 관리하기 위해서도 실시예 2와 동일한 방법을 사용할 수 있다. 예를 들어 요즈음은 대부분의 보안 카메라가 IP 카메라로 설치되고 있다. IP 카메라는 카메라 내부에 자체의 웹 서버(web server)를 내장하고 있다. 따라서 아이디와 비밀번호를 알고 있다면, 웹 브라우저로 접속하여 보안 카메라에 포착되는 화면을 실시간으로 볼 수 있다.
IP 카메라뿐만 아니라 IOT(internet of things) 센서들도 접속 종단점(connection endpoints)를 가지고 있어서, 접속 종단점에 접속하여 IOT 기기를 조작하거나 IOT 센서의 센서 값을 읽을 수 있다. 이와 같이 본 발명의 제 3 실시 예에 따른 디지털 기기들은 IP 카메라, 라이브 카메라(live camera), NAS(Network Attached Storage, 네트워크 결합 스토리지), IOT 센서 등 온라인으로 접속할 수 있는 모든 기기들을 지칭한다.
이와 같은 디지털 기기들의 이름을 본 발명의 제 2 실시예와 같은 식으로 정한다면 전 지구적으로 설치되어 있는 수많은 기기를 통합적으로 일관되게 관리할 수 있다. 예를 들어 대전 중앙로 사거리 바로 밑의 지하상가에 IP 카메라와 화재감지기가 설치되어 있다면, IP 카메라와 화재감지기의 이름을 각각 "N24044091.67E51427876.75B1-Cam"과 "N24044091.67E51427876.75B1-Pyro"와 같은 식으로 정하거나, 북향거리와 동향거리를 반올림하여 각각 "N24044092E51427877B1-Cam"과 "N24044092E51427877B1-Pyro"와 같은 식으로 정할 수 있다. 또 지상의 교통 신호등은 "N24044092E51427877-TrafficLight"과 같은 식으로 정할 수 있다.
북향거리와 동향거리와 층수 이외에 추가로 문자를 덧붙이는 이유는 대개는 좁은 영역에 여러 개의 디지털 기기들이 설치되기 때문이며, 또 북향거리와 동향거리와 층수만 가지고는 디지털 기기들의 종류를 알 수 없기 때문이다. 따라서 디지털 기기들의 이름을 수학식 18 내지 19의 형식으로 주어지는 문자열 P을 포함하는 문자열로 정하는 것이 바람직하다.
Figure pat00020
Figure pat00021
여기서 각 기호와 문자의 의미는 실시예 1이나 2에서와 동일하다.
이 IP 카메라에 접속하기 위하여 "http://www.S360VR.com/N24044091.67E51427876.75B1-Cam"와 같은 인터넷 주소를 사용할 수 있다. 이 디지털 기기들에 접속하는 경로도 실시예 1이나 2에서와 유사하게 공통 경로(common path)와 개별 디지털 기기명(individual digital device name)으로 구성되는데, 실시예 3에서는 문자열 P를 포함하는 문자열이 디지털 파일들을 관리하는 개별 폴더명이 아니라, 개별 디지털 기기들의 접속 종단점이라는 점이 다르다. 즉, 상기 디지털 기기들의 접속 종단점(connection endpoint)의 인터넷 주소(internet address)는 공통 경로(common path)와 개별 디지털 기기들의 이름을 포함한다. 이러한 디지털 기기들은 또한 기존의 검색 방식으로 "http://www.S360VR.com/cam=N24044091.67E51427876.75B1?"와 같이 접근할 수도 있다.
한편, 디지털 기기들을 종류별로 통합적으로 관리하고 싶다면 카메라의 이름을 "N24044092E51427877B1-Cam"으로 정하는 대신에 "Cam-N24044092E51427877B1"으로 정할 수 있다. 또 국가명과 행정구역명을 더하여 "Korea-Daejeon-Cam-N24044092E51427877B1"와 같은 식으로 정하여 국가명과 행정구역명과 디지털 기기의 종류별로 관리를 할 수도 있다.
이미 살펴본 바와 같이 구글 지도에서는 여러 층으로 구성된 대형 건축물에 대하여 실내 지도(indoor map)를 제공한다. 지도의 줌(zoom)이 사전에 설정된 값 이상이 되면 실내 지도 서비스를 제공하는 대형 건축물의 지상층(ground floor)의 평면도(floor plan)가 보이며, 그 건축물을 클릭(click)하면 그 건축물의 다른 층을 선택할 수 있는 메뉴가 지도 화면의 한쪽에 보인다. 그 메뉴에서 다른 층을 선택하면 지상층의 평면도가 해당층의 평면도로 교체되어 보여진다.
이와 같은 방식은 직관적으로 타당하게 보이지만, 실제로는 모두가 의자에 앉아서 컴퓨터 모니터를 통하여 지도를 보던 시절에 더 적합한 방식이다. 모두가 스마트폰이 있고, 또 무인 자동차와 무인 배달 로봇이 점점 현실화되어 가는 현재에는 가장 좋은 방식이라고 할 수 없다.
스마트폰을 가지고 디지털 지도를 실행하면 스마트폰의 위치가 GPS 신호로부터 계산되어 지도상에 표시된다. 즉, 스마트폰에서 지도를 실행하면 지도에 나의 현재 위치가 표시된다. 그러면 나의 위치가 항상 지도의 중심에 오도록 지도를 자동으로 패닝(panning)이 되도록 프로그램을 할 수 있다. 그러므로 스마트폰의 주인이 어떤 건축물의 내부로 들어갔다면 굳이 마우스 클릭(click)이나 화면 터치(touch)를 하지 않더라도 층을 선택할 수 있는 메뉴를 보여줄 수 있을 것이다. 즉, 현재 위치가 층을 선택할 수 있는 다층 건축물의 내부라면 굳이 클릭이나 터치를 하지 않더라도 층을 선택할 수 있는 메뉴를 보여주는 것이 편리할 것이다.
이 방법에서 스마트폰의 주인이 지상층에 계속 머무른다면 층 선택 메뉴를 무시하면 되고, 계단이나 엘리베이터를 이용하여 다른 층으로 이동하려는 참이라면 층 선택 메뉴를 통하여 해당 층의 평면도를 미리 확인하면 편리할 것이다. 또한, 데스크탑 컴퓨터나 노트북의 경우에도 지도 화면의 중심을 나의 위치라고 가정하고, 지도 화면을 패닝(panning)하여 지도의 중심이 실내 지도를 제공하는 건축물의 내부에 위치한다면 자동으로 층 선택 메뉴를 보여줄 수 있다. 또한, 층을 식별할 수 있는 다양한 기술들과 결합하면 층이 바뀌면 자동으로 평면도도 교체되어 보이도록 할 수도 있을 것이다.
이와 같은 기능을 가진 디지털 지도(digital map)를 구현하기 위해서는 먼저 전자 지도 시스템(electronic map system)에서 기본적으로 사용하는 레이어(layer)와 뷰(view)의 개념을 알아야 한다. 대중에게 널리 알려진 오토캐드(AutoCAD), 포토샵(Photoshop), 어도비 일러스트레이터(Adobe Illustrator)와 같은 소프트웨어들은 도면, 사진, 일러스트레이션을 생성하거나 수정하기 위하여 모두 레이어(layer)를 사용한다. 과거에 컴퓨터 기술이 발전하기 이전에 셀 애니메이션(cel animation)을 만들 때에도 레이어의 개념이 사용되었다.
셀 애니메이션은 만화 영화를 만드는 제작 기법으로 배경과 등장인물들을 모두 각각 별도의 셀룰로이드(celluloid)라는 투명한 플라스틱 필름 위에 그린 뒤, 그 필름들을 겹쳐놓고 카메라로 촬영하여 한 프레임(frame)씩 완성하는 기술이다. 이와 같은 기술을 사용하면 프레임별로 변하지 않는 레이어는 반복 사용할 수 있어 시간과 노력을 절약할 수 있다.
셀 애니메이션에서 각각의 레이어는 각각의 투명한 필름에 그린 불투명한 부분 그림으로 구성된다. 예를 들어 만화 영화의 주인공을 담은 레이어에는 주인공만 불투명하게 그려져 있고, 나머지는 모두 투명한 필름 그대로이다. 이렇게 완성된 각각의 레이어들을 순서에 맞게 겹쳐 놓으면 한 프레임이 완성된다. 따라서 모든 레이어들을 정확하게 겹쳐놓는 것도 중요하지만, 레이어들의 순서를 지키는 것도 중요하다.
도 19는 지도 제작에 있어서 실세계를 각각의 레이어로 분할하는 과정을 예시하는 개념도이다(출처: https://saylordotorg.github.io/text_essentials-of-geographic-information-systems/s11-02-multiple-layer-analysis.html). 실세계를 지도로 묘사하는 데 있어서 토지이용(土地利用, land usage) 현황, 고도(elevation), 땅의 구획(parcels), 도로(streets) 등을 각각 별도의 레이어로 구축한 것을 볼 수 있다.
도 19에서 각각의 레이어를 투명한 필름으로 제작한 뒤 사진을 찍기 위하여 순서에 맞게 겹쳐 놓았다고 가정하자. 이렇게 겹쳐 놓은 레이어들을 위에서 송곳으로 찔러서 모든 레이어에 작은 구멍을 냈다고 하면, 모든 레이어의 구멍은 실제 세계에서 같은 지리적인 위치(geographic location), 예를 들어 같은 위도와 경도를 가질 것이다.
실제 예로 국토지리정보원(https://www.ngii.go.kr)에서 제작한 국가 공식 지도인 바로e맵(map.ngii.go.kr)의 2020년 판은 총 193개의 레이어로 구성되어 있다. 지도 제작을 위한 오픈소스 소프트웨어(open source software)인 QGIS와 같은 소프트웨어를 사용하면, 각각의 레이어를 별도로 수정한 뒤 전체 레이어를 합쳐서 한 장의 지도로 출력할 수 있다.
이 한 장의 지도는 jpeg이나 png, tiff와 같은 확장자를 가지는 그림 파일, 즉 래스터 지도(raster map)로 생성할 수도 있고, 오토캐드로 작성한 건축물의 평면도와 같은 벡터 지도(vector map)로 만들 수도 있다. 바로e맵의 제작 과정에서는 193개의 레이어가 사용됐지만, 완성된 래스터 지도는 단일 레이어가 된다.
QGIS, OpenLayers나 Leaflet과 같은 소프트웨어 플랫폼을 사용하면 각자 자신의 필요에 특화된 지도를 만들 수 있다. 이 경우에도 다시 한 장 이상의 레이어를 사용할 수 있는데, 예를 들어 위성사진을 불러 온 뒤, 그 위성사진에서 희미하게 보이는 도로들을 벡터 레이어로 그리고 이 두 레이어를 겹쳐서 표시할 수 있다. 이 경우에 하늘에서 내려다본 것과 같은 실제 풍경에 도로를 두드러지게 표현함으로써 하이킹(hiking) 계획을 세우는데 사용할 수 있을 것이다.
과거에는 큰 종이에 한 장으로 인쇄되거나 아니면 지역별로 분할되어 책으로 인쇄된 지도가 여행의 필수품이었다. 그런데 지금은 컴퓨터나 스마트폰의 이용이 대중화되면서 전자지도(電子地圖, electronic map)가 그 자리를 대신하게 되었다. 전통적으로 전자지도라는 용어가 사용되고 있지만, 디지털 지도(digital map)라는 용어가 더 타당할 것이다. 전자 지도의 가장 큰 장점은 우리가 관심 있는 장소로 화면(screen)의 중심을 옮기고(pan), 필요한 배율로 확대하며(zoom), 또한 눈앞에 보이는 실제 풍경과 비교하기 위하여 지도의 방향을 바꿀 수 있다(rotate)는 점일 것이다. 이와 같이 종이로 된 지도에서는 없던 편리한 기능을 구현하기 위한 기본 개념이 뷰(view)이다.
대한민국전도(大韓民國全圖, a complete map of Korea) 또는 세계지도(世界地圖, a world map)를 (전체) 지도라고 한다면, 그 중에서 컴퓨터나 스마트폰에서 보이는 지도의 일부, 또는 그 지도가 보이는 객체(object)를 뷰라고 생각할 수 있다. 지도 관련하여 대표적인 클라이언트 측 오픈 소스 소프트웨어(client-side open source software)인 OpenLayers는 뷰(view)를 다음과 같이 정의하고 있다.
뷰 객체는 지도의 간단한 이차원적인 모습을 나타낸다. 이 객체(object)에 지도의 중심, 해상도, 회전 작업을 적용할 수 있다. 뷰는 투사 방식을 가지고 있다. 이 투사방식은 좌표의 중심을 결정하고, 이 뷰의 단위가 해상도의 단위를 결정한다. 기본적인 투사방식은 구면 메카토르(EPSG:3857)이다(A View object represents a simple 2D view of the map. This is the object to act upon to change the center, resolution, and rotation of the map. A View has a projection. The projection determines the coordinate system of the center, and its units determine the units of the resolution (projection units per pixel). The default projection is Spherical Mercator (EPSG:3857).)(출처: https://openlayers.org/en/latest/apidoc/module-ol_View-View.html).
구글맵(Google map), BingMap, OpenStreetMap, 네이버 지도, 다음 지도와 같은 다른 지도들도 모두 동일한 개념을 가지고 있으며, 명칭도 대부분 동일하다. 따라서 뷰를 비공식적이지만 사실상 모든 디지털 지도들이 사용하는 개념이라고 생각할 수 있다. 이뿐만 아니라 다른 객체 및 관련 문법도 대부분 비슷하다. 따라서 편의상 본 발명에서는 OpenLayers의 객체 및 문법을 기준으로 발명을 설명하기로 한다.
도 20은 OpenLayers 문법으로 작성된 자바스크립트 코드(JavaScript code)의 일부로서, 본 발명의 제 4 실시예에서 레이어의 구성을 보여준다. 레이어는 baseLayer, BBoxLayer, buildingLayer, bldLabelLayer, floorLayer, spaceLabelLayer, markerLayer로 구성된다. 레이어는 먼저 선언하는 레이어가 먼저 그려지므로 baseLayer가 가장 밑에 있고, markerLayer가 가장 위에 있다. baseLayer는 OpenStreetMap에서 그림 파일들로 지도의 조각(tile)들을 받아서 실외 지도를 그리는 레이어이다. baseLayer는 래스터 레이어(raster layer)이고, 나머지는 모두 벡터 레이어(vector layer)이다.
markerLayer는 사용자의 편의를 위하여 view의 중심에 십자 선(cross)을 그리기 위한 레이어이다. baseLayer와 markerLayer를 제외한 나머지 레이어들이 구조 레이어 그룹(structure layer group)을 형성한다. 이 중에서 buildingLayer는 건축물의 외곽선(building outline)을 그리기 위한 레이어이고, floorLayer는 건축물의 층별 평면도(floor plans per level) 중 어느 한 층의 평면도를 그리기 위한 레이어이다. BBoxLayer는 참고용으로 건축물을 그 안에 포함하는 최소 경계 상자(bounding box)를 그리기 위한 레이어이고, bldLabelLayer는 건축물의 이름이나 홈페이지 주소 등 건축물과 관련된 핵심 정보를 나타내기 위한 레이어이다. 그리고 spaceLabelLayer는 층별 평면도에 보이는 개별 공간들(spaces)의 상호 등을 보여주기 위한 레이어이다.
여기서 공간(space)이란 위치 속성과 면적(area)을 가지는 실내외의 장소를 의미한다. 공간은 폐곡선(closed curve) 또는 단순하게 다각형(polygon)으로 주어지는 경계(boundary)를 가진다. 가장 대표적인 예로는 방(room)을 생각할 수 있다. 방에는 벽과 문과 천정이 있어서 그 방의 중심의 경도와 위도 및 그 방이 위치한 층수(floor number)를 특정할 수 있다. 또한, 그 방의 면적은 m2의 단위로 특정할 수 있다. 그런데 거실은 벽이나 문으로 막혀 있지 않은 부분이 있지만, 누구나 어디서부터 어디까지가 거실이라고 특정할 수 있다. 이와 같은 거실도 본 발명에서는 공간이라고 특정한다.
더 극단적으로 실외의 축구장이나 전통시장의 좌판도 본 발명에서는 공간으로 취급하고, 축구장이나 노천 전통시장도 건축물로 취급한다. 본 발명에서는 고정된 위치 속성과 면적을 가지는 하나 이상의 공간을 가진 장소를 건축물이라고 취급한다. 따라서 집이나 상가 건물 같은 전형적인 건축물뿐만 아니라 분필로 경계를 그려놓은 테니스 코트와 같이 벽이나 지붕이 없는 경우도 본 발명에서는 건축물로 취급한다.
도 20은 하나의 예시에 불과하지만, 가장 먼저 실외 지도를 표시하는 지도 레이어 그룹(map layer group)이 있고, 그 위에 벡터 레이어(vector layer)로 건축물의 외곽선이나 평면도를 보여주기 위한 구조 레이어 그룹이 있다는 점이 중요하다. 도 20에서 지도 레이어 그룹은 단 하나의 레이어(즉, baseLayer)만 있는 레이어 그룹이지만, 일반적인 지도와 위성 지도를 함께 사용하는 예에서는 지도 레이어도 복수의 레이어를 갖게 된다. 또, 구조 레이어 그룹은 여러 개의 레이어로 구성될 수 있다. 이와 같이 여러 개의 레이어로 구성하는 이유는 구조적으로 프로그래밍을 하기 위해서이다.
도 21은 본 발명의 제 4 실시예에서의 디지털 지도 시스템(digital map system)의 구성을 보여주는 개념도이다. 디지털 지도(digital map)는 스마트폰(smartphone)이나 컴퓨터 사용자(computer user), 배달 로봇(delivery robot) 등이 인터넷(internet)을 통하여 웹 서버(web server) 혹은 서비스 서버(service server)에 접속하면, 크롬(chrome)이나 마이크로소프트 에지(microsoft edge)와 같은 웹 브라우저(web browser)를 사용하여 이용할 수 있다.
디지털 지도 서비스를 원하는 사용자는 컴퓨터나 스마트폰을 이용하여 직접 웹 서버(web server)에 접속하게 되며, 웹 서버는 실외 지도 서버(outdoor map server)와 건축물 데이터베이스(building database)와 실시예 2의 개별 폴더(individual folder)를 관리하는 건축물 데이터 저장소(building data store, building data warehouse)에 연결되어 있다. 이들이 통합하여 디지털 지도 시스템(digital map system)의 하드웨어(hardware)를 구성한다고 할 수 있다.
실외 지도 서버는, 사용자가 디지털 지도를 시작하면 웹 서버에 맵 타일(map tile)을 제공하여 뷰에 실외 지도를 그리도록 하는 서버이다. 예를 들어 타일 서비스를 제공하는 오픈 스트리트 맵(www.openstreetmap.org)의 서비스 서버를 실외 지도 서버라고 간주할 수 있다.
건축물 데이터 저장소(building data store)는 인터넷에 연결된 NAS(Network Attached Storage)라고 생각할 수 있으며, 사용자와 콘텐츠가 늘어남에 따라 한 개 이상의 장치 혹은 서버가 될 수 있다. 건축물 데이터 저장소에서는 건축물의 외곽선 도면(building outline drawing)과 층별 평면도를 포함하는 건축물 데이터들을 건축물별로 각각 개별 폴더(individual folder)에 관리한다.
도 22는 건축물 데이터베이스를 마이크로소프트 엑셀(Microsoft Excel)로 모사한 것이며, 관계형 데이터베이스(relational database)의 표(table) 형식을 가지고 있다. 필드(field)는 건축물 아이디(building ID) bldID, 건축물 이름(building name) bldName, 건축물의 대표 지점의 북향거리 대응 정수(northing corresponding integer) northing과 동향거리 대응 정수(easting corresponding integer) easting, 개별 폴더 이름(individual folder name) folder, 건축물의 대표 지점의 x-축 좌표 cx와 y-축 좌표 cy, 최소 경계 상자의 네 경곗값 BBox_xmin, BBox_ymin, BBox_xmax, BBox_ymax, 건축물의 외곽선을 표시하기 위한 줌 레벨(zoom level for showing building outline) zoomShowBld, 건축물의 이름을 표시하기 위한 줌 레벨(zoom level for showing building name, 표시 안 됨) zoomShowLabel, 최저층 minFloor, 최고층 maxFloor, 평면도를 표시하기 위한 줌 레벨(zoom level for showing building floor plan) zoomShowFloor, 서버 server, 공통 경로(common path) folderPath, 건축물의 홈페이지 주소(homepage address) URL 등이 포함된다.
북향거리 대응 정수와 동향거리 대응 정수는 수학식 4와 5로 주어지는 건축물의 대표 지점의 북향거리와 동향거리를 반올림한 값들이다. OK벤처타운과 같이 작고 단순한 건축물은 대표 지점으로 그 건축물의 외곽선의 도심(centroid)을 사용하면 되지만, 대전중앙로 지하상가와 같이 크고 복잡한 건축물은 도심을 대표 지점으로 사용하는 것이 적절하지 않다. 대전중앙로 지하상가의 도심은 심지어 대전중앙로 지하상가의 외곽선 내에 위치하지도 않는다. 따라서 이 지하상가의 구조를 고려하여 대표 지점이라고 생각할 수 있는 지하 광장의 중심을 대표 지점으로 선정하였다.
일단 대표 지점이 정해지면, 대표 지점의 위도와 경도로부터 수학식 4와 5로 정해지는 북향거리와 동향거리를 구한다. 그런데 이 북향거리와 동향거리는 빠르게 건축물의 대략적인 위치를 조사하기 위하여 사용된다. 이 경우에 굳이 소수점 이하의 정밀도가 필요하지 않으므로 수학식 4 내지 5로 구한 북향거리와 동향거리를 반올림하여 사용할 수 있다. 이와 같이 반올림한 북향거리와 동향거리인 북향거리 대응 정수
Figure pat00022
와 동향거리 대응 정수
Figure pat00023
를 주요 필드(main fields)로 사용하여 데이터베이스 검색을 빨리 할 수 있다.
이 북향거리 대응 정수와 동향거리 대응 정수는 건축물을 탐색할 때에 사용될 뿐만 아니라, 또한, 이로부터 개별 폴더(individual folder)의 이름이 자동으로 정해진다. 따라서 건축물의 외곽선 도면과 평면도를 저장하는 개별 폴더의 이름은 상기 건축물의 대표 지점의 측지 위도와 경도를 포함하는 위치 속성으로부터 하나의 문자열로 수학식 20 또는 21과 같이 주어진다.
Figure pat00024
Figure pat00025
여기서 N, E는 각각 북향거리(northing)와 동향거리(easting)를 나타내는 식별 문자이고, 중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이다. 북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고, 북향거리 N과 동향거리 E의 쌍은 측지 위도 φ와 경도 λ의 쌍과 상호 변환이 가능하다. 또
Figure pat00026
은 북향거리를 반올림한 자연수이며,
Figure pat00027
는 동향거리를 반올림한 자연수이다.
요약하면 건축물 데이터베이스(building database)에는 개별 폴더들의 이름 및 경로, 건축물의 이름 등 실외 지도에 건축물의 평면도를 포함하는 실내 지도를 표시하는데 관련된 모든 지도 설정 정보(map setting data)가 저장된다. 즉, 건축물의 외곽선 도면이나 층별 평면도 또는 건축물의 홈페이지를 구성하는 HTML 파일 등은 개별 폴더에 저장되지만, 그 개별 폴더와 디지털 지도에서의 사용자 상호작용(user interaction)을 중계하는 것이 건축물 데이터베이스이다.
도 23은 본 발명의 제 4 실시예에서 디지털 지도의 메인 화면(main window)을 보여준다. 디지털 지도의 가장 핵심적인 요소는 뷰(view)이며, 사용자와의 상호 작용을 용이하게 하기 위하여 사이드 패널(side panel)이 있는 것이 바람직하다. 도 23에서 뷰는 직사각형의 형상을 하고 있으며, 뷰에 보이는 실외 지도의 범위를 뷰 범위(view extent)라고 부른다. 뷰 범위는 뷰 영역의 경도의 최솟값과 최댓값, 위도의 최솟값과 최댓값으로 나타내거나, 아니면 대등하게 웹 메르카토르 도법에서의 동향거리의 최소값과 최대값, 북향거리의 최소값과 최대값으로 나타낼 수 있다.
또 뷰의 중심에는 십자 마커(cross marker)가 있으며, 이 뷰의 중심의 좌표가 위도와 경도, 웹 메르카토르 좌표계에서의 동향거리(x)와 북향거리(y), 수학식 4 내지 5로 주어지는 북향거리(northing)와 동향거리(easting)로 모두 표시되고 있다. 웹 메르카토르 좌표는 위도 85° 이상에서는 사용할 수 없지만, 그 이하에서는 경위도나 수학식 4 내지 5로 주어지는 북향거리 및 동향거리의 쌍과 상호 변환이 가능하다.
도 23에서 뷰의 중심에 OK 벤처타운(OK Venture Town)이 있다. 뷰의 중심이 이 건축물 - 중앙의 건축물(building at the view center)이라고 지칭함 - 의 외곽선 안에 위치할 때, 좌측의 사이드 패널에는 이 건축물의 이름이 표시되고 있으며, 이 건축물이 3층 건물이므로 층을 선택할 수 있는 층 선택 메뉴(floor selection menu, level selector)가 나타난다.
도 23에는 또한 건축물의 외곽선을 그 안에 포함하는 최소 경계 상자(bounding box)도 보이고 있다. 최소 경계 상자는 어떤 건축물이 뷰에 보여야 할지 말지를 빠르게 판단할 때 사용된다. 최소 경계 상자의 좌표는 사전에 계산되어 건축물 데이터베이스에 저장된다.
이와 같이 본 발명의 제 4 실시예는 디지털 지도(digital map)의 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)를 통합적으로 표시하는 방법을 제공한다. 도 24는 본 발명의 제 4 실시예에서 디지털 지도가 표시되는 전체 과정을 예시하는 순서도(flowchart)이다.
여기에는 실외 지도 서버(outdoor map server)를 유지하는 단계, 건축물들의 외곽선 도면(building outline drawings)과 평면도(floor plans)를 건축물별로 각각 개별 폴더(individual folder)들에 관리하는 데이터 저장소(data store)를 유지하는 단계, 건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)를 유지하는 단계를 포함한다.
상기 건축물 데이터베이스에 저장된 지도 설정 데이터는 각 건축물의 고유 식별 번호(unique identification number, primary ID, bldID)와 상기 개별 폴더에 이르는 전체 경로(full path)와 최저층(lowest floor)의 층수(minFloor)와 최고층(highest floor)의 층수(maxFloor)와 건축물의 외곽선 표시 줌 레벨(zoomShowBld, zoom level for showing building outline)과 평면도 표시 줌 레벨(zoomShowFloor, zoom level for showing floor plan)과 북향거리 대응 정수
Figure pat00028
과 동향거리 대응 정수
Figure pat00029
를 포함한다.
사용자가 디지털 지도를 시작하면 초기 설정 값(initial map settings)으로 뷰에 실외 지도를 보여주는 단계와, 사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰를 갱신하는 단계를 포함한다. 뷰를 갱신하면 실외 지도가 갱신될 뿐만 아니라 그 안에 포함된 건축물의 외곽선이나 평면도도 마찬가지로 줌, 팬, 회전된 상태로 보여진다.
디지털 맵의 사전 설정 데이터(preset data)에는 빌딩의 평면도를 표시하는 절대적인 줌 설정 값(preset zoom threshold value)이 있다. 예를 들어 대한민국 전도를 보고 있을 때 대한민국의 건축물들의 평면도를 모두 표시한다는 것은 가능하지도 필요하지도 않기 때문이다. 따라서 디지털 줌이 설정 값 이상으로 일부 건축물에 대하여는 평면도를 보여줄 필요성이 있는 줌 레벨(zoom level)을 예를 들어 14로 설정할 수 있다. 이와 같이 디지털 지도의 줌이 사전에 설정한 값(preset threshold value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치가 뷰 범위(view extent)에 포함되는 건축물들의 목록(list)을 작성하는 단계를 포함한다.
도 25는 이 검색 범위를 이해하기 위한 도면이다. 도 25에서 가로축은 수학식 5로 주어지는 동향거리(easting) E이고, 세로축은 수학식 4로 주어지는 북향거리(northing) N이다. 웹 메르카토로 도법에서 직사각형으로 주어지는 뷰(view)는 수학식 4와 5로 주어지는 좌표계에서는 평행사변형으로 주어지며, 뷰의 중심 vCnt는 평행사변형의 중심에 위치한다.
뷰의 네 코너(corner)(vUL, vLL, vLR, vUR)를 모두 포함하는 최소 면적의 사각형을 뷰 사각형(view box)이라고 부르기로 한다. 그러면 건축물 데이터베이스에서 북향거리(northing)와 동향거리(easting)가 모두 이 뷰 사각형 안에 들어가는 건축물들의 목록을 작성한다. 이 목록을 뷰 범위 건축물 목록(view extent building list)라고 지칭하겠다.
정확히 말하자면 이 뷰 범위 건축물 목록 buildings는 건축물의 북향거리 대응 정수와 동향거리 대응 정수가 뷰 사각형 안에 위치하는 건축물들의 아이디(bldID)를 자바스크립트 배열(JavaScript array)의 형태로 반환받은 것이다. 이 건축물의 숫자는 자바스크립트 문법에서 buildings.length로 구할 수 있다. 자바스크립트에서 배열의 지수(index)는 0부터 시작하므로 이 배열의 지수는 i = 0에서 i = (buildings.length - 1)까지이다.
그런데 건축물 데이터베이스를 검색하는 범위에 버퍼(buffer)를 주어 뷰 사각형보다 사방으로 거리 b만큼씩 더 넓은 영역으로 검색 범위를 넓히는 것이 유리할 수 있다. 이 사각형을 검색 사각형(search box)이라고 부르기로 한다. 검색 범위를 이 검색 사각형으로 넓히면 뷰 바깥에 있는 건축물을 미리 탐색하는 경우에 해당하므로 데이터의 로딩(loading) 시간을 줄일 수 있고, 줌이나 팬, 회전 작용에 대하여 디지털 지도가 더 부드럽게 반응할 수 있다.
따라서 본 발명의 제 4 실시예에서의 뷰 범위 건축물 목록은 건축물들의 지리적인 위치(geographic location)가 뷰 범위(view extent)에 포함되는 건축물들의 목록을 작성하는 것이지만, 검색 조건을 엄격하게 사용하는 것이 아니다. 실제로 건축물을 검색하는 과정에서 중요한 것은 놓치는 건축물이 없는 것이며, 뷰의 바깥에 있는 건축물도 검색하는 것은 별 지장이 없다. 뷰 범위에 있는 건축물을 검색하지 못하면 뷰에 표시하여야 할 건축물을 검색하지 못한 것이므로 심각한 오류에 해당한다. 반면에 불필요한 건축물을 검색하면 기껏해야 메모리를 조금 낭비하는 정도에 불과하다.
이와 같은 이유에서 뷰 범위 건축물 목록은 엄격한 조건으로 검색하는 것이 아니고, 불필요한 검색 결과가 있더라도 놓치는 건축물이 있어서는 안 되며, 또한 검색이 빠르게 실행되어야 한다. 따라서 건축물의 대표 지점의 위도와 경도 혹은 대등하게 북향거리와 동향거리를 사용하는 대신에 북향거리 대응 정수와 동향거리 대응 정수를 사용하고, 또 검색 범위를 평행사변형으로 주어지는 뷰의 경계 안에서가 아니라 뷰 사각형 또는 검색 사각형으로 확장하는 것이다.
도 26은 특정 건축물이 검색 사각형 안에 위치하는지 조사하는 알고리즘(algorithm)을 이해하기 위한 도면이다. 도 26에 보이는 건축물의 외곽선(outline)은 대전중앙로 지하상가의 외곽선이다. 이 외곽선의 대표 지점이 cnt로 표시되어 있다. 이때 가장 간단한 방법은 이 대표 지점(cnt)이 검색 사각형(search box)의 안에 있는지를 판단하는 것이다.
그런데 이 방법은 건축물의 형상이 복잡하거나 건축물이 뷰에 비하여 상당한 크기를 가질 경우에 문제가 발생할 수 있다. 더 정교한 방법은 다음과 같다. 먼저, 검색 사각형(search box)의 네 꼭짓점(sUL, sLL, sLR, sUR)을 구한다. 또한, 건축물의 최소 경계 상자(bounding box)의 네 꼭짓점(bUL, bLL, bLT, bUR)도 구한다. 다음으로, 검색 사각형의 네 꼭짓점 중 하나라도 최소 경계 상자의 안에 위치하는 꼭짓점이 있는지 조사한다. 또 최소 경계 상자의 네 꼭짓점 중 하나라도 검색 사각형 안에 위치하는 꼭짓점이 있는지 조사한다. 이 8개의 테스트 중 하나라도 통과하면 이 건축물이 뷰 범위(view extent)에 속하는 것으로 판단하고, 그렇지 않으면 바깥에 있는 것으로 판단한다. 여기서 검색 사각형의 네 꼭짓점(sUL, sLL, sLR, sUR)을 사용하는 대신에, 뷰의 네 코너(vUL, vLL, vLR, vUR)를 사용할 수도 있다.
이와 같이 구한 뷰 범위 건축물 목록의 숫자가 0보다 크면(buildings.length > 0), 뷰에 평면도를 표시하는 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 메뉴를 표시하는 단계를 포함하는 층 선택 서브루틴(floor selection subroutine)이 실행된다.
도 27은 뷰에 처음으로 평면도를 표시하는 평면도 표시 서브루틴을 예시하는 순서도이다. 뷰 범위 건축물 목록에 있는 건축물의 숫자가 0보다 크면 for 루프(for loop)와 같은 순환 루프가 시작되며, for 루프는 목록에 있는 첫 번째 건물부터 시작한다(i = 0). 이 첫 번째 건축물의 아이디는 buildings[0]이며, 마지막 건축물의 아이디는 buildings[buildings.length - 1]로 주어진다.
그런데 뷰 범위 건축물 목록(buildings)은 건축물의 중심 좌표, 또는 건축물의 전부나 일부가 뷰 안에 위치하고, 건축물 데이터베이스에도 등록된 건축물들의 목록이다. 그런데 어떤 건축물은 너무 작아서 이 줌 레벨에서 표시하는 것이 부적절할 수 있다. 따라서 이 목록에 있는 건축물들에 대하여 개별적으로 디지털 지도의 줌 레벨(zoom level)이 외곽선을 표시하는 줌 레벨(zoomShowBld)보다 큰 경우에만 건축물 외곽선을 표시하게 된다. 또한, 뷰 범위 건축물 목록에서 외곽선이 표시되어야 할 건축물들의 목록 - 외곽선 표시 대상 건축물 목록(bldIDsToShow)이라 지칭함 - 을 추출하여 관리한다.
이 건축물, 즉 i번째 건축물(ith building)이 외곽선 표시 대상 건축물 목록에 있는 건축물이면 이 건축물의 외곽선 도면(outline drawing)을 데이터 저장소(data store)에서 가져와 건축물 레이어(buildingLayer)에 추가한다. 이 외곽선 도면은 GeoJSON 형식으로 작성하거나 다른 벡터 포맷으로 작성할 수 있는데, GeoJSON 형식이 가장 호환성이 좋다.
건축물의 외곽선(outline)은 폐곡선(closed curve)이나 다각형(polygon)으로 주어져야 한다. 그런데 GeoJSON 형식에서는 곡선을 허용하지 않으므로 실제로는 다각형으로만 주어져야 한다. 외곽선이 다각형으로 주어지면 뷰의 중심(view center)이 다각형의 안에 있는지 바깥에 있는지 판단할 수 있다. GeoJSON 형식에서는 도형의 유형이 점(point), 선(line), 다각형(polygon) 및 그 복수형(plurals)으로 한정된다. 따라서 이 외곽선 도면은 다각형(Polygon) 또는 MultiPolygon으로 주어지는데, 다수의 점의 위치와 그 점들을 선으로 잇는 순서를 지정하고, 처음 점과 마지막 점을 이음으로써 다각형이 완성된다.
그 점들의 좌표는 웹 메르카토르 좌표계의 [동향거리, 북향거리], 또는 [경도, 위도]의 형식으로 주어진다. 자바스크립트에서 대괄호(square brackets) []는 배열을 의미한다. 따라서 이 외곽선 도면을 빌딩 레이어(buildingLayer)에 추가하면 자동적으로 올바른 위치에 추가된다.
다음으로, 건축물 외곽선 표시 대상 건축물 목록에 있는 건축물들에 대하여 디지털 지도의 줌 레벨이 건축물의 이름 등을 포함하는 라벨(label)을 표시하는 줌 레벨(zoomShowLabel)보다 큰 경우에는 건축물의 라벨을 건축물 라벨 레이어(bldLabelLayer)에 추가한다.
그 다음으로 다시 외곽선 표시 대상 건축물 목록에 있는 건축물들에 대하여 디지털 지도의 줌 레벨이 건축물들의 평면도 표시 줌 레벨(zoomShowFloor, zoom level for showing floor plan)보다 큰지 조사하고, 디지털 지도의 줌 레벨이 평면도 표시 줌 레벨보다 큰 건축물들에 대하여는 다시 지상층(ground floor)이 있는 건축물인지 확인한다. 이는 그 건물의 최저층(minFloor)이 0보다 작거나 같고, 최고층(maxFloor)이 0보다 크거나 같은지를 조사하여 알 수 있다.
다음으로, 이 두 가지 테스트를 모두 통과한 건축물들의 목록 - 이하, 평면도 표시 대상 건축물 목록 - 을 작성하고, 이 목록에 있는 건축물들에 대해서는 지상층의 평면도들을 데이터 저장소에서 가져와서 해당 건축물들의 외곽선들에 부합되게 중첩하여 표시한다. 이 평면도들에 있는 점들의 위치도 모두 웹 메르카토르 좌표계의 [동향거리, 북향거리], 또는 [경도, 위도]의 형식으로 주어지므로, 평면도 레이어(floorLayer)에 지상층의 평면도를 추가하면, 실외 지도, 건축물 외곽선 도면, 지상층의 평면도가 모두 올바른 위치에 표시된다.
도 28은 디지털 지도의 실행 화면을 보여준다. 줌이 15.9인 상태에서는 뷰 범위에 속하는 건축물들이 있는지 조사를 하기는 하지만, 각 건축물들의 외곽선을 표시하기 위한 개별 설정 값(zoomToShowBld)이 모두 이 값보다 크기 때문에 실제로 표시되는 건축물은 하나도 없다. 따라서 뷰 범위 건축물 목록에는 건축물들이 포함되어 있지만, 외곽선 표시 대상 건축물 목록에는 아무런 건축물도 포함되어 있지 않다.
도 29에서 줌이 19.3으로 증가하였으며, 이 경우엔 5개의 건축물(대전중앙로 지하상가, OK벤처타운, OK벤처타운 부속 1, OK벤처타운 부속 2, 청호홈스텔)이 보이고 있다. 따라서 외곽선 표시 대상 건축물 목록은 5개의 건축물이 포함되어 있다. 그런데 뷰의 중심(십자선)에는 아무런 건축물이 없기에 사이드 패널(side panel)의 건축물(building) 항목에는 없음(none)으로 표시되고 있다.
도 30은 층 선택 서브루틴(floor selection subroutine)을 보여준다. 이 서브루틴은 먼저 뷰의 중심(view center)이 건축물의 외곽선 내에 위치하는 건축물 - 이하 중앙의 건축물(building at the view center)이라 함 - 이 있는지 확인하는 단계를 포함한다. 이는 구체적으로 건축물 레이어(buildingLayer)에 있는 외곽선 도면 중 뷰의 중심의 좌표에 어느 하나가 있는지를 확인하는 단계이다. 중앙의 건축물이 없으면 이 단계는 종료되어 다음 단계로 넘어간다.
도 31은 대전중앙로 지하상가의 외곽선 도면을 GeoJSON 형식으로 저장한 것이다. 이 외곽선 도면은 MultiPolygon으로 규정되어 있으며, 좌표(coordinates)는 위경도 좌표계(CRS84)로 주어졌으며, 지구상의 임의의 위치에서 거리의 정밀도가 1mm 이하가 되도록 소수점 8번째 자리까지 사용되었다. 또, 이 외곽선 파일의 속성(properties)에는 이 건축물의 아이디(bldID)와 건축물의 이름(bldName)이 포함되어 있다.
이와 같은 중앙의 건축물이 발견되면 이 건축물의 아이디(bldID)를 추출하고, 건축물 데이터베이스에서 검색하여 지하층(underground floors)이 있거나 다층 건물(multistory building)이면 층을 선택할 수 있는 메뉴를 표시하는 단계를 포함한다. 또한, 사용자가 지상층이 아닌 다른 층을 선택하면 현재 표시된 중앙의 건축물의 평면도를 제거하고, 선택한 층의 평면도를 데이터 저장소에서 가져와서 중앙의 건축물의 외곽선에 부합되게 중첩한다.
도 31에서 건축물의 외곽선 도면은 GeoJSON 형식으로 작성되었으나, GeoJSON 형식으로는 아파트 분양 광고에서 보는 것과 같은 아름다운 도면을 작성하기 곤란하다. 이 경우에 건축물들의 평면도를 SVG(Scalable Vector Graphics) 형식으로 작성하여 별도의 캔바스 레이어(canvas layer)에 표시할 수 있다.
도 32 내지 도 36은 디지털 지도 시스템에서 층 선택 알고리즘이 실행되는 사례를 보여준다. 도 32에서 뷰의 중심(십자선의 중심)이 한 건축물의 외곽선 내에 위치하고, 왼쪽의 사이드 패널(side panel)에 그 건축물의 이름이 "OK벤처타운"으로 표시되고 있으며, 아래의 floor 메뉴에는 "G", "F1", "F2" 층이 드롭다운 메뉴(dropdown menu)로 표시되고 있다. 도 33에서 줌이 20.7로 커지자, 건축물들의 이름과 1층(G)의 평면도가 표시되고 있다. 도 34에서는 중앙의 건축물, 즉 OK벤처타운에 대하여 층(floor)을 "G" 층에서 "F1" 층으로 바꾸자, 1층의 평면도가 제거되고, 2층의 평면도가 표시되고 있다.
도 35에서는 뷰의 중심이 대전중앙로 지하상가의 외곽선 내에 위치하자 역시 건축물(building)이 "대전중앙로지하상가"로 표시되고 있으며, 층 선택 메뉴(floor)에는 "B1" 층이 선택 가능한 것을 알 수 있다. 그런데 대전중앙로 지하상가에는 지상층(1층)이 없으므로 아무리 줌을 크게 해도 평면도가 나타나지 않는다. 도 36에서 층을 "B1"으로 바꾸면 평면도를 표시할 수 있는 줌인지 확인한 이후에, 지하1층의 평면도가 지하상가의 외곽선에 부합되게 표시된다.
지금까지 설명한 내용은 디지털 지도를 시작하여 건축물의 평면도가 처음으로 보이기까지의 순서도라고 할 수 있다. 이후 줌, 팬, 회전 작용이 또 발생하여 새로운 평면도를 추가하거나, 기존의 평면도를 이동시키거나 또는 기존의 평면도 중 일부를 제거하는 것과 같은 지도 갱신(map update) 과정은 상기한 과정을 반복할 수도 있다. 즉, 이미 작성한 뷰 범위 건축물 목록과 외곽선 표시 대상 건축물 목록과 평면도 표시 대상 건축물 목록을 모두 0으로 초기화하고 뷰에 있는 모든 외곽선 도면과 평면도를 제거한 이후에, 뷰를 갱신하는 단계(update view)부터 다시 시작할 수도 있다.
그런데 사용자 상호작용이 일어날 때마다 건축물 외곽선 도면이나 평면도를 모두 제거하고 새로 그리는 작업은 대단히 비효율적이다. 따라서 지도 갱신(update map) 서브루틴은 지금까지의 과정과 비슷하지만, 평면도 표시 서브루틴이 주로 차이가 나며, 뷰 범위 건축물 목록 buildings와 외곽선 표시 대상 건축물 목록 bldIDsToShow와 평면도 표시 대상 건축물 목록 이외에 추가로 외곽선 표시 건축물 목록 bldIDsInView와 평면도 표시 건축물 목록을 따로따로 유지하고 갱신하는 알고리즘을 사용하면 더 효과적이다. 즉, 뷰가 변화되면 뷰 범위 건축물 목록과 외곽선 표시 대상 건축물 목록을 새로 작성한 이후에, 외곽선 표시 건축물 목록과 비교하여 기존의 건축물의 외곽선 도면을 삭제하거나 갱신하는 단계 및 새로운 건축물의 외곽선 도면을 추가하는 단계를 포함하며, 평면도와 관련해서도 마찬가지의 단계를 포함하게 된다.
이와 같은 기능을 수행하는 디지털 지도 시스템(digital map system)은 실외 지도 서버(outdoor map server)와, 건축물들의 외곽선 도면(building outline drawing)과 평면도를 건축물별로 각각 개별 폴더(individual folder)에 관리하는 데이터 저장소(data store)와, 건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)와, 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)를 통합적으로 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함한다.
상기 일련의 단계들은 디지털 지도를 초기 설정 값(initial map settings)으로 시작하여 뷰에 실외 지도를 보여주는 단계와, 사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰를 갱신하는 단계와, 디지털 지도의 줌(map zoom)이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위(view extent)에 포함되는 뷰 범위 건축물 목록을 작성하는 단계와, 뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계를 포함한다.
인터넷 링크(internet link)는 문자열(string)이나 도형(diagram), 아이콘(icon), 사진(photograph)이나 그림(picture)을 클릭하면 다른 인터넷 페이지로 연결해주는 역할을 한다. 구글이나 네이버 지도에서도 상점의 이름이나 아이콘을 클릭하면 팝업창(popup window)으로 그 상점의 미니 홈페이지가 나타나며, 그 미니 홈페이지에는 그 상점의 정식 홈페이지로 연결되는 또 다른 링크를 가지고 있는 경우가 많다.
그런데 대형 쇼핑몰에는 수백 개의 상점이 있는 경우도 있다. 따라서 인터넷 서핑(internet surfing)을 하는 사용자가 어느 대형 쇼핑몰의 상점들을 온라인으로 둘러보려고 하면 수백 번의 링크를 클릭해야만 한다. 이와 같은 귀찮은 일을 하지 않고서도 수백개의 상점들을 둘러보고 싶다면 다른 기술이 필요하다.
디지털 지도에서 팝업창을 띄우는 방식은 두 가지 전제를 기본으로 하고 있다. 첫 번째는 사용자가 관심이 있는 상점의 링크를 클릭(click)하여 선택의 의사 표시를 명확히 한다는 것이며, 두 번째는 사용자가 한 번에 하나의 팝업창을 본다는 것이다. 그런데 수백 개의 상점을 한 번에 둘러보고 싶다면 모든 상점들의 미니 홈페이지가 동시에 보여야 하며, 이 과정에서 사용자가 관심이 있는 상점을 선택할 필요성이 없어야 한다. 그리고 단 하나가 아니라 수많은 미니 홈페이지가 동시에 보인다면, 어느 미니 홈페이지가 어느 상점의 미니 홈페이지인지 구별이 되어야 한다.
이와 같은 기능을 구현하는 가장 바람직한 방법은 동시에 각 상점의 경계(shop boundary) 안에 각 상점의 미니 홈페이지가 보이는 것이다. 구글이나 네이버 지도를 실행해 보면 각 상점들이 그 안에 미니 홈페이지를 띄울 수 있을 만큼 크게 보이지 않는다. 그러나 이는 지도 사업자가 디지털 지도의 줌의 최댓값(maximum zoom)을 설정해 놓았기 때문이며, 보통의 지도에서 작은 사각형으로만 보이는 한 상점(shop), 또는 공간(space)이 컴퓨터 모니터를 가득 채울 만큼 크게 확대되도록 하는데 아무런 기술적인 제약이 없다.
이와 같은 기능은 가장 바람직하게 다음과 같이 구현될 수 있다. 사용자가 굳이 상호(business name)를 클릭하지 않더라도 디지털 지도의 뷰에 보이는 모든 상점들의 경계 안에 그 상점들의 미니 홈페이지가 나타나고, 디지털 지도를 패닝(panning)을 하면 미니 홈페이지들도 따라서 움직이며, 디지털 지도를 확대하면 미니 홈페이지도 같이 확대되되, 그 상점의 경계를 넘어서까지 확대되어서는 안 된다.
구글 지도나 다른 디지털 지도에서 나타나는 팝업 윈도우는 오버레이(overlay) 기술을 이용하고 있다. 오픈레이어(https://openlayers.org/en/latest/apidoc/module-ol_Overlay-Overlay.html)는 오버레이를 다음과 같이 정의하고 있다.
오버레이는 지도 위에 표시되는 요소이며, 지도의 한 지점에 고정된다. 컨트롤 모듈(module:ol/control/Control~Control)처럼 오버레이는 보이는 위젯(widget)이다. 그러나 컨트롤과는 다르게 오버레이는 스크린(screen) 상에서 위치가 고정되어 있지 않고, 지리적인 좌표에 구속된다. 따라서 지도를 패닝(panning)을 하면 오버레이는 따라서 움직이지만, 컨트롤은 그렇지 않다(An element to be displayed over the map and attached to a single map location. Like module:ol/control/Control~Control, Overlays are visible widgets. Unlike Controls, they are not in a fixed position on the screen, but are tied to a geographical coordinate, so panning the map will move an Overlay but not a Control).
따라서 이와 같은 오버레이를 이용하면 지도를 따라서 미니 홈페이지가 움직이는 부분은 해결할 수 있다. 구글이나 네이버 지도에서도 OpenLayers와 동일하게 구현된 기술을 이용하여 팝업창이 나타나도록 하고 있으나, 지도의 구성이 자주 변경되므로 어느 특정 시점에 반드시 동일한 오버레이 기술을 사용하고 있다고 단정하기는 어렵다.
그런데 구글이나 네이버 지도를 실행해보면 알 수 있듯이 지도를 확대해 보더라도 팝업 윈도우가 같이 확대되지는 않으며, 이는 OpenLayers에서도 마찬가지이다. 이는 오버레이가 기본적으로 작은 표지판이나 안내판과 같은 역할을 하도록 설계되었기 때문이다.
등산로에 "정상까지 200m"라고 쓰여 있는 표지판을 오버레이 기술을 이용하여 디지털 지도로 그대로 옮겨 놓았다고 하자. 오버레이가 보일 만큼 줌이 충분히 크다면, 정확한 지도의 줌 레벨과 상관없이 오버레이는 동일한 크기로 보여주는 것이 바람직하다. 줌이 변함에 따라서 표지판 글씨의 폰트 크기가 변한다면 오히려 읽기에 불편할 것이다. 따라서 패닝 문제를 해결하기 위하여 오버레이 기술을 이용한다면 HTML 페이지의 크기를 조절할 수 있는 알고리즘이 필요하다.
도 37은 본 발명의 제 5 실시예에서 어느 한 공간(space)의 경계 안에 반응형 HTML 페이지를 표시하는 방법을 이해하기 위한 도면이고, 도 38은 HTML 페이지 오버레이를 생성하기 위한 자바스크립트 코드의 실시예이다. 도 37에 예시한 바와 같이 공간(space)은 반드시 직사각형의 형상을 하고 있지 않고, 일반적인 다각형 혹은 더 일반적으로 폐곡선의 형상을 하고 있다. 어느 장소가 공간(space)으로서 특정되기 위한 유일한 조건은 지구상에 고정된 위치 속성(location attributes)을 가지고 있고, 유한한 면적(finite area)과 경계(boundary)를 가지고 있다는 것이다. 위치 속성은 공간 내 대표 지점의 위도와 경도의 쌍, 또는 북향거리와 동향거리의 쌍 및 선택적으로 층수로 주어진다.
도 37에서 x와 y는 지도 단위(map units)를 나타내는데, 여기서는 웹 메르카토르 좌표계에서의 동향거리와 북향거리를 의미한다. 그리고 대표 지점은 대개 그 공간을 나타내는 도형의 도심(centroid)으로 주어지는데, 도 37과 도 38에서 cnt로 표기되어 있다(도 38: line 5).
다음으로, 공간의 형상과 크기를 고려하여, 그 공간 내에 위치하면서 중심이 공간의 도심과 일치하고, 그 공간의 경계를 벗어나지 않는 직사각형(rectangle) 형상의 영역을 지정한다. 이 직사각형의 지도 단위에서의 너비(width)는 widthM이고, 높이(height)는 heightM이다. 도 38에서는 폭과 높이가 각각 7m와 11m로 되어 있다(line 7, line 9). 이는 지도 단위에서의 거리이므로 실제 거리와는 다소 차이가 있을 것이다. 전술한 바와 같이 웹 메르카토르 도법은 위도에 따라서 지도상의 거리와 실제 지표면에서의 거리의 비율이 달라진다. 어쨌든 공간(space)과 같은 지도 단위로 직사각형의 크기를 설정하면 그와 같은 비정상(anomaly)을 느끼지 못한다.
다음으로, 디지털 지도의 뷰(view)로부터 해상도(resolution)를 계산한다. 여기서 해상도란 화면에서 픽셀 당 지도 단위(map units per pixel)의 비율을 나타낸다. 오픈레이어에서 해상도(resolution)는 map.getView().getResolution() 명령어로 구할 수 있다(line 11). 이와 같이 해상도를 구했으면 직사각형의 컴퓨터 화면에서의 크기, 즉 픽셀(pixel) 단위의 너비 width와 높이 height는 수학식 22 내지 23과 같이 구할 수 있다(line 13, line 15).
Figure pat00030
Figure pat00031
다음으로 컨테이너(container)란 이름으로 도큐먼트(document)에 아이프레임 요소(iframe element)를 생성한다(line 17). document란 DOM(document object model)에서의 최상위 객체(object)를 의미한다. 우리가 컴퓨터 화면에서 보는 모든 요소(element)들이 document에 계층적으로 부착되어 있다(attached). MDN Web Docs(https://developer.mozilla.org/ko/docs/Web/API/Document)는 도큐먼트를 다음과 같이 설명하고 있다.
Document 인터페이스는 브라우저가 불러온 웹 페이지를 나타내며, 페이지 콘텐츠(DOM 트리)의 진입점 역할을 수행합니다. DOM 트리는 <body>와 <table> 및 여러 다른 요소를 포함합니다. Document는 페이지의 URL을 얻거나 문서에 새로운 요소를 생성하는 등의 기능을 전역적으로 제공합니다.
또, 아이프레임은 HTML5 문법에서 HTML 페이지 안에 HTML 페이지를 삽입하기 위한 요소이다. 이 아이프레임 요소의 너비와 높이를 각각 수학식 22와 23으로 주어지는 width와 height로 지정한다(lines 18-19).
그 다음으로 미리 준비해 둔 반응형 HTML 페이지(responsive HTML page)를 아이프레임 요소의 소스(src, source)로 지정한다(line 20). 이 HTML 페이지는 "popup"이라는 폴더(folder)에 index.html이라는 이름을 가진 파일인 것으로 가정하였으며, 반응형으로 동작하게 하기 위하여 이 HTML 페이지의 CSS 속성에서 너비와 높이를 100%로 지정한다. 이와 같이 지정하면 HTML 페이지의 크기가 자동으로 컨테이너의 크기와 같아진다. 이렇게 아이프레임 요소의 준비가 끝났으면 이 아이프레임 요소를 도큐먼트(document)에 자식 노드(child node)로 연결한다(line 22).
다음으로 오버레이(overlay)를 생성한다(line 24). 여러 개의 오버레이를 사용할 경우를 고려하여 오버레이에 아이디(ID)를 부여한다(line 25). 그리고 오버레이의 요소(overlay element)로 아이프레임 요소를 지정한다(line 26). 오버레이의 위치를 직사각형의 중심으로 지정하고(line 27), 정렬(positioning) 속성은 중심-중심(center-center)으로 한다(line 28). 이렇게 정렬 속성을 지정하면 오버레이의 중심 위치와 아이프레임 요소의 중심 위치가 일치한다. 마지막으로 디지털 지도에 오버레이를 추가한다(line 31).
도 39는 이와 같이 생성한 반응형 HTML 페이지가 표시된 디지털 지도의 실시예를 보여준다. 그리고 사용자의 줌, 팬, 회전 상호작용이 있을 때는 해상도(resolution)를 새로 계산하여 아이프레임 요소의 너비(width)와 높이(height)를 새로 계산하여 갱신하면 된다. 물리적인 공간(space)의 크기는 사용자의 상호 작용과 무관하다. 따라서 widthM과 heightM은 변경되지 않지만, 뷰가 변함에 따라서 해상도(resolution)는 변경된다. 그러므로 사용자 상호 작용이 있을 때마다 해상도(resolution), 아이프레임 요소의 너비(width)와 높이(height)만 새로 갱신하면 디지털 지도와 반응형 HTML 페이지가 같이 연동한다. 도 40은 디지털 지도의 줌이 확대됨에 따라 반응형 HTML 페이지도 확대되었지만, 도 39에서와 마찬가지로 상점의 경계 안에 위치하는 것을 볼 수 있다.
본 발명의 제 5 실시 예의 본질은 디지털 지도(digital map)의 뷰(view)에 반응형 HTML 페이지(responsive HTML page)를 표시하는 방법이다. 이 방법은 뷰에 직사각형 영역을 지정하는 단계, 뷰의 해상도(resolution)를 구하는 단계, 지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구하는 단계, 도큐먼트(document)에 아이프레임 요소(iframe element)를 생성하는 단계, 아이프레임 요소의 너비와 높이를 각각 이전 단계에서 구한 픽셀 단위의 너비와 높이로 지정하는 단계, 아이프레임의 소스(src, source)를 미리 준비한 반응형 HTML 페이지로 지정하는 단계, 아이프레임 요소를 도큐먼트의 자식 노드(child node)로 연결하는 단계, 오버레이(overlay)를 생성하는 단계, 오버레이의 요소(overlay element)로 아이프레임 요소를 지정하는 단계, 오버레이의 위치를 직사각형의 중심 위치로 지정하는 단계, 오버레이의 정렬 속성을 중심-중심(center-center)으로 지정하는 단계 및 오버레이를 디지털 지도에 추가하는 단계를 포함한다.
또, 사용자와의 상호 작용으로 줌(zoom), 팬(pan), 또는 회전(rotate) 이벤트(event)가 발생하면, 뷰의 해상도를 새로 구하는 단계, 지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 새로 구하는 단계, 아이프레임 요소의 너비와 높이를 이전 단계에서 구한 픽셀 단위의 너비와 높이로 갱신하는 단계를 포함한다.
도 41은 지도를 회전시킨 상태를 보여준다. 디지털 지도의 레이어에 추가된 다른 래스터 타일(raster tile)이나 벡터 도형(vector geometry)과 다르게, 지도를 회전시키더라도 오버레이는 같이 회전하지 않고 방향을 유지한다. 오버레이가 표지판 용도로 사용하기 위한 것이라는 것을 생각하면 물론 바람직한 특성이고, 이는 표지판이 아니라 상점의 홈페이지와 같은 HTML 페이지를 표시하고자 할 경우에도 마찬가지이다.
그런데 도 41에서 다른 문제점이 발견된다. 도 40에서는 HTML 페이지가 공간의 경계 안에 있었는데, 도 41에서 지도가 회전하자 공간은 같이 회전하였는데 오버레이는 같이 회전하지 않아서 HTML 페이지가 공간의 경계를 벗어났다. 이 경우에는 그 정도가 크지 않고, 주위에 다른 HTML 페이지가 없어서 별문제가 되지 않겠지만, 쇼핑몰과 같이 상점들이 밀집되어 있는 곳에서 모든 상점들의 미니 홈페이지를 표시한다면, 지도를 회전함에 따라서 문제가 발생할 수 있다.
도 42는 디지털 지도의 회전에 상관없이 반응형 HTML 페이지가 공간의 경계를 넘어서지 않도록 하는 방법을 예시하는 도면이다. 이 방법에서는 반응형 HTML 페이지를 표시하고자 하는 공간(space)의 경계 내에 포함되는 최대 지름의 원(circle)을 먼저 계산한다. 그 다음으로 상기 원의 원주(perimeter)에 네 꼭짓점이 위치하는 직사각형을 지정한다. 그 다음에는 이 직사각형의 지도 단위의 너비(widthM)와 높이(heightM)를 계산하고, 뷰의 해상도(resolution)를 구한 뒤, 지도 단위의 직사각형의 너비와 높이를 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구한다. 이렇게 구한 값으로 아이프레임 요소의 너비와 높이를 갱신하면, 뷰가 회전하더라도 HTML 페이지가 공간(space)의 경계를 넘지 않게 된다. 도 43은 이와 같은 방식을 사용하는 디지털 지도의 실행 화면을 보여준다.
이와 같은 기능을 가지는 디지털 지도 시스템(digital map system)은 디지털 지도(digital map)의 뷰(view)에 반응형 HTML 페이지(responsive HTML page)를 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 프로그램을 포함한다.
디지털 지도에서 공간의 경계 안에 반응형 HTML 페이지를 표시하는 것이 아니라, 인터넷 링크(internet link)를 표시하는 경우는 알고리즘이 더 간단하다. 도 44는 뷰에 인터넷 링크를 표시하기 위한 자바스크립트 코드의 예를 보여준다.
먼저, 각 공간들의 경계 안에 인터넷 링크를 표시하기 위하여 각 공간들의 대표 지점을 지정한다(line 5). 뷰에 인터넷 링크를 표시할 위치를 앵커(anchor) 위치라고 지칭한다. 다음으로 도큐먼트(document)에 앵커 요소(anchor element)를 생성하는 단계(line 7), 링크(link)에 사용할 문자열(string)을 지정하는 단계(line 9), 도큐먼트에 상기 문자열을 텍스트(text)로 갖는 텍스트 노드(text node)를 생성하는 단계(line 10), 앵커 요소에 텍스트 노드를 자식 노드(child node)로 연결하는 단계(line 11), 링크로 연결할 인터넷 주소(internet address)를 지정하는 단계(line 12), 지정된 인터넷 주소를 앵커 요소의 href로 지정하는 단계(line 13), 앵커 요소의 타깃(target) 속성을 새 창(new window, _blank)로 지정하는 단계, 도큐먼트에 앵커 요소를 자식 노드로 연결하는 단계(line 15), 오버레이(overlay)를 생성하는 단계(line 16), 오버레이의 요소(overlay element)로 앵커 요소를 지정하는 단계(line 18), 오버레이의 위치를 상기 앵커 위치로 지정하는 단계(line 19), 오버레이를 디지털 지도에 추가하는 단계(line 22)를 포함한다.
본 발명의 제 1 내지 제 6 실시예의 기술을 모두 사용하면 위치 속성을 가지는 공간들(spaces)과 관련된 웹사이트(website)들을 디지털 지도에 통합하여 기존의 포털 사이트(portal site)를 대체하는 새로운 형태의 온라인 플랫폼(online platform)을 제공할 수 있다. 이 디지털 지도 기반의 온라인 플랫폼(digital map based online platform)은 실외 지도 서버(outdoor map server)와, 건축물(building)의 평면도(floor plan)를 포함하는 건축물 관련 디지털 파일들(digital files)과, 공간(space)과 관련된 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)들에 관리하는 데이터 저장소(data store)와, 건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)와, 공간들의 지도 설정 데이터를 관리하는 공간 데이터베이스(space database)와, 디지털 지도의 뷰(view)에 실외 지도(outdoor map)와 건축물의 평면도를 포함하는 실내 지도(indoor map)와 인터넷 링크(internet link)와 반응형 HTML 페이지(responsive HTML page)를 통합적으로 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함한다.
도 45는 공간 데이터베이스를 마이크로소프트 엑셀로 모사한 것이다. 이 공간 데이터베이스의 필드(fields)는 공간의 아이디(spaceID), 공간의 이름(spaceName), 공간이 속한 건축물의 아이디(bldID), 건축물이 속한 건축물 내에서의 층수(floor), 공간의 대표 지점의 웹 메르카토르 도법에서의 동향거리(cx)와 북향거리(cy), 링크 오버레이(link overlay)를 보여주기 시작하는 줌 레벨(zoom level for showing link overlay, zoomShowLabel), HTML 페이지 오버레이(HTML page overlay)를 보여주기 시작하는 줌 레벨(zoom level for showing HTML page overlay, zoomShowOverlay), 개별 폴더의 이름(folder), 공간의 인터넷 주소(URL) 등을 포함한다.
도 46은 이와 같은 디지털 온라인 플랫폼의 실행 순서를 보여주는 순서도(flow chart)이다. 이와 같이 디지털 지도(digital map)의 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)와 인터넷 링크(internet link)와 반응형 HTML 페이지(responsive HTML page)를 통합적으로 표시하는 방법은 실외 지도 서버(outdoor map server)를 유지하는 단계, 건축물들의 외곽선 도면(building outline drawing)과 평면도를 포함하는 건축물 관련 디지털 파일들(digital files)과 공간(spaces)과 관련된 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)에 관리하는 데이터 저장소(data store)를 유지하는 단계, 건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)를 유지하는 단계, 공간들의 지도 설정 데이터를 관리하는 공간 데이터베이스(space database)를 유지하는 단계, 디지털 지도를 초기 설정 값으로 시작하여 뷰에 실외 지도를 보여주는 단계, 사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰에 보이는 실외 지도를 갱신하는 단계, 디지털 지도의 줌(map zoom)이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위에 포함되는 뷰 범위 건축물 목록을 작성하는 단계, 뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계, 뷰에 보이는 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 오버레이 서브루틴(overlay subroutine)을 실행하는 단계를 포함한다.
여기서 공간들(spaces)이란 상기 건축물들의 평면도 내에서 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 가지고, 지도 사용자들이 폐곡선(closed curve) 또는 다각형(polygon)의 형상을 가지는 경계(boundary)를 인식할 수 있으며, 유한한 면적(finite area)을 가지는, 하나 이상의 장소(places)를 지칭한다.
뷰에 보이는 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 단계는 뷰에 보이는 공간들의 목록 - 이하 뷰 범위 공간 목록이라 지칭함 - 을 작성하는 단계, 뷰 범위 공간 목록에 있는 공간들의 링크 오버레이 표시 목록(zoom level for showing link overlay, zoomShowLabel)과 HTML 페이지 오버레이 표시 줌 레벨(zoom level for showing HTML page overlay, zoomShowOverlay)을 디지털 지도의 줌 레벨과 비교하여, 디지털 지도의 줌 레벨이 링크 오버레이 표시 목록보다 크고 HTML 페이지 오버레이 표시 줌 레벨보다 작은 공간들만 포함하는 링크 표시 공간 목록과, 디지털 지도의 줌 레벨이 HTML 페이지 오버레이 표시 줌 레벨보다 큰 공간들만 포함하는 HTML 페이지 표시 공간 목록을 작성하는 단계, 링크 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 인터넷 링크를 표시하는 단계와, HTML 페이지 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 반응형 HTML 페이지를 표시하는 단계를 포함한다.
각 공간들의 경계 안에 인터넷 링크를 표시하는 단계와 반응형 HTML 페이지를 표시하는 단계는 실시예 5 내지 6과 동일하다. 본 발명의 제 7 실시예에서의 인터넷 링크는 HTML 페이지, 이메일 주소, 전화번호, SNS 계정, 게시판, 블로그(blog), 사진이나 사진 갤러리(photograph gallery), 동영상이나 동영상 갤러리, 음원(sound source), 인터넷 쇼핑몰(internet shopping mall), IP 카메라 뷰어(IP camera viewer), NAS, 게임 접속 화면, 화상 채팅방 중 어느 하나에 대한 인터넷 링크를 포함한다.
도 47 내지 도 53은 온라인 플랫폼의 실시예를 보여준다. 도 47에서 대전중앙로 지하상가에 가상의 상점들을 배치하였다. 도 47에서 출원인의 블로그에 대한 인터넷 링크((주)에스360브이알), 대우약국에 대한 인터넷 링크(대우약국), Times Square live Camera에 대한 인터넷 링크(Times Square Cam), 게임 사이트에 대한 인터넷 링크(Game Room), 한식당 예지원에 대한 인터넷 링크(예지원) 등이 보여지고 있다.
도 48에서 "예지원"이라는 인터넷 링크를 클릭하면, 새 창으로 이 음식점의 홈페이지가 나타난다. 도 49에서는 Times Square live Camera의 화면이 보이고 있고, 도 50에서는 가상의 게임 화면이 보이고 있다. 이와 같이 본 발명의 제 7 실시예에 의한 온라인 플랫폼에는 홈페이지뿐만 아니라 임의의 형식의 웹사이트를 체계적으로 연결할 수 있다. 도 51에서 줌 레벨이 커지자 인터넷 링크 대신에 반응형 홈페이지가 나타나고, 도 52에서 줌 레벨이 커지자 반응형 홈페이지도 커졌으며, 도 53에서 화면이 회전되더라도 반응형 홈페이지는 수직 방향을 유지하고 있다.
디지털 지도 기반의 온라인 플랫폼을 이용하여 위치 속성을 부여할 수 있는 모든 인터넷 사이트들을 통합할 수 있으며, 별도의 인터넷 도메인이 필요하지 않다.
N: 북향거리
E: 동향거리
Figure pat00032
: 북향거리 대응 정수
Figure pat00033
: 동향거리 대응 정수
F: 지상상층(floors above ground floor)
G: 지상층
B: 지하층

Claims (59)

  1. 지구상의 위치를 한 문자열(string)로 특정하는 방법에 있어서,
    세계측지계(WGS: World Geodetic System)에서 상기 위치가 측지위도(geodetic latitude) φ와 경도(longitude) λ와 해발고도(height above sea level) H로 주어지고,
    상기 위치가 실내일 경우에는 추가로 층수(floor number)가 정수(integer)로 주어질 때,
    상기 위치를 특정하는 문자열 P는 다음과 같은 형식으로 주어지되,
    Figure pat00034

    여기서 N, E, H, F, G, B는 각각 북향거리(northing), 동향거리(easting), 해발고도, 지상상층(floors above ground floor), 지상층(ground floor) 및 지하층(underground floor)을 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 버티컬바 양쪽의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E와 해발고도 H는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 N과 동향거리 E의 쌍은 측지위도 φ 및 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 지구상의 위치를 한 문자열로 특정하는 방법.
  2. 제1항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00035

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00036

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00037

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 지구상의 위치를 한 문자열로 특정하는 방법.
    Figure pat00038

  3. 제2항에 있어서,
    지구의 평균 반경 R은 6,378,137m이고,
    기준점의 측지위도 φo는 0이며,
    기준점의 경도 λo도 0이고,
    북향거리의 기본 값 No는 20,000,000m이며,
    동향거리의 기본 값 Eo는 40,000,000m인 것을 특징으로 하는 지구상의 위치를 한 문자열로 특정하는 방법.
  4. 측지위도와 경도 및 선택적으로 층수(floor number)를 포함하는 위치 속성(location attributes)을 부여할 수 있는 디지털 파일들(digital files)을 통합적으로 관리하는 방법에 있어서,
    각기 다른 위치 속성을 갖는 디지털 파일들은 각기 다른 개별 폴더(individual folder)에 저장되며,
    상기 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00039

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00040

    여기서 N, E, F, G, B,
    Figure pat00041
    ,
    Figure pat00042
    는 각각 북향거리(northing), 동향거리(easting), 지상상층(floors above ground floor), 지상층(ground floor), 지하층(underground floor), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00043
    과 동향거리 대응 정수
    Figure pat00044
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 관리하는 방법.
  5. 제4항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00045

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00046

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00047

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 관리하는 방법.
    Figure pat00048

  6. 측지위도와 경도 및 선택적으로 층수(floor number)를 포함하는 위치 속성(location attributes)을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소(data store)에 있어서,
    각기 다른 위치 속성을 갖는 디지털 파일들은 각기 다른 개별 폴더(individual folder)에 저장되며,
    상기 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00049

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00050

    여기서 N, E, F, G, B,
    Figure pat00051
    ,
    Figure pat00052
    는 각각 북향거리(northing), 동향거리(easting), 지상상층(floors above ground floor), 지상층(ground floor), 지하층(underground floor), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00053
    과 동향거리 대응 정수
    Figure pat00054
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  7. 제6항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00055

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00056

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00057

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
    Figure pat00058

  8. 제7항에 있어서,
    지구의 평균 반경 R은 6,378,137m이고,
    기준점의 측지위도 φo는 0이며,
    기준점의 경도 λo도 0이고,
    북향거리의 기본 값 No는 20,000,000m이며,
    동향거리의 기본 값 Eo는 40,000,000m인 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  9. 제6항에 있어서,
    상기 디지털 파일들은 주소를 가지는 건축물의 외곽선 도면(building outline drawing)과 층별 평면도(floor plan)를 포함하고,
    상기 위치 속성은 상기 건축물의 대표 지점의 측지위도와 경도인 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  10. 제6항에 있어서,
    상기 디지털 파일들은 주소를 가지는 사업체(company, business, enterprise)들의 홈페이지와 관련된 HTML 소스 코드(HTML source codes)이고,
    상기 위치 속성은 상기 사업체의 사업장(place of business) 내 대표적인 지점의 위치 속성인 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  11. 제6항에 있어서,
    상기 디지털 파일들은 공간들(spaces)과 관련된 디지털 파일들이되,
    여기서 공간들이란 측지위도와 경도 및 선택적으로 건축물 내 층수를 포함하는 위치 속성을 가지고, 사람들이 폐곡선(closed curve) 또는 다각형(polygon)의 형상을 가지는 경계(boundary)를 인식할 수 있으며, 유한한 면적(finite area)을 가지는, 지구 상의 하나 이상의 장소(places)를 지칭하며,
    상기 디지털 파일들은 개별 공간과 연관지을 수 있는 홈페이지 소스 코드와 데이터, 게시판, 블로그, 사진 갤러리, 게임 사이트, 음원(sound source), 채팅방(chatting room), 파일 공유 사이트 중의 어느 하나를 포함하는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  12. 건축물과 관련된 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소(data store)에 있어서,
    상기 디지털 파일들은 각각의 건축물별로 각각의 개별 폴더(individual folder)에 저장되되,
    상기 각각의 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00059

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00060

    여기서 N, E,
    Figure pat00061
    ,
    Figure pat00062
    는 각각 북향거리(northing), 동향거리(easting), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00063
    과 동향거리 대응 정수
    Figure pat00064
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 건축물의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 건축물과 관련된 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
  13. 제12항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00065

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00066

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00067

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 건축물과 관련된 디지털 파일들을 통합적으로 매체에 저장하는 데이터 저장소.
    Figure pat00068

  14. 측지위도와 경도 및 선택적으로 층수(floor number)를 포함하는 위치 속성을 부여할 수 있는 디지털 기기(digital device)들을 통합적으로 관리하는 방법에 있어서,
    상기 디지털 기기들의 이름은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00069

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00070

    여기서 N, E, F, G, B,
    Figure pat00071
    ,
    Figure pat00072
    는 각각 북향거리(northing), 동향거리(easting), 지상상층(floors above ground floor), 지상층(ground floor), 지하층(underground floor), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00073
    과 동향거리 대응 정수
    Figure pat00074
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 디지털 기기가 설치된 장소의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 기기들을 통합적으로 관리하는 방법.
  15. 제14항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00075

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00076

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00077

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 기기들을 통합적으로 관리하는 방법.
    Figure pat00078

  16. 제14항에 있어서,
    상기 디지털 기기들의 접속 종단점(connection endpoint)의 인터넷 주소(internet address)는 공통 경로(common path)와 개별 디지털 기기들의 이름을 포함하는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 기기들을 통합적으로 관리하는 방법.
  17. 제14항에 있어서,
    상기 디지털 기기들은 IP 카메라, 라이브 카메라(live camera), NAS(Network Attached Storage, 네트워크 결합 스토리지), IOT 센서 중 어느 하나를 포함하는 것을 특징으로 하는 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 부여할 수 있는 디지털 기기들을 통합적으로 관리하는 방법.
  18. 디지털 지도(digital map)의 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)를 통합적으로 표시하는 방법에 있어서,
    실외 지도 서버(outdoor map server)를 유지하는 단계,
    건축물들의 외곽선 도면(building outline drawing)과 평면도를 건축물별로 각각 개별 폴더(individual folder)에 관리하는 데이터 저장소(data store)를 유지하는 단계,
    건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)를 유지하는 단계,
    디지털 지도를 초기 설정 값(initial map settings)으로 시작하여 뷰에 실외 지도를 보여주는 단계,
    사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰를 갱신하는 단계,
    디지털 지도의 줌(map zoom)이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위(view extent)에 포함되는 건축물들의 목록 - 이하, 뷰 범위 건축물 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  19. 제18항에 있어서,
    평면도 표시 서브루틴(floor plan display subroutine)은;
    뷰 범위 건축물 목록에 있는 건축물들의 외곽선 표시 줌 레벨(zoom level for showing building outline)을 디지털 지도의 줌 레벨과 비교하여 외곽선 표시 대상 건축물 목록을 작성하는 단계,
    외곽선 표시 대상 건축물 목록에 있는 건축물들의 외곽선 도면을 데이터 저장소에서 가져와서 실외 지도 상의 올바른 위치에 표시하는 단계,
    디지털 지도의 줌 레벨이 외곽선 표시 대상 건축물 목록에 있는 건축물의 평면도 표시 줌 레벨(zoom level for showing floor plan)보다 큰지 확인하고, 큰 경우에는 해당 건축물이 지상층(ground floor)이 있는 건축물인지 확인하여 평면도 표시 대상 건축물 목록을 작성하는 단계,
    평면도 표시 대상 건축물 목록에 있는 건축물들의 지상층의 평면도들을 데이터 저장소에서 가져와서 해당 건축물들의 외곽선들에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  20. 제18항에 있어서,
    층 선택 서브루틴(floor selection subroutine)은;
    뷰의 중심이 건축물의 외곽선 내에 위치하는 건축물 - 이하 중앙의 건축물이라 함 - 이 있는지 확인하는 단계,
    중앙의 건축물이 지하층이 있거나 다층 건물이면 층을 선택할 수 있는 메뉴를 표시하는 단계,
    사용자가 지상층이 아닌 다른 층을 선택하면 현재 표시된 중앙의 건축물의 평면도를 제거하고, 선택한 층의 평면도를 데이터 저장소에서 가져와서 중앙의 건축물의 외곽선에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  21. 제18항에 있어서,
    상기 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00079

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00080

    여기서 N, E,
    Figure pat00081
    ,
    Figure pat00082
    는 각각 북향거리(northing), 동향거리(easting), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00083
    과 동향거리 대응 정수
    Figure pat00084
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 건축물의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  22. 제21항에 있어서,
    상기 북향 거리 N은 다음과 같이 주어지되,
    Figure pat00085

    여기서 No는 북향 거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향 거리 E는 다음과 같이 주어지되,
    Figure pat00086

    여기서 Eo는 동향 거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지 위도 φ는 다음과 같이 주어지며,
    Figure pat00087

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
    Figure pat00088

  23. 제22항에 있어서,
    상기 건축물 데이터베이스에 저장된 지도 설정 데이터는 각 건축물의 고유 식별 번호(unique identification number)와 건축물의 이름과 북향거리 대응 정수
    Figure pat00089
    와 동향거리 대응 정수
    Figure pat00090
    와 최소 경계 상자(bounding box)의 좌표와 상기 건축물의 최하층(lowest floor)의 층수와 최고층(highest floor)의 층수와 외곽선 표시 줌 레벨(zoom level for showing building outline)과 평면도 표시 줌 레벨(zoom level for showing floor plan)과 건축물의 홈페이지 주소를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  24. 제18항에 있어서,
    건축물의 지리적인 위치(geographic location)가 뷰 범위(view extent)에 포함되는지를 판단하는 단계는,
    뷰의 네 코너(corner)의 좌표를 추출하는 단계,
    검사 대상 건축물에 대하여 최소 경계 상자(bounding box)를 설정하여 최소 경계 상자의 네 꼭지점의 좌표를 추출하는 단계,
    상기 최소 경계 상자의 네 꼭짓점 중 어느 한 꼭짓점이라도 뷰에 포함되는지 검사하는 단계,
    뷰의 네 코너 중 어느 하나라도 최소 경계 상자 안에 포함되는지 검사하는 단계,
    상기한 8가지 테스트 중 어느 하나라도 참이라고 판단되면 해당 건축물이 뷰 범위에 포함되는 것으로 판단하고, 그렇지 않으면 거짓이라고 판단하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  25. 제18항에 있어서,
    상기 건축물들의 외곽선 파일이나 평면도는 GeoJSON 형식으로 주어지는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  26. 제18항에 있어서,
    상기 건축물들의 평면도는 SVG(Scalable Vector Graphics) 형식으로 주어지는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하는 방법.
  27. 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)를 통합적으로 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템(digital map system)에 있어서,
    실외 지도 서버(outdoor map server)와,
    건축물들의 외곽선 도면(building outline drawing)과 평면도를 건축물별로 각각 개별 폴더(individual folder)에 관리하는 데이터 저장소(data store)와,
    건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)를 포함하고,
    상기 일련의 단계들은;
    디지털 지도를 초기 설정 값(initial map settings)으로 시작하여 뷰에 실외 지도를 보여주는 단계,
    사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰를 갱신하는 단계,
    디지털 지도의 줌(map zoom)이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위(view extent)에 포함되는 건축물들의 목록 - 이하, 뷰 범위 건축물 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계를 포함하는 것을 특징으로 하는 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템.
  28. 제27항에 있어서,
    평면도 표시 서브루틴(floor plan display subroutine)은;
    뷰 범위 건축물 목록에 있는 건축물들의 외곽선 표시 줌 레벨(zoom level for showing building outline)을 디지털 지도의 줌 레벨과 비교하여 외곽선 표시 대상 건축물 목록을 작성하는 단계,
    외곽선 표시 대상 건축물 목록에 있는 건축물들의 외곽선 도면을 데이터 저장소에서 가져와서 실외 지도 상의 올바른 위치에 표시하는 단계,
    디지털 지도의 줌 레벨이 외곽선 표시 대상 건축물 목록에 있는 건축물의 평면도 표시 줌 레벨(zoom level for showing floor plan)보다 큰지 확인하고, 큰 경우에는 해당 건축물이 지상층(ground floor)이 있는 건축물인지 확인하여 평면도 표시 대상 건축물 목록을 작성하는 단계,
    평면도 표시 대상 건축물 목록에 있는 건축물들의 지상층의 평면도들을 데이터 저장소에서 가져와서 해당 건축물들의 외곽선들에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템.
  29. 제27항에 있어서,
    층 선택 서브루틴(floor selection subroutine)은;
    뷰의 중심이 건축물의 외곽선 내에 위치하는 건축물 - 이하 중앙의 건축물이라 지칭함 - 이 있는지 확인하는 단계,
    중앙의 건축물이 지하층이 있거나 다층 건물이면 층을 선택할 수 있는 메뉴를 표시하는 단계,
    사용자가 지상층이 아닌 다른 층을 선택하면 현재 표시된 중앙의 건축물의 평면도를 제거하고, 선택한 층의 평면도를 데이터 저장소에서 가져와서 중앙의 건축물의 외곽선에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템.
  30. 제27항에 있어서,
    상기 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00091

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00092

    여기서 N, E,
    Figure pat00093
    ,
    Figure pat00094
    는 각각 북향거리(northing), 동향거리(easting), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00095
    과 동향거리 대응 정수
    Figure pat00096
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 건축물의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템.
  31. 제27항에 있어서,
    상기 북향 거리 N은 다음과 같이 주어지되,
    Figure pat00097

    여기서 No는 북향 거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향 거리 E는 다음과 같이 주어지되,
    Figure pat00098

    여기서 Eo는 동향 거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지 위도 φ는 다음과 같이 주어지며,
    Figure pat00099

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도를 통합적으로 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 디지털 지도 시스템.
    Figure pat00100

  32. 디지털 지도(digital map)의 뷰(view)에 반응형 HTML 페이지(responsive HTML page)를 표시하는 방법에 있어서,
    뷰에 직사각형 영역을 지정하는 단계,
    뷰의 해상도(resolution) - 여기서 뷰의 해상도란 픽셀 당 지도 단위(map units per pixel)의 비율을 지칭함 - 를 구하는 단계,
    지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구하는 단계,
    도큐먼트(document)에 아이프레임 요소(iframe element)를 생성하는 단계,
    아이프레임 요소의 너비와 높이를 각각 이전 단계에서 구한 픽셀 단위의 너비와 높이로 지정하는 단계,
    아이프레임 요소의 소스(src, source)를 미리 준비한 반응형 HTML 페이지로 지정하는 단계,
    아이프레임 요소를 도큐먼트의 자식 노드(child node)로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 아이프레임 요소를 지정하는 단계,
    오버레이의 위치를 직사각형의 중심 위치로 지정하는 단계,
    오버레이의 정렬 속성을 중심-중심(center-center)으로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하는 방법.
  33. 제32항에 있어서,
    사용자와의 상호 작용으로 줌(zoom), 팬(pan), 또는 회전(rotate) 이벤트(event)가 발생하면 뷰의 해상도를 새로 구하는 단계,
    지도 단위를 갖는 직사각형의 너비와 높이를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 새로 구하는 단계,
    아이프레임 요소의 너비와 높이를 이전 단계에서 구한 픽셀 단위의 너비와 높이로 갱신하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하는 방법.
  34. 제32항에 있어서,
    뷰에 직사각형 영역을 지정하는 단계는;
    반응형 HTML 페이지를 표시하고자 하는 공간(space)의 경계 내에 포함되는 최대 직경의 원(circle)을 계산하는 단계,
    상기 원의 원주(perimeter)에 네 꼭짓점이 위치하는 직사각형을 지정하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하는 방법.
  35. 디지털 지도(digital map)의 뷰(view)에 반응형 HTML 페이지(responsive HTML page)를 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 프로그램을 포함하는 디지털 지도 시스템(digital map system)에 있어서,
    상기 일련의 단계들은;
    디지털 지도의 뷰에 직사각형 영역을 지정하는 단계,
    뷰의 해상도(resolution) - 여기서 뷰의 해상도란 픽셀 당 지도 단위(map units per pixel)의 비율을 지칭함 - 를 구하는 단계,
    지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구하는 단계,
    도큐먼트(document)에 아이프레임 요소(iframe element)를 생성하는 단계,
    아이프레임 요소의 너비와 높이를 각각 이전 단계에서 구한 픽셀 단위의 너비와 높이로 지정하는 단계,
    아이프레임 요소의 소스(src, source)를 미리 준비한 반응형 HTML 페이지로 지정하는 단계,
    아이프레임 요소를 도큐먼트의 자식 노드(child node)로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 아이프레임 요소를 지정하는 단계,
    오버레이의 위치를 직사각형의 중심 위치로 지정하는 단계,
    오버레이의 정렬 속성을 중심-중심(center-center)으로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 프로그램을 포함하는 디지털 지도 시스템.
  36. 제35항에 있어서,
    사용자와의 상호 작용으로 줌(zoom), 팬(pan), 또는 회전(rotate) 이벤트(event)가 발생하면 뷰의 해상도를 새로 구하는 단계,
    지도 단위를 갖는 직사각형의 너비와 높이를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 새로 구하는 단계,
    아이프레임 요소의 너비와 높이를 이전 단계에서 구한 픽셀 단위의 너비와 높이로 갱신하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 프로그램을 포함하는 디지털 지도 시스템.
  37. 제35항에 있어서,
    뷰에 직사각형 영역을 지정하는 단계는;
    반응형 HTML 페이지를 표시하고자 하는 공간(space)의 경계 내에 포함되는 최대 직경의 원(circle)을 계산하는 단계,
    상기 원의 원주(perimeter)에 네 꼭짓점이 위치하는 직사각형을 지정하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 반응형 HTML 페이지를 표시하기 위하여 일련의 단계들을 실행하는, 매체에 저장된 프로그램을 포함하는 디지털 지도 시스템.
  38. 디지털 지도(digital map)의 뷰(view)에 실외 지도(outdoor map)와 건축물(building)의 평면도(floor plan)를 포함하는 실내 지도(indoor map)와 인터넷 링크(internet link)와 반응형 HTML 페이지(responsive HTML page)를 통합적으로 표시하는 방법에 있어서,
    실외 지도 서버(outdoor map server)를 유지하는 단계,
    건축물들의 외곽선 도면(building outline drawing)과 평면도를 포함하는 건축물 관련 디지털 파일들(digital files)과 공간(spaces)과 관련된 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)에 관리하는 데이터 저장소(data store)를 유지하는 단계,
    건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)를 유지하는 단계,
    공간들의 지도 설정 데이터를 관리하는 공간 데이터베이스(space database)를 유지하는 단계,
    디지털 지도를 초기 설정 값으로 시작하여 뷰에 실외 지도를 보여주는 단계,
    사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰에 보이는 실외 지도를 갱신하는 단계,
    디지털 지도의 줌(map zoom)이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위(view extent)에 포함되는 건축물들의 목록 - 이하, 뷰 범위 건축물 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계,
    뷰에 보이는 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 오버레이 서브루틴(overlay subroutine)을 실행하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  39. 제38항에 있어서,
    상기 공간들이란 상기 건축물들의 평면도 내에서 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 가지고, 지도 사용자들이 폐곡선(closed curve) 또는 다각형(polygon)의 형상을 가지는 경계(boundary)를 인식할 수 있으며, 유한한 면적(finite area)을 가지는, 하나 이상의 장소(places)를 지칭하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  40. 제38항에 있어서,
    상기 건축물들의 외곽선 도면(building outline drawing)과 평면도를 포함하는 건축물 관련 디지털 파일들(digital files)을 건축물별로 각각 관리하는 개별 폴더(individual folder)에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00101

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00102

    여기서 N, E,
    Figure pat00103
    ,
    Figure pat00104
    는 각각 북향거리(northing), 동향거리(easting), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00105
    과 동향거리 대응 정수
    Figure pat00106
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 건축물의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  41. 제38항에 있어서,
    상기 공간(spaces)과 관련된 디지털 파일들을 공간별로 각각 관리하는 개별 폴더(individual folder)에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00107

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00108

    여기서 N, E, F, G, B,
    Figure pat00109
    ,
    Figure pat00110
    는 각각 북향거리(northing), 동향거리(easting), 지상상층(floors above ground floor), 지상층(ground floor), 지하층(underground floor), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00111
    과 동향거리 대응 정수
    Figure pat00112
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 공간의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  42. 제40항 내지 제41항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00113

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00114

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00115

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
    Figure pat00116

  43. 제38항에 있어서,
    평면도 표시 서브루틴(floor plan display subroutine)은;
    뷰 범위 건축물 목록에 있는 건축물들의 외곽선 표시 줌 레벨(zoom level for showing building outline)을 디지털 지도의 줌 레벨과 비교하여 외곽선 표시 대상 건축물 목록을 작성하는 단계,
    외곽선 표시 대상 건축물 목록에 있는 건축물들의 외곽선 도면을 데이터 저장소에서 가져와서 실외 지도 상의 올바른 위치에 표시하는 단계,
    디지털 지도의 줌 레벨이 외곽선 표시 대상 건축물 목록에 있는 건축물의 평면도 표시 줌 레벨(zoom level for showing floor plan)보다 큰지 확인하고, 큰 경우에는 해당 건축물이 지상층(ground floor)이 있는 건축물인지 확인하여 평면도 표시 대상 건축물 목록을 작성하는 단계,
    평면도 표시 대상 건축물 목록에 있는 건축물들의 지상층의 평면도들을 데이터 저장소에서 가져와서 해당 건축물들의 외곽선들에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  44. 제38항에 있어서,
    층 선택 서브루틴(floor selection subroutine)은;
    뷰의 중심이 건축물의 외곽선 내에 위치하는 건축물 - 이하 중앙의 건축물이라 함 - 이 있는지 확인하는 단계,
    중앙의 건축물이 지하층이 있거나 다층 건물이면 층을 선택할 수 있는 메뉴를 표시하는 단계,
    사용자가 지상층이 아닌 다른 층을 선택하면 현재 표시된 중앙의 건축물의 평면도를 제거하고, 선택한 층의 평면도를 데이터 저장소에서 가져와서 중앙의 건축물의 외곽선에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  45. 제38항에 있어서,
    뷰에 표시된 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 단계는;
    뷰에 표시된 공간들의 목록 - 이하 뷰 범위 공간 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 공간 목록에 있는 공간들의 링크 오버레이 표시 목록(zoom level for showing link overlay)과 HTML 페이지 오버레이 표시 줌 레벨(zoom level for showing HTML page overlay)을 디지털 지도의 줌 레벨과 비교하여, 디지털 지도의 줌 레벨이 링크 오버레이 표시 목록보다 크고 HTML 페이지 오버레이 표시 줌 레벨보다 작은 공간들만 포함하는 링크 표시 공간 목록과, 디지털 지도의 줌 레벨이 HTML 페이지 오버레이 표시 줌 레벨보다 큰 공간들만 포함하는 HTML 페이지 표시 공간 목록을 작성하는 단계,
    링크 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 인터넷 링크를 표시하는 단계와,
    HTML 페이지 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 반응형 HTML 페이지를 표시하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  46. 제45항에 있어서,
    각 공간들의 경계 안에 인터넷 링크를 표시하는 단계는;
    뷰에 인터넷 링크를 표시할 위치 - 이하, 앵커(anchor) 위치라고 지칭함 - 로 각 공간들의 대표 지점을 지정하는 단계,
    도큐먼트(document)에 앵커 요소(anchor element)를 생성하는 단계,
    링크(link)에 사용할 문자열(string)을 지정하는 단계,
    도큐먼트에 상기 문자열을 텍스트(text)로 갖는 텍스트 노드(text node)를 생성하는 단계,
    앵커 요소에 텍스트 노드를 자식 노드(child node)로 연결하는 단계,
    링크로 연결할 인터넷 주소(internet address)를 지정하는 단계,
    지정된 인터넷 주소를 앵커 요소의 href로 지정하는 단계,
    앵커 요소의 타깃(target) 속성을 새 창(new window, _blank)으로 지정하는 단계,
    도큐먼트에 앵커 요소를 자식 노드로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 앵커 요소를 지정하는 단계,
    오버레이의 위치를 상기 앵커 위치로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  47. 제45항에 있어서,
    각 공간들의 경계 안에 반응형 HTML 페이지를 표시하는 단계는;
    각 공간들의 경계 안에 직사각형 영역을 지정하는 단계,
    뷰의 해상도(resolution) - 여기서 뷰의 해상도란 픽셀 당 지도 단위(map units per pixel)의 비율을 지칭함 - 를 구하는 단계,
    지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구하는 단계,
    도큐먼트(document)에 아이프레임 요소(iframe element)를 생성하는 단계,
    아이프레임 요소의 너비와 높이를 각각 이전 단계에서 구한 픽셀 단위의 너비와 높이로 지정하는 단계,
    아이프레임 요소의 소스(src, source)를 미리 준비한 반응형 HTML 페이지로 지정하는 단계,
    아이프레임 요소를 도큐먼트의 자식 노드(child node)로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 아이프레임 요소를 지정하는 단계,
    오버레이의 위치를 직사각형의 중심 위치로 지정하는 단계,
    오버레이의 정렬 속성을 중심-중심(center-center)으로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도의 뷰에 실외 지도와 건축물의 평면도를 포함하는 실내 지도와 인터넷 링크와 반응형 HTML 페이지를 통합적으로 표시하는 방법.
  48. 디지털 지도 기반의 온라인 플랫폼(digital map based online platform)에 있어서,
    실외 지도 서버(outdoor map server)와,
    건축물(building)의 평면도(floor plan)를 포함하는 건축물 관련 디지털 파일들(digital files)과, 공간(space)과 관련된 디지털 파일들을 건축물 및 공간별로 각각 개별 폴더(individual folder)들에 관리하는 데이터 저장소(data store)와,
    건축물들의 지도 설정 데이터(map setting data)를 관리하는 건축물 데이터베이스(building database)와,
    공간들의 지도 설정 데이터를 관리하는 공간 데이터베이스(space database)와,
    디지털 지도의 뷰(view)에 실외 지도(outdoor map)와 건축물의 평면도를 포함하는 실내 지도(indoor map)와 인터넷 링크(internet link)와 반응형 HTML 페이지(responsive HTML page)를 통합적으로 표시하기 위하여 일련의 단계들(series of stages)을 실행하는, 매체에 저장된 컴퓨터 프로그램을 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  49. 제48항에 있어서,
    상기 일련의 단계들은;
    디지털 지도를 초기 설정 값으로 시작하여 뷰에 실외 지도를 보여주는 단계,
    사용자의 줌(zoom), 팬(pan), 회전(rotate) 선택에 맞게 뷰에 보이는 실외 지도를 갱신하는 단계,
    디지털 지도의 줌이 사전에 설정한 값(preset threshold zoom value) 이상이면 건축물 데이터베이스를 검색하여 지리적 위치(geographic location)가 뷰 범위(view extent)에 포함되는 건축물들의 목록 - 이하, 뷰 범위 건축물 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 건축물 목록에 있는 건축물들의 숫자가 0보다 크면 평면도 표시 서브루틴(floor plan display subroutine)과 층 선택 서브루틴(floor selection subroutine)을 실행하는 단계,
    뷰에 보이는 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 오버레이 서브루틴(overlay subroutine)을 실행하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  50. 제48항에 있어서,
    상기 공간들(spaces)이란 상기 건축물들의 평면도 내에서 측지위도와 경도 및 선택적으로 층수를 포함하는 위치 속성을 가지고, 지도 사용자들이 폐곡선(closed curve) 또는 다각형(polygon)의 형상을 가지는 경계(boundary)를 인식할 수 있으며, 유한한 면적(finite area)을 가지는, 하나 이상의 장소(places)를 지칭하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  51. 제48항에 있어서,
    상기 건축물 관련 디지털 파일들은 건축물들의 외곽선 도면(building outline drawing)을 포함하며,
    상기 건축물 관련 디지털 파일들을 건축물별로 각각 관리하는 개별 폴더에 이르는 전체 경로(full path)는 공통 경로(common path)와 개별 폴더명(individual folder name)을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00117

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00118

    여기서 N, E,
    Figure pat00119
    ,
    Figure pat00120
    는 각각 북향거리(northing), 동향거리(easting), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00121
    과 동향거리 대응 정수
    Figure pat00122
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 건축물의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  52. 제48항에 있어서,
    상기 공간과 관련된 디지털 파일들을 공간별로 각각 관리하는 개별 폴더에 이르는 전체 경로는 공통 경로와 개별 폴더명을 포함하고,
    상기 개별 폴더명은 상기 위치 속성에 대응하는 하나의 문자열 P를 포함하는 문자열로 주어지며,
    상기 문자열 P는 다음과 같은 형식,
    Figure pat00123

    또는 다음과 같은 형식으로 주어지되,
    Figure pat00124

    여기서 N, E, F, G, B,
    Figure pat00125
    ,
    Figure pat00126
    는 각각 북향거리(northing), 동향거리(easting), 지상상층(floors above ground floor), 지상층(ground floor), 지하층(underground floor), 북향거리 대응 정수(northing corresponding integer) 및 동향거리 대응 정수(easting corresponding integer)를 나타내는 식별 문자이고,
    중괄호(curly brackets) {}는 중괄호를 그 안의 식별 문자에 대응하는 실제 값으로 대체하라는 기호이며,
    소괄호(round brackets) ()는 생략 가능한 항목임을 나타내는 기호이고,
    버티컬바(vertical bar) |는 둘 중의 하나를 선택할 수 있음을 나타내는 기호이며,
    북향거리 N과 동향거리 E는 거리(distance)의 단위를 가지고 양(+)의 값을 갖는 실수(real number)이고,
    북향거리 대응 정수
    Figure pat00127
    과 동향거리 대응 정수
    Figure pat00128
    는 각각 북향거리 N과 동향거리 E를 반올림하여 얻어지는 자연수(natural number)이며,
    북향거리 N과 동향거리 E의 쌍은 상기 공간의 대표 지점의 측지위도 φ와 경도 λ의 쌍과 상호 변환이 가능한 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  53. 제51항 내지 제52항에 있어서,
    상기 북향거리 N은 다음과 같이 주어지되,
    Figure pat00129

    여기서 No는 북향거리의 기본 값이고,
    R은 지구의 평균 반경이며,
    각도의 단위는 라디안(radian)이고,
    φo는 기준점의 측지 위도이며,
    상기 동향거리 E는 다음과 같이 주어지되,
    Figure pat00130

    여기서 Eo는 동향거리의 기본 값이며,
    λo는 기준점의 경도이고,
    측지위도 φ는 다음과 같이 주어지며,
    Figure pat00131

    경도 λ는 다음과 같이 주어지는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
    Figure pat00132

  54. 제51항에 있어서,
    평면도 표시 서브루틴(floor plan display subroutine)은;
    뷰 범위 건축물 목록에 있는 건축물들의 외곽선 표시 줌 레벨(zoom level for showing building outline)을 디지털 지도의 줌 레벨과 비교하여 외곽선 표시 대상 건축물 목록을 작성하는 단계,
    외곽선 표시 대상 건축물 목록에 있는 건축물들의 외곽선 도면을 데이터 저장소에서 가져와서 실외 지도 상의 올바른 위치에 표시하는 단계,
    디지털 지도의 줌 레벨이 외곽선 표시 대상 건축물 목록에 있는 건축물의 평면도 표시 줌 레벨(zoom level for showing floor plan)보다 큰지 확인하고, 큰 경우에는 해당 건축물이 지상층(ground floor)이 있는 건축물인지 확인하여 평면도 표시 대상 건축물 목록을 작성하는 단계,
    평면도 표시 대상 건축물 목록에 있는 건축물들의 지상층의 평면도들을 데이터 저장소에서 가져와서 해당 건축물들의 외곽선들에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  55. 제49항에 있어서,
    층 선택 서브루틴(floor selection subroutine)은;
    뷰의 중심이 건축물의 외곽선 내에 위치하는 건축물 - 이하 중앙의 건축물이라 함 - 이 있는지 확인하는 단계,
    중앙의 건축물이 지하층이 있거나 다층 건물이면 층을 선택할 수 있는 메뉴를 표시하는 단계,
    사용자가 지상층이 아닌 다른 층을 선택하면 현재 표시된 중앙의 건축물의 평면도를 제거하고, 선택한 층의 평면도를 데이터 저장소에서 가져와서 중앙의 건축물의 외곽선에 부합되게 중첩하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  56. 제49항에 있어서,
    뷰에 보이는 공간들에 대하여 인터넷 링크 혹은 반응형 HTML 페이지를 표시하는 단계는;
    뷰에 보이는 공간들의 목록 - 이하 뷰 범위 공간 목록이라 지칭함 - 을 작성하는 단계,
    뷰 범위 공간 목록에 있는 공간들의 링크 오버레이 표시 목록(zoom level for showing link overlay)과 HTML 페이지 오버레이 표시 줌 레벨(zoom level for showing HTML page overlay)을 디지털 지도의 줌 레벨과 비교하여, 디지털 지도의 줌 레벨이 링크 오버레이 표시 목록보다 크고 HTML 페이지 오버레이 표시 줌 레벨보다 작은 공간들만 포함하는 링크 표시 공간 목록과, 디지털 지도의 줌 레벨이 HTML 페이지 오버레이 표시 줌 레벨보다 큰 공간들만 포함하는 HTML 페이지 표시 공간 목록을 작성하는 단계,
    링크 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 인터넷 링크를 표시하는 단계와,
    HTML 페이지 표시 공간 목록에 있는 공간들에 대하여는 각 공간들의 경계 안에 반응형 HTML 페이지를 표시하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  57. 제56항에 있어서,
    각 공간들의 경계 안에 인터넷 링크를 표시하는 단계는;
    뷰에 인터넷 링크를 표시할 위치 - 이하, 앵커(anchor) 위치라고 지칭함 - 로 각 공간들의 대표 지점을 지정하는 단계,
    도큐먼트(document)에 앵커 요소(anchor element)를 생성하는 단계,
    링크(link)에 사용할 문자열(string)을 지정하는 단계,
    도큐먼트에 상기 문자열을 텍스트(text)로 갖는 텍스트 노드(text node)를 생성하는 단계,
    앵커 요소에 텍스트 노드를 자식 노드(child node)로 연결하는 단계,
    링크로 연결할 인터넷 주소(internet address)를 지정하는 단계,
    지정된 인터넷 주소를 앵커 요소의 href로 지정하는 단계,
    앵커 요소의 타깃(target) 속성을 새 창(new window, _blank)으로 지정하는 단계,
    도큐먼트에 앵커 요소를 자식 노드로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 앵커 요소를 지정하는 단계,
    오버레이의 위치를 상기 앵커 위치로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  58. 제56항에 있어서,
    각 공간들의 경계 안에 반응형 HTML 페이지를 표시하는 단계는;
    각 공간들의 경계 안에 직사각형 영역을 지정하는 단계,
    뷰의 해상도(resolution) - 여기서 뷰의 해상도란 픽셀 당 지도 단위(map units per pixel)의 비율을 지칭함 - 를 구하는 단계,
    지도 단위를 갖는 직사각형의 너비(width)와 높이(height)를 각각 뷰의 해상도로 나누어 픽셀 단위의 너비와 높이를 구하는 단계,
    도큐먼트(document)에 아이프레임 요소(iframe element)를 생성하는 단계,
    아이프레임 요소의 너비와 높이를 각각 이전 단계에서 구한 픽셀 단위의 너비와 높이로 지정하는 단계,
    아이프레임 요소의 소스(src, source)를 미리 준비한 반응형 HTML 페이지로 지정하는 단계,
    아이프레임 요소를 도큐먼트의 자식 노드(child node)로 연결하는 단계,
    오버레이(overlay)를 생성하는 단계,
    오버레이의 요소(overlay element)로 아이프레임 요소를 지정하는 단계,
    오버레이의 위치를 직사각형의 중심 위치로 지정하는 단계,
    오버레이의 정렬 속성을 중심-중심(center-center)으로 지정하는 단계,
    오버레이를 디지털 지도에 추가하는 단계를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
  59. 제48항에 있어서,
    상기 인터넷 링크는 HTML 페이지, 이메일 주소, 전화번호, SNS 계정, 게시판, 블로그(blog), 사진이나 사진 갤러리(photograph gallery), 동영상이나 동영상 갤러리, 음원(sound source), 인터넷 쇼핑몰(internet shopping mall), IP 카메라 뷰어(IP camera viewer), NAS, 게임 접속 화면, 화상 채팅방 중 어느 하나에 대한 인터넷 링크를 포함하는 것을 특징으로 하는 디지털 지도 기반의 온라인 플랫폼.
KR1020210022985A 2020-02-20 2021-02-20 디지털 지도 기반의 온라인 플랫폼 KR102344087B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2021/002186 WO2021167422A1 (ko) 2020-02-20 2021-02-22 디지털 지도 기반의 온라인 플랫폼
US17/891,161 US11886527B2 (en) 2020-02-20 2022-08-19 Digital map based online platform

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR1020200020778 2020-02-20
KR20200020778 2020-02-20
KR20200038796 2020-03-31
KR1020200038796 2020-03-31
KR1020200145593 2020-11-03
KR20200145593 2020-11-03

Publications (2)

Publication Number Publication Date
KR20210106390A true KR20210106390A (ko) 2021-08-30
KR102344087B1 KR102344087B1 (ko) 2021-12-29

Family

ID=77502226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210022985A KR102344087B1 (ko) 2020-02-20 2021-02-20 디지털 지도 기반의 온라인 플랫폼

Country Status (1)

Country Link
KR (1) KR102344087B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD953371S1 (en) 2021-10-22 2022-05-31 BioReference Health, LLC Display screen or portion thereof with animated graphical user interface
KR102559014B1 (ko) * 2022-07-27 2023-07-24 콩테크 주식회사 오브젝트 중심의 앱실행 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102447172B1 (ko) 2021-06-08 2022-09-26 주식회사 에스360브이알 디지털 지도의 초기 화면에 보이는 장소를 개인화하는 방법 및 이를 이용하는 디지털 지도 시스템
KR102512261B1 (ko) * 2021-11-04 2023-03-21 주식회사 에스360브이알 위치 정보 공유 시스템과 그 방법
KR102553567B1 (ko) * 2022-03-02 2023-07-10 주식회사 에스360브이알 실측 기반의 평면도를 사용하는 실내 지도와 그 작성 방법
KR102590975B1 (ko) * 2023-06-09 2023-10-19 주식회사 무한정보기술 3d 포인트 클라우드를 활용한 입체적 형태의 구조물 실감 입면정사영상 자동 생성 및 cad 기반 도면과의 자동 중첩 매칭 시스템과 그 방법

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072562A (ko) 2000-04-28 2000-12-05 김민경 인터넷을 통한 특정지역의 지리정보를 포함한 상업정보제공시스템.
KR20020022487A (ko) 2000-09-20 2002-03-27 김승호 인터넷 전자지도를 이용한 정보제공 방법
KR100500504B1 (ko) 2003-06-26 2005-07-14 주식회사 트윈클리틀스타 인터넷 지도 기반에서 서브도메인을 이용한 위치정보제공방법 및 시스템
KR200430083Y1 (ko) 2006-08-24 2006-11-03 김삼근 원스톱 길안내 정보시스템
KR100819167B1 (ko) 2006-04-13 2008-04-03 주식회사 트윈클리틀스타 전자 지도 기반의 홈페이지 제공 시스템, 홈페이지 제공방법, 상세 정보 표시 방법 및 이를 수행하는 프로그램을기록한 기록매체
KR20100061092A (ko) 2008-11-28 2010-06-07 (주)아모레퍼시픽 한지를 이용한 한방 발열 패치 및 그 제조방법
US20140013263A1 (en) * 2012-07-03 2014-01-09 Zhou Bailiang Floor Selection on an Interactive Digital Map
KR101358690B1 (ko) 2009-06-03 2014-02-10 에스케이플래닛 주식회사 조회 대상 단말기 위치 지역 영상 정보 제공 시스템 및 방법
US20150019625A1 (en) * 2013-07-09 2015-01-15 Google Inc. Providing indoor map data to a client computing device
KR101546676B1 (ko) 2012-11-23 2015-08-25 주식회사 넥스트이온 위치기반의 컨텐츠 제공방법 및 그 장치
KR101967394B1 (ko) * 2018-07-30 2019-04-10 주식회사 리텍 실내 위치 보정 방법 및 장치
KR102001785B1 (ko) 2018-10-11 2019-07-18 이하민 Gps 좌표를 aim 좌표로 변환하는 방법
KR102029450B1 (ko) 2017-10-13 2019-10-08 네이버랩스 주식회사 격자화된 지도를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템
KR102073183B1 (ko) * 2018-11-01 2020-02-04 조혜성 지도상에 플로팅된 쇼핑 정보를 이용한 직관적인 쇼핑 서비스 제공 방법

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000072562A (ko) 2000-04-28 2000-12-05 김민경 인터넷을 통한 특정지역의 지리정보를 포함한 상업정보제공시스템.
KR20020022487A (ko) 2000-09-20 2002-03-27 김승호 인터넷 전자지도를 이용한 정보제공 방법
KR100500504B1 (ko) 2003-06-26 2005-07-14 주식회사 트윈클리틀스타 인터넷 지도 기반에서 서브도메인을 이용한 위치정보제공방법 및 시스템
KR100819167B1 (ko) 2006-04-13 2008-04-03 주식회사 트윈클리틀스타 전자 지도 기반의 홈페이지 제공 시스템, 홈페이지 제공방법, 상세 정보 표시 방법 및 이를 수행하는 프로그램을기록한 기록매체
KR200430083Y1 (ko) 2006-08-24 2006-11-03 김삼근 원스톱 길안내 정보시스템
KR20100061092A (ko) 2008-11-28 2010-06-07 (주)아모레퍼시픽 한지를 이용한 한방 발열 패치 및 그 제조방법
KR101358690B1 (ko) 2009-06-03 2014-02-10 에스케이플래닛 주식회사 조회 대상 단말기 위치 지역 영상 정보 제공 시스템 및 방법
US20140013263A1 (en) * 2012-07-03 2014-01-09 Zhou Bailiang Floor Selection on an Interactive Digital Map
KR101546676B1 (ko) 2012-11-23 2015-08-25 주식회사 넥스트이온 위치기반의 컨텐츠 제공방법 및 그 장치
US20150019625A1 (en) * 2013-07-09 2015-01-15 Google Inc. Providing indoor map data to a client computing device
KR102029450B1 (ko) 2017-10-13 2019-10-08 네이버랩스 주식회사 격자화된 지도를 이용하는 사용자 위치 정보를 제공하는 방법 및 시스템
KR101967394B1 (ko) * 2018-07-30 2019-04-10 주식회사 리텍 실내 위치 보정 방법 및 장치
KR102001785B1 (ko) 2018-10-11 2019-07-18 이하민 Gps 좌표를 aim 좌표로 변환하는 방법
KR102073183B1 (ko) * 2018-11-01 2020-02-04 조혜성 지도상에 플로팅된 쇼핑 정보를 이용한 직관적인 쇼핑 서비스 제공 방법

Non-Patent Citations (13)

* Cited by examiner, † Cited by third party
Title
[비특1] OECD(2019), 'What is an "online platform"?', in An Introduction to Online Platforms and Their Role in the Digital Transformation, OECD Publishing, Paris.
[비특2] Wikipedia, "Google maps".
[비특3] Wikipedia, "Universal Transverse Mercator coordinate system".
[비특4] National Geospatial-intelligence Agency (NGA), "Web Mercator map projection", NGA_SIG_0011_1.0.0_WEBMERC (2014).
[비특5] Wikipedia, Web Mercator projection.
[비특6] Wikipedia, Sinusoidal projection.
[특11] 김동환, 권연희, 최정아, 김형찬, "실내지도 데이터베이스, 지도 서비스 제공장치 및 방법, 개방형 API를 이용한 실내지도 제공장치, 그리고 실내지도 제작장치 및 방법", 대한민국 등록특허 제10-1312294호, 등록일 2013년 9월 23일.
[특12] Guanfeng Li, Faen Zhang and Feng Wang, "Generating an indoor map model", 국제공개특허 WO 2013/104127호, 공개일 2013년 7월 18일.
[특14] 임대현, 이진권, "실내지도 작성 방법 및 그 장치", 대한민국 등록특허 제10-1985699호, 등록일 2019년 5월 29일.
[특17] 권경일, "지리상의 위치를 특정하는 방법과 이를 이용하는 데이터베이스 및 데이터베이스의 데이터베이스", 대한민국 특허출원 제10-2020-0113509호, 출원일 2020년 9월 6일.
[특3] Barry J. Glick, Ronald S. Karpf, Mark E. Seiler, "System and method for using location identity to control access to digital information", 미국 등록특허 US 6,985,588호, 등록일 2006년 1월 10일.
[특4] Ralph M. Toms, "System and method of simulating with respect to spheroid reference models using local surface coordinates", 미국 등록특허 US 7,428,476호, 등록일 2008년 9월 23일.
[특6] Michael P. Zeitfuss, Joseph M. Nemethy, Joseph A. Venezia, "System and method for highly accurate real time tracking and location in three dimensions",국제공개특허 WO 2004/034076, 공개일 2004년 4월 22일.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD953371S1 (en) 2021-10-22 2022-05-31 BioReference Health, LLC Display screen or portion thereof with animated graphical user interface
KR102559014B1 (ko) * 2022-07-27 2023-07-24 콩테크 주식회사 오브젝트 중심의 앱실행 인터페이스를 제공하는 방법, 이를 수행하는 서비스서버 및 컴퓨터-판독가능 매체

Also Published As

Publication number Publication date
KR102344087B1 (ko) 2021-12-29

Similar Documents

Publication Publication Date Title
KR102344087B1 (ko) 디지털 지도 기반의 온라인 플랫폼
Von Schwerin et al. The MayaArch3D project: A 3D WebGIS for analyzing ancient architecture and landscapes
JP5334911B2 (ja) 3次元地図画像生成プログラムおよび3次元地図画像生成システム
US10415987B2 (en) Identifying, processing and displaying data point clusters
KR20130139302A (ko) Gis에서 동적데이터로 3d 공간객체를 생성 및 연결하고 디스플레이하는 방법
Shojaei et al. Design and development of a web-based 3D cadastral visualisation prototype
Brovelli et al. The power of Virtual Globes for valorising cultural heritage and enabling sustainable tourism: NASA World Wind applications
Lopes et al. Exploring digital architectural heritage in Brunei Darussalam: Towards heritage safeguarding, smart tourism, and interactive education
Kadi et al. Mobile application development with augmented reality for promoting tourism objects in Southwest Sumba
US11886527B2 (en) Digital map based online platform
US20240104120A1 (en) Geographically Referencing an Item
KR102553567B1 (ko) 실측 기반의 평면도를 사용하는 실내 지도와 그 작성 방법
Rakshit et al. Application of virtual globes in education
KR102497681B1 (ko) 디지털 지도 기반의 가상현실 및 메타버스 온라인 플랫폼
Pawade et al. Augmented reality based campus guide application using feature points object detection
Antunes et al. Landmarks evaluation with use of qr-code for positioning indoor environment
Bartie et al. Mapping the visual magnitude of popular tourist sites in Edinburgh city
Arza-García et al. Virtual globes for UAV-based data integration: Sputnik GIS and Google Earth™ applications
Wang et al. Increasing awareness for urban cultural heritage based on 3D narrative system
Fischer-Stabel et al. Digital twins, augmented reality and explorer maps rising attractiveness of rural regions for outdoor tourism
Spreafico et al. 3D WebGIS for Ephemeral Architecture Documentation and Studies in the Humanities
Minarni et al. Augmented Reality Portal 360 Degrees Tourism “Bundaran Balanga” Sampit
Atzl et al. Design decisions for multidimensional digital and interactive basemaps of urban environments
Zhang et al. VR-Heritage: Chinese Cultural Heritage in the Digital Age
Hanchard The Socio-technical Development of Digital Maps

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right