KR20140080843A - 사용자 작성 도면 저장시스템 및 그 구축방법 - Google Patents

사용자 작성 도면 저장시스템 및 그 구축방법 Download PDF

Info

Publication number
KR20140080843A
KR20140080843A KR1020120149190A KR20120149190A KR20140080843A KR 20140080843 A KR20140080843 A KR 20140080843A KR 1020120149190 A KR1020120149190 A KR 1020120149190A KR 20120149190 A KR20120149190 A KR 20120149190A KR 20140080843 A KR20140080843 A KR 20140080843A
Authority
KR
South Korea
Prior art keywords
file
user
image
information
database
Prior art date
Application number
KR1020120149190A
Other languages
English (en)
Inventor
임재걸
Original Assignee
동국대학교 경주캠퍼스 산학협력단
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 동국대학교 경주캠퍼스 산학협력단 filed Critical 동국대학교 경주캠퍼스 산학협력단
Priority to KR1020120149190A priority Critical patent/KR20140080843A/ko
Publication of KR20140080843A publication Critical patent/KR20140080843A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • 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/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 사용자 작성 도면 저장시스템 및 그 구축 방법에 관한 것으로, 사용자 작성 도면 저장시스템 및 그 구축방법은 오토캐드와 같은 도면 작성 프로그램을 이용하여 작성한 DXF, SHP 다양한 형식의 도면 파일을 업로드하는 기능, 업로드 된 도면 파일을 파일 저장장치에 저장하고 저장정보를 비롯한 파일 관련 정보를 기록 및 검색하는 데이터베이스 관리 기능, 도면파일을 이미지 파일로 변환하는 기능, 상기 이미지 파일을 파일저장장치에 저장하고 이미지 파일 정보를 저장, 검색 및 수정하는 데이터베이스 관리 기능, 사용자가 도면 이미지를 터치하고 터치한 위치에 존재하는 유명지형지물 정보를 입력하면 그 위치를 도면좌표로 변환하고, 입력된 정보와 함께 도면좌표를 데이터베이스에 저장, 검색 및 수정하는 데이터베이스 관리 기능 등을 제공하는 것을 특징으로 한다.
이에 따라, 본 발명은 사용자가 보유하거나 작성한 옥내 도면을 업로드하면 이 도면들을 저장하고, 다른 사용자들이 응용소프트웨어 개발에 사용할 수 있도록 제공하고, 응용소프트웨어 개발자는 물론 응용소프트웨어 사용자들까지 도면을 용이하게 수정하는 기능을 서비스로 제공할 수 있는 매우 유용한 발명인 것이다.

Description

사용자 작성 도면 저장시스템 및 그 구축방법{User Created Floor Maps Repository System And Construction Method Thereof}
본 발명은 사용자 작성 도면 저장시스템에 관한 것으로, 더욱 상세하게는 사용자가 보유하거나 작성한 옥내 도면 파일을 업로드하면 이를 이미지 파일로 변환하고, 전자도면파일과 이미지 파일을 저장하여 다른 사용자들이 응용소프트웨어 개발에 사용할 수 있도록 제공하는 사용자 작성 도면 저장시스템 및 그 구축방법을 제공하는데 그 목적이 있다.
자동차 항법 시스템(내비게이션)과 같이 사용자의 위치를 기반으로 정보를 제공하는 시스템을 위치기반서비스 시스템이라고 한다. 위치기반서비스가 제공하는 서비스가 너무 유용하여 근래에는 위치기반서비스가 일상생활의 일부가 되고 있다.
이와 같이 위치기반서비스가 보편화되도록 수많은 위치기반서비스 응용이 개발되는데 결정적인 공헌을 한 것들 중에는 GPS(Global Positioning System)와 구글지도가 있다.
GPS는 사용자가 지구상의 어느 곳에 위치해 있어도 현재 위치를 비교적 정확하게 가르쳐주고, 구글지도는 세계 어느 곳의 현재 모습도 비교적 정확하게 나타내준다. 따라서 위치기반서비스 시스템 개발자가 GPS와 구글지도를 이용하여 응용시스템을 개발하면 그 시스템은 세계 어느 곳에서도 제 역할을 제대로 수행한다.
근래에는 건물과 지하시설물 등을 비롯한 인조건축물의 규모가 방대해지고 대부분의 인간은 대부분의 시간을 이러한 건축물 내부에서 일을 보기 때문에 인조건축물 내부에서도 위치기반서비스가 절실히 요구되고 있다.
그런데, 건축물 내부에서는 GPS 신호를 수신하는 것도 불가능하고 구글지도를 이용하여 건축물 내부의 현재 모습을 보여주는 것도 불가능하다. 따라서 옥내에 있는 사용자의 현재 위치를 판정하여주는 기술과 옥내에 있는 사용자 주변의 현재 모습을 나타내주는 방안이 마련되어야 옥내위치기반 서비스도 일상생활에 보편화가 되도록 발전될 수 있다.
대한민국 등록특허 제10-0883520호(등록일 2009년02월06일) 대한민국 공개특허 제10-2012-0071643호(공개일자 2012년07월03일)
본 발명은 이상과 같은 종래의 문제점을 개선하기 위하여 창출된 것으로서, 사용자가 보유하거나 작성한 옥내 도면을 업로드하면 이를 저장하여 다른 사용자들이 응용소프트웨어 개발에 사용할 수 있도록 제공하는 사용자 작성 도면 저장시스템 및 그 구축방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적은 응용소프트웨어 개발자는 물론 응용소프트웨어 사용자들까지 도면을 용이하게 수정하는 기능을 통해 흥미 있는 사물(POI: Point of Interest)에 대한 정보를 저장하고, 도면 및 POI 관련 정보를 사용자들에게 제공하는 사용자 작성 도면 저장시스템 및 그 구축방법을 제공하는 것이다.
이와 같은 본 발명의 목적을 달성하기 위한 본 발명에 따른 사용자 작성 도면 저장시스템은, 서버 컴퓨터와 데이터베이스로 구성된 도면 저장시스템과; 상기 도면 저장시스템에 접속하여 보유하거나 도면 작성 도구를 이용하여 제작한 옥내 도면 파일을 서버 컴퓨터로 업로드하는 사용자 단말; 및 상기 도면 저장시스템에 접속하여 업로드된 옥내 도면 파일을 다운받아 응용소프트웨어를 개발하는 개발자 단말;을 포함하고, 상기 서버 컴퓨터에는 데이터베이스 접속과 정보접근 기능을 제공하는 데이터베이스 접근 클래스가 구현되고, 앱 개발자들이 용이하게 응용소프트웨어를 개발할 수 있도록 응용프로그램이 호출할 수 있는 웹서비스들을 제공하는 것을 특징으로 한다.
본 발명의 상기 서버 컴퓨터는, 업로드된 도면 파일을 데이터베이스에 저장하고 저장정보를 비롯한 파일 관련 정보를 기록 및 검색하는 데이터베이스 관리 기능과, 도면파일을 이미지 파일로 변환하여 변환된 이미지 파일을 데이터베이스에 저장하고 이미지 파일 정보를 저장, 검색 및 수정하는 데이터베이스 관리 기능, 및 사용자가 도면 이미지를 터치하여 터치한 위치에 존재하는 지형지물 정보를 입력하면 그 위치를 도면좌표로 변환하고, 입력된 정보와 함께 도면좌표를 데이터베이스에 저장, 검색 및 수정하는 데이터베이스 관리 기능을 제공하는 것을 특징으로 한다.
본 발명의 상기 옥내 도면 파일은 도면 작성 프로그램을 이용하여 작성된 DXF, SHP 형식의 도면 파일인 것을 특징으로 한다.
본 발명의 다른 관점에서 사용자 작성 도면 저장시스템 구축방법은, 사용자가 도면 저장시스템에 접속하여 보유하거나 작성한 옥내 도면 파일을 업로드하는 단계와; 상기 도면 저장시스템은 업로드된 도면 파일을 이미지로 변환하여 업로드된 도면 파일과 이미지 파일을 저장하는 단계; 상기 도면 저장시스템에 접속된 사용자 및 앱 개발자들이 요청하는 도면의 이미지를 다운로드해 주는 단계; 및 사용자 및 앱 개발자가 업로드하는 터치 이벤트가 발생한 지점의 정보를 저장, 관리 및 검색을 제공하는 단계를 포함한다.
본 발명은 사용자에 의해 도면 파일과 이미지 파일을 저장, 검색 및 관리하는 데이터베이스 구축 단계를 더 포함한다.
본 발명은 화면상에 보이는 흥미 있는 물체의 경계선들을 결정하는 끝점들을 터치하면 끝점의 화면좌표를 도면좌표로 변환하는 것을 특징으로 한다.
안드로이드 스마트폰의 경우, 안드로이드 앱에서는 화면 터치 사건이 발생하면 터치된 위치의 화면 좌표 (x, y)를 반환하는데, 이 좌표에 Matrix 클래스의 행렬에 저장된 축척(values[0]와 values[4])과 이동(values[2]와 values[5]) 정보를 적용하여 다음과 같이 이미지상의 좌표를 구한다.
이미지상의 x좌표 = x/valus[0] - values[2]/values[0]
이미지상의 y좌표 = y/values[4] - values[5]/values[4]
본 발명은 사용자가 업로드한 흥미 있는 지점의 정보를 저장, 검색 및 관리하여주는 데이터베이스 구축하는 것을 특징으로 한다.
본 발명은 사용자가 보유하거나 작성한 옥내 도면을 업로드하면 이를 저장하여 다른 사용자들이 응용소프트웨어 개발에 사용할 수 있도록 제공하고, 응용소프트웨어 개발자는 물론 응용소프트웨어 사용자들까지 도면을 용이하게 수정하는 기능을 통해 흥미 있는 사물(POI: Point of Interest)에 대한 정보를 저장함과 아울러, 도면 및 POI 관련 정보를 모든 사용자들에게 제공할 수 있게 된다.
본 발명은 세계 어느 건축물이든 지정된 건축물 내부의 현재 배치도를 제공함으로써, 범용 옥내위치기반서비스 시스템 개발에 필요한 문제점인 옥내도면파일이 해결되므로 옥내위치기반서비스 산업 발전이 가속될 수 있다.
도 1은 본 발명에 따른 사용자 작성 도면 저장시스템의 개념을 설명하는 개념도이다.
도 2는 본 발명에 따른 데이터베이스를 구성하는 테이블들의 구성을 나타낸 예시도이다.
도 3은 본 발명에 따른 데이터베이스 접근 클래스를 나타낸 예시도이다.
도 4와 도 5는 현존하는 옥내위치기반서비스 시스템 실행화면들의 예시도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다.
도 1은 본 발명에 따른 사용자 작성 도면 저장시스템의 개념을 설명하는 개념도이고, 도 2는 본 발명에 따른 데이터베이스를 구성하는 테이블들의 구성을 나타낸 예시도이며, 도 3은 본 발명에 따른 데이터베이스 접근 클래스를 나타낸 예시도이다.
먼저, 도 1 내지 도 3에 도시된 바와 같이, 본 발명에 따른 사용자 작성 도면 저장시스템 및 그 구축방법은, 기본적으로 사용자 제작 콘텐츠와 비슷한 방법이다. 즉, 사용자들이 제작하여 올리는 건물 도면을 한 곳에 모아 개발자들에게 제공하는 것이다.
본 발명에 따른 도면 저장시스템은 서버 컴퓨터(10)와 데이터베이스(20)로 구성되며, 서버 컴퓨터(10)에는 데이터베이스(20) 접속과 정보접근 기능을 제공하는 데이터베이스 접근 클래스가 구현된다. 또한, 개발자(40,50)들이 용이하게 응용소프트웨어를 개발할 수 있도록 응용프로그램이 호출할 수 있는 웹서비스들도 서버 컴퓨터(10)에서 실행된다.
도면 저장시스템의 사용자(30)에는 보유하고 있거나 제작한 옥내 도면을 서버 컴퓨터(10)로 업로드하는 개발자 및 앱을 사용하는 사용자(end user, 30)와, 옥내위치기반서비스의 앱 개발자(50)가 모두 포함된다. 이들이 도면 저장시스템에 접속하고 이용하는 서비스를 제공하는 프로그램이 실행되는 컴퓨터, 휴대용 기기 및 스마트폰 등을 이용하여 서버 컴퓨터(10)와 유무선 인터넷을 통해 연결된다. 여기서, 옥내 도면은 오토캐드와 같은 도면 작성 도구를 이용하여 작성한 DXF, SHP 등 다양한 형식의 도면 파일을 의미한다.
서버 컴퓨터(10)는 사용자(30)들이 접속하여 요청하는 작업을 수행하는 컴퓨터로서, 사용자(30)가 요청하는 작업에는 사용자(30)가 제작한 도면을 서버 컴퓨터(10)로 올리는 작업과, 사용자(30)가 주변에서 얻을 수 있는 정보를 수시로 올리는 작업, 그리고 옥내위치기반서비스 응용시스템(미도시) 등을 개발하는 앱 개발자(50)가 필요한 도면을 요청하는 작업 등이 있다.
도면파일 등록서비스를 웹서비스의 예를 들면, 사용자(30)가 제작한 도면을 업로드하기 위해 웹서비스에 접속하여 응용프로그램에서 해당 서비스를 호출하면, 서버 컴퓨터(10)는 사용자(30)가 제작한 도면파일을 업로드 받아 이미지로 변환하여 파일시스템에 저장하고, 저장된 도면파일에 대한 정보를 데이터베이스 접근 클래스를 이용하여 데이터베이스(20)에 저장한다.
상기 확보된 도면파일들을 데이터베이스(20)에 저장되고, 사용자(30) 또는 앱 개발자(50)들이 요청하는 도면파일등을 데이터베이스(20)에서 검색하여 제공되며, 많은 도면 파일이 축적됨에 따라 대용량 저장장치(미도시)가 더 구비될 수도 있다.
상기 도면파일은, 예를 들어 모든 건축물은 건축도면을 바탕으로 지어지고, 유지 보수되기 때문에 옥내위치기반서비스 시스템의 사용자 인터페이스로 사용될 도면은 이미 모두 존재한다고 볼 수 있다. 그러나 응용 시스템에서 사용자 인터페이스로 사용할 도면은 건축도면 처럼 건축물 전체를 나타내는 도면이 아니라 사용자들이 활동하는 공간만 나타내는 도면이면 된다. 따라서 건축도면에서 필요 없는 부분을 삭제하여 작성한 도면 파일을 저장시스템으로 올리든지(upload) 아니면 새롭게 그린 도면을 올릴 수 있도록 한다.
또한, 건축도면에는 나타나지 않지만 위치기반서비스에 사용되는 도면파일에는 꼭 표시되어야하는 정보도 있는데, 일반적으로 이동 가능한 사물들의 위치 정보가 여기에 해당되는데 사용자들의 휴식을 위한 벤치의 위치가 변경되었거나, 어느 상점의 상호가 변경되었거나, 없던 시설물이 새로 생겼거나 혹은 있던 시설물이 철거되었다면 이러한 정보는 수시로 수정되어야 한다.
옥내위치기반서비스 응용 시스템(앱이라고 함)을 개발하는 앱 개발자(50)가 도면 저장시스템에 접속하여 원하는 도면을 요청하면, 서버 컴퓨터(10)는 요청된 도면을 데이터베이스(20)에서 검색하여 앱 개발자(50)에게 제공하며, 주어진 좌표의 위치를 도면상에 표시하여준다거나, 주어진 좌표에 연합된 정보(예를 들면 주어진 좌표는 “원조청주해장국” 집이다), 혹은 주어진 좌표 주위의 정보를 제공하여주는 등의 기능을 수행하는 서비스를 제공하여 앱 개발자(50)들이 용이하게 사용할 수 있도록 한다.
옥내위치기반서비스 시스템에서는 사용자의 현재 위치를 단말기가 정확하게 알고 있지 못함으로 사용자가 도면을 터치하면 그 곳의 화면 좌표를 도면 좌표로 변환하여 해당 지점의 좌표로 삼고, 그 곳에 관련된 정보를 사용자가 입력할 수 있도록 한다.
서버 컴퓨터(10)는 웹서비스가 실행되어 사용자들이 인터넷을 통하여 접속하고, 도면을 저장, 검색, 갱신하는 서비스와 좌표를 의미 있는 정보(예를 들면 가게이름)로 바꾸어주는 서비스 등의 각종 서비스를 인터넷을 통하여 이용할 수 있게 한다.
이와 같은 서비스들은 직접 데이터베이스(20)를 접근하기도 하지만 대부분 데이터베이스 접근 클래스에 구현된 함수들을 이용하여 접근 권한을 부여하고, 접근 권한이 부여된 사용자(30) 또는 앱 개발자(50)들에게 데이터베이스(20)에 저장된 도면과 좌표 정보를 저장, 검색, 갱신, 삭제 등의 서비스를 제공한다. 도 1에서는 서버 컴퓨터(10)를 한대로 표시되었으나, 많은 사용자들을 수용하기 위하여 여러 대의 서버 컴퓨터(10)를 운용할 수도 있다.
도면 파일을 비롯한 모든 유형의 파일을 업로드하는 기술은 이미 보편적으로, 업로드된 도면 파일에 대한 정보를 기록하는 데이터베이스(20)를 구축한다.
데이터베이스(20)에 구성된 테이블은 도 2에 도시된 바와 같이, floor_map_tab은 도면파일에 대한 정보를 기록한 테이블이다. 여기서, 테이블이라는 용어는 관계형 데이터베이스 관리 시스템에서 사용되는 전문용어로 하나의 데이터베이스는 여러 테이블로 구성되고, 하나의 테이블은 여러 튜플(Tuple)로 구성되며, 하나의 튜플(Tuple)은 여러 속성으로 구성된다.
floor_map_tab의 한 튜플은 map_Id, userId, name, description, category_Id, dirPath, imagePath 등의 속성들로 구성된다.
여기서, map_Id는 도면파일의 유일한 식별자, userId는 도면파일을 작성한 가입자(사용자)의 유일한 식별자, name은 도면파일의 이름, description은 도면파일의 자세한 설명, category_Id는 도면파일이 속하는 유형, dirPath는 도면파일이 저장된 경로, imagePath는 도면파일을 표출한 이미지가 저장된 경로를 의미한다.
map_measure_tab의 한 튜플은 belong_to, user_Id, window_mid_x, window_mid_y, scale 등의 속성들로 구성된다.
여기서, belong_to는 floor_map_tab의 map_Id를 값으로 갖고, user_Id는 map_Id가 지칭하는 도면이 출력된 단말기의 사용자를 나타낸다. window_mid_x와 window_mid_y 그리고 scale은 각각 도면이 출력된 화면의 정중앙에 위치한 도면의 좌표(x, y)와 도면의 축척을 (실제도면의 크기와 화면의 크기의 비율) 나타낸다. 또한, 중앙좌표와 축척은 사용자가 터치한 화면의 도면좌표를 구하기 위하여 사용될 수도 있다.
interesting_object_tab의 튜플은 개체 식별자인 ob_Id, 이 개체가 속한 도면의 식별자인 belong_to, 개체의 이름인 name, 개체를 설명하는 description, 개체의 윤곽의 좌하단 (x1, y1)과 우상단 (x2, y2) 등의 속성으로 구성된다.
category_tab은 도면 분류 이름(category_name)들이 나열된 테이블이다. 각 category_name은 식별자인 category_Id와 연합되어 있고, 어떤 category는 다른 category의 부분카테고리일 수 있다. 예를 들어 백화점이라는 카테고리는 상업건물이라는 카테고리의 subcategory_of이다.
subscriber_tab은 가입자 정보를 기록하는 테이블이고, user_map_tab은 어느 가입자가 어느 도면을 사용하였는지 기록하는 테이블이다.
한편, 서버 컴퓨터(10)에는 데이터베이스(20)에 정보를 저장하고 검색하는 기능을 수행하는 함수를 포함한 클래스를 정의하여 도면 저장시스템 프로그램 개발에 사용한다.
구현된 클래스의 일부가 도 3에 도시된 바와 같이, DBConnector는 응용프로그램이 데이터베이스(20)를 접속하는데 필요한 함수들이 정의된 클래스이다. 여기서, DrawingDao는 데이터베이스에 정보를 기록하거나 데이터베이스의 정보를 검색하는데 필요한 함수들이 정의된 클래스이다.
각 함수들의 기능은 다음과 같다. registerDrawing(): 도면의 이름, 설명, 카테고리, 저장경로 등을 floor_map_tab 테이블에 저장한다.
registerDrawingMeasure(): 도면의 이름, 윈도우 중앙에 위치한 도면의 x, y 좌표, 도면의 축척을 map_measure_tab 테이블에 저장한다.
registerPOI(): 유명지형지물의 위치 정보를 interesting_object_tab 테이블에 저장한다.
deleteDrawing(): 도면의 이름을 받아 floor_map_tab의 해당 레코드를 삭제한다. 삭제하기 전에 이 레코드의 map_Id를 참조하는 다른 테이블들의 레코드들을 먼저 삭제한다.
deleteDrawingMeasure(): 도면과 사용자의 이름을 받아 map_measure_tab 테이블의 해당하는 레코드를 삭제한다.
getAllDrawingName(): map_measure_tab 테이블의 모든 도면의 이름을 ArrayList로 불러온다.
getDrawingDirPath(): 도면의 이름에 해당하는 파일의 저장경로를 반환한다.
getScale(): 도면과 사용자의 이름을 받아, 출력 도면의 축척을 반환한다.
데이터베이스 접근 클래스에 정의된 함수들을 사용하여 도면을 등록, 도면을 검색, 흥미 있는 지점을 (POI: Point of interest) 등록하는 등의 기능을 제공하는 웹서비스를 작성하여 응용시스템 개발자들이 사용할 수 있도록 한다. 작성하는 웹서비스에는 다음과 같은 것들이 포함된다.
registerDrawing.jsp (도면 등록)
도면파일(dxf파일)과 도면정보(이름, 설명, 카테고리)를 가지고 registerDrawing.jsp로 요청을 하면 도면파일을 파일시스템에 저장하고, 도면정보를 데이터베이스에 등록한다.
도면파일에 도면그리기 프로그램을 적용해 도면이미지를 생성하여 파일시스템에 저장하고 저장경로를 floor_map_tab 테이블의 imagePath에 저장한다. 이미지 작성 중 구해진 도면 관련 수치(windowMidX, windowMidY, mainScale 등)는 map_measure_tab 테이블에 저장한다.
deleteDrawing.jsp (도면 삭제)
도면 이름으로 deleteDrawing을 요청하면 이름에 해당하는 DB의 레코드와 도면파일 및 도면 이미지를 삭제한다. 이때 도면에 해당하는 수치 테이블(drawing_measure)의 레코드도 삭제된다.
registerPOI.jsp (POI 등록)
최종사용자가 안드로이드폰의 도면이미지를 터치하면 터치된 점의 윈도우좌표를 도면좌표로 변환한 다음, 사용자가 흥미 있는 지점 (POI) 관련 정보들을 입력할 수 있는 폼을 화면에 출력한다.
사용자가 해당 도면의 이름, POI의 이름, 설명, 등을 폼에 입력하고 제출 버튼을 클릭하면 POI 관련 정보가 DB의 interesting_objects_tab 테이블에 저장된다.
showDrawingList.jsp (도면 목록 출력)
본 웹서비스는 현재 DB의 floor_map_tab 테이블에 있는 모든 도면들의 이름을 가져와 출력한다. 사용하는 안드로이드 프로그램에선 응답 내용을 라인별로 읽어 출력할 수 있다.
showDrawing.jsp (도면 이미지 출력)
도면 이름을 인수로 본 웹서비스에 요청을 보내면 도면 이름이 지시하는 도면파일로 작성한 이미지를 반환한다.
상기 웹서비스들을 이용하여 도면 등록, 검색, 도면 이미지 출력 그리고 POI 정보 등록 등의 기능을 사용자에게 제공하는 안드로이드 앱을 용이하게 구현할 수 있다.
예를 들어 앱을 실행시키면 등록, 검색, 삭제 등의 메뉴 버튼들을 화면에 출력하고, 버튼 클릭시 해당 작업을 실행한다. 즉, 도면 등록 버튼을 클릭하면 도면파일 정보를 입력하고 제출할 수 있다.
즉, submit 버튼을 클릭하면 본 앱은 registerDrawing.jsp를 호출하여 도면파일과 입력정보를 데이터베이스에 등록한다.
도면 검색 버튼을 클릭하면 showAllDrawingList.jsp를 호출하여 데이터베이스에 등록된 도면들의 리스트를 받아와 차례로 출력한다. 그리고 도면 리스트에서 하나를 선택하면 showDrawing.jsp를 호출하여 해당 도면의 이미지를 받아 ImageView에 출력한다.
android:scaleType은 ImagView의 크기에 맞도록 이미지를 어떻게 크기 조절하고 이동하는지를 제어한다. scaleType은 matrix (0), fitXY (1), fitStart (2) 등 0부터 7까지의 여덟 가지 상수 중 하나의 값을 가질 수 있다.
android:scaleType="matrix" 혹은 setScaleType(ScaleType.MATRIX) 함수를 이용해서 scaleType을 matrix로 설정할 수 있으며, 이렇게 하면 Matrix 클래스를 이용해서 이미지를 이동, 확대 등 조작할 수가 있다.
Matrix 클래스는 3x3 행렬에 좌표변환 정보를 기록한다. Matrix의 getValues(float[] values)는 행렬의 9 값을 배열로 복사하는데 사용 예는 다음과 같다.
float[] values = new float[9];
matrix.getValues(values);
상기 두 문장의 실행 결과 values[0]에는 현재 ImageView에 보이는 이미지의 원래 이미지에 대한 가로축척이, values[4]에는 세로축척이, 그리고 values[2]와 values[5]에는 각각 x축 이동거리와 y축 이동거리가 기록된다. values에 기록되는 나머지 값은 비틀기와 투사 방법을 결정한다.
Matrix는 상기 행렬에 기록된 값을 바탕으로 이미지 확대, 축소, 회전, 비틀기, 이동 등을 실행하는 다양한 메소드를 제공한다. 예를 들어, postScale을 다음과 같이 사용하여 이미지를 확대 혹은 축소한다.
Matrix matrix = new Matrix();
matrix.postScale(Xscale, Yscale, mid.x, mid.y);
ImageView.setImageMatrix(matrix);
본 안드로이드 앱은 드래그 사건이 있을 때 이동 거리를 반환받아 축척을 적용하여 이미지상의 이동거리로 환산한 다음, Matrix 클래스의 postTranslate()를 이용하여 행렬의 values[2]와 values[5]에 해당하는 값을 변경하고 다시 그리며, 핀치 사건이 있을 때 축척을 재계산한 다음 postScale()을 이용하여 행렬을 갱신하고 다시 그린다.
POI 정보 등록은 POI가 위치한 이미지 상의 지점을 사용자가 터치하면 이 지점의 이미지 상의 좌표와 POI 정보를 서버에 보낸다. 화면 터치 사건은 터치된 위치의 화면 좌표 (x, y)를 반환하는데, 이 좌표에 Matrix 클래스의 행렬에 저장된 축척(values[0]와 values[4])과 이동(values[2]와 values[5]) 정보를 적용하여 다음과 같이 이미지상의 좌표를 구한다.
이미지상의 x좌표 = x/valus[0] - values[2]/values[0]
이미지상의 y좌표 = y/values[4] - values[5]/values[4]
한편, 도 4와 도 5는 현존하는 옥내위치기반서비스 시스템 실행화면들의 예시도로서, 도 4는 옥내위치기반서비스 시스템에 도면이 반드시 필요하다는 사실을 보여주는 예시도이고, 도 5는 옥내위치기반서비스 시스템에 POI(이 실행화면 예에서는 AP들) 정보들이 반드시 필요하다는 사실을 보이는 예시도이다. 이로부터 POI 정보를 포함한 도면 정보를 저장하고 제공하는 본 발명이 옥내위치기반서비스 시스템 구현에 얼마나 중요한 역할을 담당하는지 알 수 있다.
도 4와 도 5에 도시된 바와 같이, 본 발명은 건축물이 거대해지고 내부가 복잡해짐에 따라 옥내위치기반서비스에 대한 요구가 절실해지고 있다.
도 4는 옥내위치기반서비스의 주요 사용자 인터페이스인 도면을 다운로드 받는 장면을 나타낸 것으로, 본 발명은 이러한 도면을 모두 저장하여 일괄관리하고 원하는 사용자에게 언제든지 그리고 어디에 있든지 제공하여주는 시스템이다.
도 5는 주변에 위치한 공유기 관련 정보를 다운로드 받는 옥내위치기반서비스 시스템의 실행화면으로, 주변에 어떤 공유기들이 있고 그들의 좌표는 각각 어떤지 다운로드 받으면 사용자의 현재 위치를 계산하는데 도움이 된다.
그런데 공유기는 고장이 나면 다른 공유기로 대체될 수도 있고, 공유기의 위치를 옮길 수도 있다. 따라서 공유기의 위치 정보는 사용자에 의하여 수시로 갱신될 수 있어야 한다.
공유기를 비롯한 다른 많은 이동 가능한 가구나 편이 시설들도 마찬가지다. 이러한 모든 이동 가능한 물체들을 본 발명에서는 ‘흥미 있는 지점’(POI: Point of Interest)이라고 칭하며, 모든 POI의 정보를 일괄적으로 저장하고 관리하며, 사용자가 수시로 업로드와 수정할 수 있으며, 원하는 사용자에게 다운로드하도록 제공한다.
이상, 전술한 본 발명의 바람직한 실시예는, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 특허청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
10 : 서버 컴퓨터 20 : 데이터베이스
30 : 사용자 50 : 앱 개발자

Claims (6)

  1. 서버 컴퓨터와 데이터베이스로 구성된 도면 저장시스템과;
    상기 도면 저장시스템에 접속하여 보유하거나 도면 작성 도구를 이용하여 제작한 옥내 도면 파일을 서버 컴퓨터로 업로드하는 사용자 단말; 및
    상기 도면 저장시스템에 접속하여 업로드된 옥내 도면 파일을 다운받아 응용소프트웨어를 개발하는 개발자 단말;을 포함하고,
    상기 서버 컴퓨터에는 데이터베이스 접속과 정보접근 기능을 제공하는 데이터베이스 접근 클래스가 구현되고, 앱 개발자들이 용이하게 응용소프트웨어를 개발할 수 있도록 응용프로그램이 호출할 수 있는 웹서비스들을 제공하는 것을 특징으로 하는 사용자 작성 도면 저장시스템.
  2. 제 1 항에 있어서,
    상기 서버 컴퓨터는,
    업로드된 도면 파일을 데이터베이스에 저장하고 저장정보를 비롯한 파일 관련 정보를 기록 및 검색하는 데이터베이스 관리 기능과,
    도면파일을 이미지 파일로 변환하여 변환된 이미지 파일을 데이터베이스에 저장하고 이미지 파일 정보를 저장, 검색 및 수정하는 데이터베이스 관리 기능, 및
    사용자가 도면 이미지를 터치하여 터치한 위치에 존재하는 지형지물 정보를 입력하면 그 위치를 도면좌표로 변환하고, 입력된 정보와 함께 도면좌표를 데이터베이스에 저장, 검색 및 수정하는 데이터베이스 관리 기능을 제공하는 것을 특징으로 하는 사용자 작성 도면 저장시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 옥내 도면 파일은
    도면 작성 프로그램을 이용하여 작성된 DXF, SHP 형식의 도면 파일인 것을 특징으로 하는 사용자 작성 도면 저장시스템.
  4. 사용자가 도면 저장시스템에 접속하여 보유하거나 작성한 옥내 도면 파일을 업로드하는 단계와;
    상기 도면 저장시스템은 업로드된 도면 파일을 이미지로 변환하여 업로드된 도면 파일과 이미지 파일을 저장하는 단계;
    상기 도면 저장시스템에 접속된 사용자 및 앱 개발자들이 요청하는 도면의 이미지를 다운로드하는 단계; 및
    사용자 및 앱 개발자가 업로드하는 터치 이벤트가 발생한 지점의 정보를 저장, 관리 및 검색을 제공하는 단계를 포함하는 사용자 작성 도면 저장시스템 구축 방법.
  5. 제 4 항에 있어서,
    사용자에 의해 도면 파일과 이미지 파일을 저장, 검색 및 관리하는 데이터베이스 구축 단계를 더 포함하는 사용자 작성 도면 저장시스템 구축 방법.
  6. 제 4 항 또는 제 5 항에 있어서,
    화면상에 보이는 흥미 있는 물체의 경계선들을 결정하는 끝점들을 터치하면 끝점의 화면좌표를 도면좌표로 변환하는 것을 특징으로 하는 사용자 작성 도면 저장시스템 구축 방법.
    안드로이드 스마트폰의 경우를 예로 들어 설명하였으며, 안드로이드 앱에서는 화면 터치 사건이 발생하면 터치된 위치의 화면 좌표 (x, y)를 반환하는데, 이 좌표에 Matrix 클래스의 행렬에 저장된 축척(values[0]와 values[4])과 이동(values[2]와 values[5]) 정보를 적용하여 다음과 같이 이미지상의 좌표를 구한다.
    이미지상의 x좌표 = x/valus[0] - values[2]/values[0]
    이미지상의 y좌표 = y/values[4] - values[5]/values[4]
KR1020120149190A 2012-12-20 2012-12-20 사용자 작성 도면 저장시스템 및 그 구축방법 KR20140080843A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120149190A KR20140080843A (ko) 2012-12-20 2012-12-20 사용자 작성 도면 저장시스템 및 그 구축방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120149190A KR20140080843A (ko) 2012-12-20 2012-12-20 사용자 작성 도면 저장시스템 및 그 구축방법

Publications (1)

Publication Number Publication Date
KR20140080843A true KR20140080843A (ko) 2014-07-01

Family

ID=51732270

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120149190A KR20140080843A (ko) 2012-12-20 2012-12-20 사용자 작성 도면 저장시스템 및 그 구축방법

Country Status (1)

Country Link
KR (1) KR20140080843A (ko)

Similar Documents

Publication Publication Date Title
JP5914349B2 (ja) 多数の地図ビルディングブロックにおけるオブジェクトの相互参照と重複排除を行う方法と装置
US9342220B2 (en) Process modeling and interface
US9690689B2 (en) Test case generation in a development environment
US20140279890A1 (en) Data migration framework
US9280319B2 (en) Integrated visualization for modeled customizations
US20160048548A1 (en) Population of graph nodes
US20210004220A1 (en) Interaction method and apparatus
EP2909764B1 (en) Portal for submitting business metadata for services
KR101728160B1 (ko) 오픈 api를 활용한 모바일 매쉬업 기반 문화재 관광 안내 시스템
US20140279823A1 (en) Lifecycle product analysis
Hijazi et al. 3DCITYDB4BIM: A system architecture for linking bim server and 3d citydb for bim-gis-integration
Yao et al. A field survey system for land consolidation based on 3S and speech recognition technology
KR101226731B1 (ko) 지피에스 확인을 통한 변경된 지형지물의 수치지도 갱신방법
EP3819789A2 (en) Method, apparatus, device and storage medium for map retrieval test
JP6639418B2 (ja) 開発システムにおける意味論的なコンテンツアクセス
Zhang et al. Design and Application Development of the Camps Navigation System Based on ArcGIS Runtime SDK for Android:——Taking the Yunnan Normal University as an example
JP5617027B1 (ja) 情報管理システム及び情報管理プログラム
JP4968275B2 (ja) 地図データ編集装置及び地図データ編集装置用サーバ
Herbreteau et al. GeoHealth and QuickOSM, two QGIS plugins for health applications
CN115310160A (zh) 一种基于AutoCAD的测绘成果管理、共享系统与方法
KR20140080843A (ko) 사용자 작성 도면 저장시스템 및 그 구축방법
JP5884925B2 (ja) 管理支援装置、管理支援方法及び管理支援プログラム
JP2021111209A (ja) 情報表示装置、情報表示方法及びプログラム
JP6817385B1 (ja) 地図情報共有装置、地図情報共有方法、地図情報共有プログラム
Vranić et al. Increasing FAIRness by sustainable modelling of interactions of parties with land administration systems

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application