KR20180033888A - Pattern Recognization Method and Systerm Thereof - Google Patents

Pattern Recognization Method and Systerm Thereof Download PDF

Info

Publication number
KR20180033888A
KR20180033888A KR1020160123417A KR20160123417A KR20180033888A KR 20180033888 A KR20180033888 A KR 20180033888A KR 1020160123417 A KR1020160123417 A KR 1020160123417A KR 20160123417 A KR20160123417 A KR 20160123417A KR 20180033888 A KR20180033888 A KR 20180033888A
Authority
KR
South Korea
Prior art keywords
gps
latitude
geohash
value
information
Prior art date
Application number
KR1020160123417A
Other languages
Korean (ko)
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 KR1020160123417A priority Critical patent/KR20180033888A/en
Publication of KR20180033888A publication Critical patent/KR20180033888A/en

Links

Images

Classifications

    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06K9/00
    • 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
    • G06Q30/0251Targeted advertisements
    • G06Q30/0259Targeted advertisements based on store location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a location-based pattern recognition method and a system thereof. The location-based pattern recognition method is realized through a process of allowing a management server to store various collected information of restaurants and sightseeing places in a server. According to the present invention, sightseeing information can be provided to a MICARE traveler by utilizing a location-based technology and an image pattern recognition application technology of an object.

Description

위치기반 패턴인식 방법 및 시스템{Pattern Recognization Method and Systerm Thereof}{Pattern Recognization Method and Systerm Thereof}

본 발명은 위치기반 패턴인식 방법 및 시스템에 관한 것으로서, 보다 상세하게는 위치기반 기술과 사물의 이미지 패턴인식 응용기술을 활용하여 MICARE 여행객을 대상으로 관광정보를 제공할 수 있도록 하는 위치기반 패턴인식 방법 및 시스템에 관한 것이다.The present invention relates to a location-based pattern recognition method and system, and more particularly, to a location-based pattern recognition method and system that can provide tourist information to a MICARE traveler by utilizing location- And a system.

스마트 폰의 급격한 확대를 통한 유저들의 위치 정보 확인 시스템을 기초로 하는 다양한 위치 기반 서비스가 제공되고 있지만, 위치기반의 간판 인식 기술을 제공되지 않고 있는 실정이다.Various location-based services based on the user's location information confirmation system through the rapid expansion of smart phones have been provided, but the present invention does not provide location-based sign recognition technology.

따라서, 본 발명의 목적은, 위치기반 기술과 사물의 이미지 패턴인식 응용기술을 활용하여 MICARE 여행객을 대상으로 관광정보를 제공할 수 있도록 하는 위치기반 패턴인식 방법 및 시스템을 제공함에 있다.Accordingly, it is an object of the present invention to provide a location-based pattern recognition method and system that can provide tourist information to a MICARE traveler by utilizing location-based technology and application technology of image pattern recognition of objects.

상기 목적을 달성하기 위한 본 발명에 따른 위치기반 패턴인식 방법은, 관리 서버가, 수집된 식당 및 관광지의 각종 정보를 서버에 저장하는 단계를 포함한다.According to another aspect of the present invention, there is provided a method for recognizing a location-based pattern, comprising the steps of: a management server storing various information of a restaurant and a sightseeing spot in a server.

본 발명에 따르면, 위치기반 기술과 사물의 이미지 패턴인식 응용기술을 활용하여 MICARE 여행객을 대상으로 관광정보를 제공할 수 있도록 하는 위치기반 패턴인식 방법 및 시스템이 제공된다.According to the present invention, there is provided a location-based pattern recognition method and system for providing tourism information to a MICARE traveler by utilizing a location-based technology and an application technique of image pattern recognition of objects.

도 1 내지 도 32는 본 발명의 일 실시예에 따른 위치기반 패턴인식 방법의 실행 과정을 설명하는 도면이다.1 to 32 are diagrams for explaining an execution procedure of a method for recognizing a location-based pattern according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 도면들 중 동일한 구성요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.Hereinafter, the present invention will be described in detail with reference to the drawings. It is to be noted that the same elements among the drawings are denoted by the same reference numerals whenever possible. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail.

위치기반의 간판인식 기술은 동일한 기술의 확장선으로 숙박, 관광지 등에 대한 안내와 외국어지원, 교통 이정표의 동영상 이미지 등을 포함하는 상세안내 등의 활용분야가 기대되며, 특히 위치기반으로 다양한 형태의 체험학습에 활용이 가능할 것으로 예견된다. 또한 향후 체험게임분야에서 보물찾기나 오리엔티어링 같이 현장에 나가 대상체를 찾고 이를 바탕으로 다양한 형태의 게임을 진행 할 수 있는 위치기반의 활동적 분야에 다양하게 활용이 가능하다.The location-based sign recognition technology is expected to be applied to various areas such as accommodation, tourist information, foreign language support, detailed information including moving images of traffic milestones, etc., It is predicted that it can be used for learning. In addition, it is possible to utilize it variously in a location-based active field in which a player can go to the field such as treasure hunting or orientation in the experiential game field in the future and find a target object and play various types of games based on the object.

도 8은 서비스 제공을 위한 시스템 구성도이다.8 is a system configuration diagram for providing a service.

Admin WebAdmin Web

-수집된 식당 및 관광지의 각종 정보를 서버에 저장, 관리하기 위한 프로그램- A program for storing and managing various information of collected restaurants and sightseeing places on the server

-식당 간판 사진, 식당소개, 대표메뉴, 위치정보, 음식정보, 주차유무 등- restaurant signboard photos, restaurant introduction, representative menu, location information, food information, presence of parking etc.

-관광지 사진, 관광지소개, 위치정보, 주차유무, 화장실유무 등- Photos of sightseeing spots, introduction of sightseeing spots, location information, presence of parking, presence of restrooms, etc.

ClientClient

-사용자(여행자)가 촬영한 사진을 서버로 전송하고, 촬영된 사진에 대한 정보를 서버로부터 전달받아 사용자에게 보여주는 프로그램(스마트폰 앱)- A program (smartphone app) that transmits the photos taken by the user (traveler) to the server, receives information about the photographed photos from the server, and displays them to the user.

ServerServer

-사용자로부터 전송받은 사진에 대한 장소 및 각종 정보를 기 수집된 자료에서 검색하여 사용자에게 제공하는 프로그램- A program that searches places and various information about pictures received from users from collected data and provides them to users

-관리프로그램을 통한 자료 저장 시 이미지에 대한 위치정보를 토대로 스토리지 구성 및 저장 프로그램- Storage configuration and storage program based on location information about image when storing data through management program

-관리프로그램을 통한 자료 저장 시 이미지 이외의 각종 정보를 DataBase에 분류, 저장하는 프로그램- A program that classifies and stores information other than images in DataBase when storing data through management program

Server 구축Server construction

1.API 서버 구축1.API server construction

(1) 플랫폼 : Java SE(Standard Edition) 1.8   (1) Platforms: Java SE (Standard Edition) 1.8

(2) Web server : tomcat 8   (2) Web server: tomcat 8

(3) 애플리케이션 프레임워크 : spring boot 1.3.5   (3) Application framework: spring boot 1.3.5

(4) 빌드 시스템 : Gradle 2.12   (4) Build system: Gradle 2.12

2. 이미지 검색 서버2. Image search server

(1) 플랫폼 : Java SE(Standard Edition) 1.8   (1) Platforms: Java SE (Standard Edition) 1.8

(2) Web server : tomcat 8   (2) Web server: tomcat 8

(3) 애플리케이션 프레임워크 : spring boot 1.3.6   (3) Application framework: spring boot 1.3.6

(4) 빌드 시스템 : Gradle 2.12   (4) Build system: Gradle 2.12

3. 데이터베이스3. Database

(1) MariaDB 10.1.14
(1) MariaDB 10.1.14

Admin Web (관리자 프로그램) 개발Developed Admin Web

시스템 관리자는 관리자 프로그램을 통해서 수집된 상점 정보를 서버의 데이터베이스인 mysql의 데이블에 저장되고 이미지들은 루씬기반의 이미지 검색 엔진인 LIRE(Lucene Image Retrieval)에 지오해시를 기준으로 저장 된다.The system administrator stores the store information collected through the administrator program in the database of the server's database, mysql, and the images are stored in Lucene Image Retrieval (LIRE), which is a Lucene-based image search engine.

도 10에서의 예시에 나오는 상점의 GPS 좌표인 33.481416, 126.497126은 지오해시 알고리즘을 이용하면 도 11에서와 같은 vcyqx0 지오해시 코드로 변환된다.The GPS coordinates 33.481416 and 126.497126 of the shop shown in the example in Fig. 10 are converted into the vcyqx0 geocode code as shown in Fig. 11 using the geocoding algorithm.

이미지들은 이미지 저장 디렉토리 하위에 wvcyqx0 라는 디렉토리에 저장되며, 오픈소스 이미지 검색엔진인 LIRE는 CEDD(Color and Edge Directivity Descriptor)알고리즘을 이용해 사전에 인덱싱된다. 추후 이미지 검색 시에 이 값을 이용해 유사도를 판단해 검색한다.Images are stored in a directory called wvcyqx0 under the image storage directory, and the open source image search engine, LIRE, is pre-indexed using the Color and Edge Directivity Descriptor (CEDD) algorithm. This value is used to judge the similarity and retrieve it at the time of image retrieval in the future.

데이터베이스 구축Database construction

도 12에서와 같이 데이터베이스 테이블을 구성하여 상점 정보를 저장 관리한다.12, a database table is constructed to store and manage store information.

- 관리자 정보 관련 테이블 구성- Configuration of the manager information related table

1.tb_users : 관리자 계정 테이블1.tb_users: administrator account table

(1) id : 사용자 번호   (1) id: user number

(2) email : 사용자 아이디(이메일 주소)   (2) email: user ID (email address)

(3) email_crc : 이메일 주소를 crc32한 값(이메일로 검색에 사용)   (3) email_crc: The value of the crc32 email address (used to search by email)

(4) password : 비밀번호, sha256으로 암호화해서 저장됨   (4) password: password, stored encrypted with sha256

(5) created : 계정 생성일   (5) created: account creation date

(6) updated : 계정 마지막 수정일   (6) updated: Account last modified

2. tb_roles : 관리자 권한이 있는 테이블2. tb_roles: tables with administrator privileges

(1) id : 관리자 역할 번호   (1) id: Administrator role number

(2) role : 관리자 역할(super admin, admin, viewer등)   (2) role: Administrator role (super admin, admin, viewer, etc.)

(3) description(관리자 권한 설명)   (3) description (administrator authority description)

(4) created : 생성일   (4) created: creation date

(5) updated : 마지막 수정일   (5) updated: Last modified

3. tb_user_authorities : 관리자에게 할당된 권한 관리 테이블3. tb_user_authorities: the authorization management table assigned to the administrator

(1) user_id : 관리자 번호   (1) user_id: administrator number

(2) role_id : 권한 id
(2) role_id: authority id

-상점 정보 관련 테이블- Store information related table

1.tb_stores : 상점 정보 테이블1.tb_stores: store information table

(1) id : 상점 번호   (1) id: store number

(2) name : 상점 이름   (2) name: store name

(3) summary : 상점 소개글   (3) summary: Introduction to the store

(4) addr : 상점 주소   (4) addr: store address

(5) gps_lat : GPS 위도   (5) gps_lat: GPS Latitude

(6) gps_lng : GPS 경도   (6) gps_lng: GPS longitude

(7) geohash : 헨 좌표의 geohash 값   (7) geohash: geohash value of hen coordinates

(8) operating_time : 영업 시간   (8) operating_time: business hours

(9) toilet_shared_inside : 공용 화장실 실내   (9) toilet_shared_inside: Public toilet room

(10) toilet_shared_outside : 공용 화장실 실외   (10) toilet_shared_outside: Shared toilet outside

(11) toilet_inside : 화장실 실내   (11) toilet_inside: bathroom interior

(12) toilet_outside : 화장실 실외   (12) toilet_outside: toilet outside

(13) toilet_stool : 화장실 양변기   (13) toilet_stool: toilet toilet seat

(14) toilet_direction : 수세식 화장실   (14) toilet_direction: flush toilet

(15) toilet_urinal : 화장실 소변기   (15) toilet_urinal: toilet urinal

(16) toilet_tissue : 화장실 휴지 여부   (16) toilet_tissue: toilet toilet paper

(17) toilet_clean : 화장실 청결 여부   (17) toilet_clean: Toilet cleanliness

(18) wifi : 와이파이 가능 여부   (18) wifi: Wi-Fi availability

(19) korean_food : 한식   (19) korean_food: Korean food

(20) chinese_food : 중식   (20) chinese_food: Chinese

(21) american_food : 양식   (21) american_food: Form

(22) japanese_food : 일식   (22) japanese_food: Japanese food

(23) cafe_food : 카페   (23) cafe_food: Cafe

(24) global_food : 세계음식   (24) global_food: world food

(25) flour_based_food : 분식   (25) flour_based_food: Fruit

(26) cate_solo : 1인   (26) cate_solo: 1 person

(27) cate_couple : 커플   (27) cate_couple: couple

(28) cate_family : 가족   (28) cate_family: Family

(29) cate_team : 단체   (29) cate_team: group

(30) cate_health : 건강 식단   (30) cate_health: Healthy diet

(31) cate_vegetable : 채식주의   (31) cate_vegetable: vegetarian

(32) main_image : 상점 메인 이미지   (32) main_image: store main image

(33) created : 생성일   (33) created: creation date

(34) updated : 마지막 수정일   (34) updated: last modified

(35) in_use : 상점정보 사용 여부
(35) in_use: Whether to use store information

2. tb_store_images : 상점 이미지 정보2. tb_store_images: store image information

(1) id : 상점 이미지 번호   (1) id: store image number

(2) path : 이미지 경로   (2) path: image path

(3) gps_lat : 이미지에 저장된 gps 위도   (3) gps_lat: gps latitude stored in the image

(4) gps_lng : 이미지에 저장된 gps 경도   (4) gps_lng: gps longitude stored in the image

(5) illumination : 사진 촬영 당시 휴대폰 조도 값   (5) illumination: the value of the cell phone illuminance

(6) orientation : 사진 촬영 당시 휴대폰의 가로 세로 방향   (6) orientation: The horizontal and vertical directions of the mobile phone

(7) magnetic : 사진 촬영 당시 휴대폰이 가리키는 방향   (7) magnetic: The direction the mobile phone points at the time of photography

(8) main_image : 상점 메인 이미지 여부   (8) main_image: whether the store main image

(9) tb_stores_id : 상점 번호
(9) tb_stores_id: Store number

3. tb_store_menus : 상점 메뉴 정보3. tb_store_menus: About store menu

(1) id : 메뉴 번호   (1) id: Menu number

(2) menu : 메뉴 이름   (2) menu: The menu name

(3) pungency : 매운맛 정도   (3) pungency: about spicy

(4) soumess : 신맛 정도   (4) soumess: about sour

(5) sweetness : 단맛 정도   (5) sweetness: sweetness

(6) saltiness : 짠맛 정도   (6) saltiness: salty taste

(7) price : 가격   (7) price

(8) image : 메뉴 사진   (8) image: menu picture

(9) created : 생성일   (9) created: creation date

(10) updated : 마지막 수정일   (10) updated: last modified

(11) tb_stores_id : 상점 번호
(11) tb_stores_id: store number

상점 정보와 이미지는 상점의 GPS좌표를 기준으로 지오해시 코드로 변환 후 그룹화해서 저장한다.
Store information and images are converted into geo code based on the GPS coordinates of the shop, and grouped and stored.

상점정보 검색 서버Store information search server

상점 정보 검색 서버는 사용자 스마트폰으로부터 전달받은 사진, GPS좌표, 나침반 방향, 조도센서 값 등을 이용해서 사용자가 전송한 사진이 어떤 상점인지 검색한다.The store information search server searches the store for the pictures transmitted by the user using the photos received from the user's smartphone, the GPS coordinates, the compass direction, and the illuminance sensor value.

사용자의 현재위치 GPS좌표가 33.481426, 126.497226일 경우 지오해시 알고리즘을 이용해 문자로 변경하면 "vcyqx0" 지오해시 코드가 된다.If the user's current location GPS coordinates are 33.481426, 126.497226, changing to a character using the geo-hash algorithm will result in a "vcyqx0" geo code.

이 지오해시 코드 값을 이용하여 이미지 검색 서버인 LIRE에 사용자가 전송한 사진과 기 수집된 사진 중 비슷한 사진 검색을 요청한다.Using the geocode code value, the user requests the similar image search between the user's transmitted image and the collected image to the image search server LIRE.

이미지 검색 서버는 사전에 구축된 이미지의 CEDD값과 현재 사용자가 보낸 CEDD값을 이용해 유사한 사진을 검색한다.The image search server retrieves similar pictures using the CEDD value of the pre-built image and the CEDD value sent by the current user.

검색된 사진의 주소를 이용해 데이터베이스에서 상점 정보를 찾아 사용자에게 전송한다. The shop information is retrieved from the database using the address of the retrieved picture and transmitted to the user.

만약 GPS의 오차로 인해 위치가 약간 다른 경우 지오해시 코드값인 wvcyq-*로 시작하는 값들의 경우 인접해 있는 위치라는 것을 의미한다. 이것을 이용하여 GPS값의 8방형을 추가로 검색한다.If the position is slightly different due to the GPS error, it means that the values starting with the geocode code value wvcyq- * are adjacent. This is used to further search for 8 squares of GPS values.

위 그림의 예시 상점의 지오해시 코드값(8개의 값)이 인접해 있다. 따라서 인접한 8개의 위치에서 추가로 이미지를 검색한다.The geo code value (8 values) of the example shop in the above figure is adjacent. Therefore, additional images are retrieved from eight adjacent positions.

GeohashGeohash

Geohash는 지리적 좌표를 인코딩하기 위한 시스템에 관한 것이다.Geohash relates to a system for encoding geographic coordinates.

Gustavo Niemeyer에 의해 개발된 geocoding 시스템이며 public domain에 배치된다.It is a geocoding system developed by Gustavo Niemeyer and placed in the public domain.

*geocoding : 위치정보지정. 주소 또는 연결된 도로단편의 지리적 좌표를 도출하기 위해 도로주소 또는 다른 지리적 요소를 도로데이터자료에 대응하여 매치시키는 소프트웨어 프로세스* geocoding: Specify location information. A software process that matches road addresses or other geographic elements to road data material to derive geographical coordinates of addresses or associated road segments

그것은 공간을 그리드 형태의 버킷으로 세분화하는 계층적 공간 자료 구조이며, Z-order(Z순서) 곡선, 일반적으로 space-filling(공간 채움) 곡선으로 알려진 많은 응용 프로그램 중 하나이다.It is a hierarchical spatial data structure that subdivides the space into grid-shaped buckets and is one of many applications known as Z-order (Z-order) curves, generally space-filling curves.

Geohash는 임의의 정밀도와 같은 특성과 그것의 사이즈를 줄이기 위해 점차적으로 특징을 코드의 마지막에서 제거하는 가능성을 제공한다.(그리고 점차적으로 정밀도를 잃는다.)Geohash provides features such as arbitrary precision and the ability to gradually remove features from the end of the code to reduce its size (and gradually lose precision).

점차적으로 정밀도가 저하되는 결과로서, 가까운 장소는 종종(항상은 아님) 비슷한 프리픽스를 제공할 것이다. 오랫동안 공유된 프리픽스는 가까운 두 곳이 있을 수 있다.
As a result of gradual degradation of precision, nearby places will often (but not always) provide a similar prefix. A long shared prefix can be two near.

ServiceService

웹사이트에서 참조사항을 다는데 더욱 편리하도록 유일하게 지구에 대한 위치를 확인하는 짧은 URL을 제공하는 것이다.It is the only way to provide a short URL that identifies your location on the Earth so that it is more convenient for you to reference it on your website.

Geohash를 획득하기 위해, 사용자는 한 개의 입력란에, 지리정보 부호화 또는 위도와 경도 좌표 주소를 제공(가장 일반적으로 위도와 경도 쌍에 사용한 포맷이 받아들여진다.)하고, 요구를 수행한다.To obtain Geohash, the user provides geographic information encoding or latitude and longitude coordinate addresses (most commonly the format used for latitude and longitude pairs are accepted) in one field and performs the request.

위도와 경도가 주어진 geohash에 해당한다는 것을 보여주는 것 외에, geohash.org에 geohash에 navigate하는 사용자는 또한 내장된 지도를 제출받고, GPX 파일을 다운로드하거나, 직접적으로 웨이 포인트를 일정한 GPS 수신기로 전송할 수 있다. 링크는 또한 특정 장소의 주위에 있는 더 많은 세부사항을 공급할 수 있는 외부 사이트에 제공된다.In addition to showing that latitude and longitude correspond to a given geohash, users navigating to geohash at geohash.org can also submit embedded maps, download GPX files, or directly transfer waypoints to a GPS receiver . Links are also provided on external sites that can supply more details around a particular place.

예를들어, 좌표 쌍 57.64911,10.40744(유틀란트 반도의 끝 근처, 덴마크)은 u4pruydqqvj의 다소 더 짧은 해시를 생성한다.
For example, the coordinate pair 57.64911,10.40744 (near the end of the Jutland peninsula, Denmark) produces a somewhat shorter hash of u4pruydqqvj.

UsesUses

Geohash의 주요 용도는 다음과 같다.The main uses of Geohash are as follows.

- 고유식별자로- By unique identifier

- 데이터베이스에 예를들어 소수점 데이터를 나타내는데- For example, to represent a decimal point data in a database

Geohash는 또한 geotagging을 위해 사용하도록 제안되었다.Geohash has also been suggested for use for geotagging.

데이터베이스에서 사용될 때, geohashed의 데이터 구조는 2가지 장점을 갖는다. 첫째, geohash에 의해 인덱스된 데이터는 인접 슬라이스 내의 지정된 직사각형 지역을 위한 모든 핵심 점을 가질 것이다.(슬라이스의 수는 요구되는 정밀도 및 geohash와 “결함 라인”의 존재에 의존한다.) 이것은 특히 단일 인덱스 쿼리가 다중인덱스 쿼리들보다 훨신 더 쉽거나 빠른 데이터 베이스 시스템에 유용하다. 둘째, 이 인덱스 구조는 빠르고 간편한 근접 검색을 위해 사용될 수 있다: 가장 가까운 점들은 종종 가장 가까운 geohash들 중에 있다.
When used in a database, the data structure of geohashed has two advantages. First, the data indexed by geohash will have all the key points for the specified rectangular area in the adjacent slice (the number of slices depends on the required precision and the existence of the "fault line" with geohash) Queries are much easier or faster in database systems than multi-index queries. Second, this index structure can be used for fast and easy proximity searches: the closest points are often among the nearest geohash.

DesignDesign

첫번째 단계는 다음과 같은 캐릭터 맵을 사용하여 베이스 32로부터 그것을 디코딩하고 있다.The first step is decoding it from base 32 using the following character map.

DecimalDecimal 00 1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 Base 32Base 32 00 1One 22 33 44 55 66 77 88 99 bb cc dd ee ff gg

DecimalDecimal 1616 1717 1818 1919 2020 2121 2222 2323 2424 2525 2626 2727 2828 2929 3030 3131 Base 32Base 32 hh jj kk mm nn pp qq rr ss tt uu vv ww xx yy zz

01101 11111 11000 00100 00010(ezs42) 비트의 작업 결과. 홀수 비트가 위도 코드(101111001001)에 대해 수행되는 동안 짝수비트 경도코드(0111110000000)에 대한 카운팅은 왼쪽 0에서부터 시작한다고 가정한다.01101 11111 11000 00100 Operation result of 00010 (ezs42) bits. It is assumed that the counting for the even bit longitude code (0111110000000) starts from the left 0 while the odd bit is performed for the latitude code (101111001001).

각각의 바이너리코드는 다시 좌측으로부터 우측으로 동시에 하나의 비트를 고려하면서 분할의 연속에 사용된다. 위도 값을 위해 -90부터 +90 을 2로 나눠 2구간을 생성한다: -90 ~ 0과 0 ~ 90Each binary code is again used for successive partitions while considering one bit from left to right at the same time. For latitude values, create two segments by dividing -90 to +90 by 2: -90 to 0 and 0 to 90

첫번째 비트가 1이기 때문에 더 높은 구간을 선택하고, 현재의 간격이 된다. 절차는 코드의 모든 비트들에 대해 반복된다. 마지막으로, 위도 값 생성 간격의 중심이다. 경도는 초기 간격이 -180 에서 +180이라는 것을 염두에 두고, 동등한 방법으로 처리된다.Since the first bit is 1, the higher interval is selected and the current interval. The procedure is repeated for all the bits of the code. Finally, it is the center of the latitude value generation interval. The hardness is treated in an equivalent way, with the initial spacing being between -180 and +180.

절차를 마무리하면 대략 위도 42.6과 경도 -5.6을 산출한다.At the end of the procedure, calculate approximately latitude 42.6 and longitude -5.6.

여기 42.6을 101111001001 로 디코딩하는 작업 예가 있다. 우선 우리는 위도가 -90에서 90 범위 어딘가에 있다는 것을 안다. 어떤 비트 없이, 우리는 +-90의 오류를 갖는 위도가 0이었다고 가정하여야 할 것이다. 하나의 비트로 우리는 -90 부터 0 또는 0 부터 90 범위안에 있다고 결정할 수 있다. 첫번째 비트가 높기 때문에 우리는 우리의 위도가 0과 90 사이에 어딘가에 있다는 것을 안다. 더 이상의 비트 없이, 우리는 우리에게 +-45의 오류를 주면서 위도가 45였다고 가정한다. Here is an example of decoding 42.6 to 101111001001. First we know that latitude is somewhere in the range -90 to 90. Without any bits, we should assume that the latitude with an error of + -90 was zero. With one bit we can determine that it is in the range from -90 to 0 or from 0 to 90. Because the first bit is high, we know that our latitude is somewhere between 0 and 90 degrees. Without any more bits, we assume we have a latitude of 45, giving us an error of -45.

이후의 각 비트는 이 오류를 이등분한다. 이 표는 각 비트의 효과를 보여준다. 각각의 단계에 범위의 적절한 절반은 녹색으로 강조된다; low 비트는 아래 범위를 선택한다, high 비트는 상위 범위를 선택한다. 마지막 열은 위도, 간단하게 범위의 평균 값을 보여준다. 이후의 각 비트는 이 값을 더 정확하게 한다. Each subsequent bit bisects this error. This table shows the effect of each bit. The appropriate half of the range for each step is highlighted in green; The low bit selects the range below, the high bit selects the upper range. The last column shows the latitude, simply the average value of the range. Each subsequent bit makes this value more accurate.

bitbit minmin midmid maxmax valval errerr 1One -90.000-90,000 0.0000.000 90.00090,000 45.00045,000 45.00045,000 00 0.0000.000 45.00045,000 90.00090,000 22.50022.500 22.50022.500 1One 0.0000.000 22.50022.500 45.00045,000 33.75033.750 11.25011.250 1One 22.50022.500 33.75033.750 45.00045,000 39.37539.375 5.6255.625 1One 33.75033.750 39.37539.375 45.00045,000 42.18842.188 2.8132.813 1One 39.37539.375 42.18842.188 45.00045,000 43.59443.594 1.4061.406 00 42.18842.188 43.59443.594 45.00045,000 42.89142.891 0.7030.703 00 42.18842.188 42.89142.891 43.59443.594 42.53942.539 0.3520.352 1One 42.18842.188 42.53942.539 42.89142.891 42.71542.715 0.1760.176 00 42.53942.539 42.71542.715 42.89142.891 42.62742.627 0.0880.088 00 42.53942.539 42.62742.627 42.71542.715 42.58342.583 0.0440.044 1One 42.53942.539 42.58342.583 42.62742.627 42.60542.605 0.0220.022

표 3에 있는 번호는 명확성을 위해 소수 32자릿수로 반올림함The numbers in Table 3 are rounded to 32 decimal places for clarity.

최종 라운딩 방법으로 주의 깊게 다음과 같은 방법으로 수행되어한다.The final rounding method should be carefully performed in the following manner.

Min ≤ round(value) ≤ maxMin ≤ round (value) ≤ max

그래서 42.605에서 42.61 또는 42.6이 정확한 라운딩이다, 43까지 라운딩하는 것은 아니다.So at 42.605, 42.61 or 42.6 is the correct rounding, not rounding to 43.

Geohash
length
Geohash
length
Lat bitsLat bits Lng bitsLng bits Lat errorLat error Lng errorLng error Km errorKm error
1One 22 33 ± 23± 23 ± 23± 23 ± 2500± 2500 22 55 55 ± 2.8± 2.8 ± 5.6± 5.6 ± 630± 630 33 77 88 ± 0.70± 0.70 ± 0.7± 0.7 ± 78± 78 44 1010 1010 ± 0.087± 0.087 ± 0.18± 0.18 ± 20± 20 55 1212 1313 ± 0.022± 0.022 ± 0.022± 0.022 ± 2.4± 2.4 66 1515 1515 ± 0.0027± 0.0027 ± 0.0055± 0.0055 ± 0.61± 0.61 77 1717 1818 ± 0.00068± 0.00068 ±0.00068± 0.00068 ± 0.076± 0.076 88 2020 2020 ±0.000085± 0.000085 ±0.00017± 0.00017 ± 0.019± 0.019

Geohash 알고리즘의 한가지 한계는 공통 프리픽스를 기반으로 서로에 근접한 지점을 발견하기 위한 시도에 그것을 이용하는 것이다. 에지의 경우 위치정보는 서로 구분되지만 180도 자오선의 양측에 어떤 공통 프리픽스 없이 geohash 코드의 결과가 될 것이다.(주변의 물리적 위치에 대해 서로 다른 경도) points는 북극과 남극에 의해 구분되는 매우 다른 geohash를 가지고 있을 것이다.(주변의 물리적 위치에 대해 서로 다른 경도)One limitation of the Geohash algorithm is that it utilizes it in an attempt to find points close to each other based on a common prefix. In the case of the edges, the position information is separated from each other, but will result in a geohash code without any common prefix on either side of the 180 degree meridian (different hardnesses for the surrounding physical locations). Points are very different geohash (Different hardnesses for the surrounding physical locations).

그들은 세계의 다른 ‘절반에’ 속하기 때문에 적도(또는 그리니치 자오선)의 양쪽에 두개의 가까운 위치는 긴 공통 프리픽스를 가지고 있지 않을 것이다. 간단히 말해 하나의 위치의 바이너리 위도(또는 경도는) 011111…과 다른 100000..이 될 것이다, 따라서 그들이 공통 프리픽스를 가지고 있지 않을 것이고 대부분의 비트가 반전될 것이다. 이것은 또한 근접한 2개의 포인트가 매우 다른 시간에 방문될지도 모르는 것처럼, 이것은 포인트를 순서화하기 위해 Z-order 곡선(어느것이 더 적절한지 이 경우에 N-order 방문으로 불렸다)에 의존하는 것의 결과로 보일 수 있다. 그러나 긴 공통 프리픽스를 가진 2개 포인트는 인접할 것이다.Two close places on either side of the equator (or Greenwich meridian) will not have a long common prefix because they belong to another 'half' of the world. Simply put, the binary latitude (or longitude) of one position is 011111 ... And the other 100000 .., so they will not have a common prefix and most of the bits will be inverted. This can also be seen as a result of relying on the Z-order curve (which is more appropriate, in this case referred to as N-order visit) to order the points, as two nearby points may be visited at very different times have. However, two points with a long common prefix will be contiguous.

근접 겁색을 하기위해, 하나는 바운딩 박스의 남서쪽 코너(낮은 위도와 경도를 갖는 낮은 geohash)와 북동쪽 코너(높은 위도와 경도를 갖는 높은 geohash)를 계산하고, 이 둘 사이의 geohash를 검색할 수 있다. 이것은 너무 많은 포인트가 될 수 있는 두 코너 사이의 z-order 곡선의 모든 포인트를 검색할 것이다. 또한 180 자오선과 극점에서 breaks down 된다. Solr는 geohash에 근접한 가장 가까운 정사각형의 프리픽스를 계산함으로써 프리픽스의 필터 목록을 사용한다.For proximity probing, one can calculate the southwest corner (low geohash with low latitude and longitude) and the northeast corner (high geohash with high latitude and longitude) and search for a geohash between them . This will search all points in the z-order curve between the two corners, which can be too many points. It also breaks down at the 180 meridian and pole. Solr uses the filter list of the prefix by calculating the closest square prefix close to the geohash.

셋째, geohash(이 구현에서)는 경도와 위도의 좌표를 기반으로 하기 때문에 두 geohash사이의 거리는 위도/경도에서 거리가 2개 포인트 사이의 좌표가 대등하게 되는 것으로 생각할수 있으며, 그것은 Haversine 공식을 보면 실제 거리로 해석하지 않는다.Third, because geohash (in this implementation) is based on longitude and latitude coordinates, the distance between the two geohashes can be thought of as the distance between two points in latitude / longitude being equalized, Do not interpret it as actual distance.

위도-경도 시스템을 위한 비선형성의 예:Examples of nonlinearities for latitude-longitude systems:

-적도(0도)에 경도의 도의 길이가 111.320km 인 반면, 위도의 도는 110.574km, 0.67%의 에러- The length of the longitude is 111.320 km at equator (0 degree), while the latitude is 110.574km, 0.67% error

-30도(중분위도)에 에러는 110.852/96.486=14.89% 이다.At -30 degrees (latitude and longitude), the error is 110.852 / 96.486 = 14.89%.

-60도(높은 북극)에서 극에 무한대에 도달하면서 에러는 111.412/55.800=99.67%이다.The error reaches 111.412 / 55.800 = 99.67% while reaching infinite pole at -60 degrees (high north pole).

Note : 이러한 제한은 geohashing때문도 아니고, 위도-경도 좌표때문도 아니다. 그러나 2개의 차원 좌표에 대한 구체 위의 매핑 좌표의 어려움(비선형과 모듈로 연산과 유사한 값을 감싸는 것)과 균일하게 2개의 차원적인 공간을 연구하는 어려움 때문이다. 첫번째는 Hilbert 곡선과 z-order 곡선에 지리 좌표계와 맵 프로젝션 및 다른 것과 관련된다. 일단 거리에 선형으로 포인트를 나타내고 에지들을 감싸고 균일하게 연구될 수 있는 좌표 시스템이 발견되면, geohashing을 그 좌표에 응용하는 것은 위의 제한으로 고생하지 않을 것이다.Note: This restriction is not due to geohashing or latitude-longitude coordinates. However, this is due to the difficulty of mapping coordinates on a sphere for two-dimensional coordinates (wrapping non-linear and modulo-similar values) and the difficulty of studying two-dimensional space uniformly. The first relates to Hilbert curves and z-order curves with geographic coordinates and map projection and others. Once we find a coordinate system that can point to a distance linearly and surround the edges and be studied uniformly, applying geohashing to that coordinate will not suffer from the above limitations.

직교 좌표계(Cartesian coordinate system: 데카르트좌표계)를 가진 지역에 geohashing 이 적용되는 것이 가능해지면, 그것은 그 후에 좌표 시스템이 적용되는 지역에 적용될 것이다.When geohashing is enabled to be applied to an area with a Cartesian coordinate system, it will then be applied to the area to which the coordinate system is applied.

이러한 문제에도 불구하고, 가능한 해결 방법이 있고 알고리즘은 근접 검색을 구현하기 위해 성공적으로 Elasticsearch와 MongoDB, HBase, 그리고 accumulo에서 사용되었다.Despite these problems, there are possible solutions and algorithms have been used successfully in Elasticsearch, MongoDB, HBase, and accumulo to implement proximity search.

데이터베이스의 문자열로 geohashes를 저장하는 대안은 지역적 코드이며, 또한 호출된 공간키 그리고 QuadTiles와 유사하다.
The alternative to storing geohashes as a string in the database is a localized code, also called a space key and similar to QuadTiles.

정리theorem

- Geohash는 지리적 공간좌표를 Encoding(geocoding)하기 위한 시스템- Geohash is a system for encoding (geocoding) geographic spatial coordinates

- 공간을 그리드 형태의 버팃으로 세분화하는 계층적 공간 자료구조 제공- Hierarchical spatial data structure that subdivides space into grid type

지구를 32개 셀로 구분(4 rows, 8columns)   Divide the earth into 32 cells (4 rows, 8columns)

-2008년 2월 런칭. e-mail, forums, websites에서 지리좌표에 대한 위치를 확인할 수 있는 짧은 URL을 제공- Launched in February 2008. Provides short URLs for e-mail, forums, and websites to locate geographical coordinates

위도/경도 좌표쌍 57.64911, 10.40744의 경우 u4pruydqqvj 형태의 geohash 값으로 표현For latitude / longitude coordinate pairs 57.64911 and 10.40744, expressed as a geohash value of u4pruydqqvj

도 14에서처럼 지구전체를 4 rows, 8 columns로 세분화한다. 현재 사용자의 위치를 표현하기 위해서는 각 세분화된 구간을 다시 4 rows, 8 columns로 세분화해서 표현한다. 위 과정을 최대 12번 반복하여 지리좌표를 표현가능하다. 즉 12자리의 코드로 표현한다.As shown in FIG. 14, the entire earth is divided into 4 rows and 8 columns. To represent the current user's position, each subdivided segment is further subdivided into 4 rows and 8 columns. The above procedure can be repeated up to 12 times to express the geographical coordinates. That is, it is represented by 12-digit code.

32-base code를 Z-link Order 방식으로 배치하는 방법을 사용한다.The 32-base code is arranged by Z-link Order method.

도 14에서 32-base code의 배치는 도 15에서와 같은 Z-link Order 에 의해 설정된 결과이다.In FIG. 14, the arrangement of the 32-base code is the result set by the Z-link Order as shown in FIG.

Geohash는 공간지리좌표(위도/경도쌍)를 32개의 버킷으로 분류하여 표현하므로 정확한 한 점을 나타낼 수 없다. 그러나 32개 버킷으로 분류하는 횟수를 증가시켜 오차범위를 충분히 낮출 수 있다. Geohash can not represent a precise point because it expresses spatial geographic coordinates (latitude / longitude pairs) into 32 buckets. However, by increasing the number of buckets divided into 32 buckets, the error range can be reduced sufficiently.

도 16에서의 표는 Geohash의 분류 횟수에 따른 공간지리좌표의 버킷 크기를 나타낸다.The table in FIG. 16 shows the bucket size of spatial geographic coordinates according to the number of classification of Geohash.

Level 12까지 표현할 경우 3.7cm x 1.8cm 크기의 버킷으로 사람이 위치하고 있는 공간지리좌표를 표현하는데 있어 충분한 정확도를 나타낼 수 있다.When expressed in Level 12, the 3.7 cm x 1.8 cm bucket can be of sufficient accuracy to represent spatial geographical coordinates in which a person is located.

본 발명에 따른 알고리즘은 GPS값(위도/경도)을 Geohash 로 인코드/디코드 하는 방법으로 기본 아이디어는 binary tree를 구성하는 방법과 같다.The algorithm according to the present invention is a method of encoding / decoding GPS values (latitude / longitude) into Geohash, and the basic idea is the same as a method of constructing a binary tree.

먼저 위도와 경도의 범위를 다음과 같이 설정한다.First, set the range of latitude and longitude as follows.

위도 : -90~90 (-90~0, 0~90 중간값인 0을 기준으로 2구간으로 분류한다.)Latitude: -90 to 90 (-90 to 0, 0 to 90 Classify into two sections based on the median 0)

경도 : -180~180 (-180~0, 0~180 위도와 마찬가지로 중간값인 0을 기준으로 2구간으로 분류한다.)Longitude: -180 ~ 180 (-180 ~ 0, 0 ~ 180).

변환하고자 하는 위도/경도 값이 포함되는 구간을 선택한다. 이때 작은 숫자가 포함된 구간을 하위구간(‘0’)으로, 큰 숫자가 포함된 구간을 상위구간(‘1’)으로 설정한다.Select the interval that contains the latitude / longitude value that you want to convert. In this case, the interval including a small number is set to a lower section ('0'), and the interval including a large number is set to an upper section ('1').

ex) -90~90 구간의 경우 90~0 구간을 하위구간(‘0’)으로 설정하고 0~90 인 구간을 상위구간(‘1’)로 설정한다. 같은 방법으로 0~90 구간의 경우 0~45를 하위구간(‘0’)으로 45~90을 상위구간(‘1’)로 설정한다.ex) In the case of -90 ~ 90 interval, set the 90 ~ 0 interval as the lower interval ('0') and the interval of 0 ~ 90 as the upper interval ('1'). In the same way, 0 to 45 are set to the lower section ('0') and 45 to 90 are set to the upper section ('1') for 0 to 90 sections.

설정된 구간을 다시 2구간으로 분류한 후 변환하고자 하는 위도/경도 값이 포함되는 구간을 선택한다. 위 과정을 반복하여 위도/경도 값에 가장 근사한 값이 될 때까지 반복하여 binary값을 생성한다.After dividing the set interval into two sections, the section including the latitude / longitude value to be converted is selected. Repeat the above procedure to create a binary value until it is the closest to the latitude / longitude value.

위도와 경도에 대해 binary 값을 생성한 후 위도/경도값을 재배열한다. 재배열하는 방법은 위도는 홀수비트로, 경도는 짝수비트로 배열을 한다.Generate binary values for latitude and longitude and then rearrange latitude / longitude values. The rearrangement method arranges the latitude to odd bits and the hardness to even bits.

ex) 위도에 대한 binary가 ‘00000’ 이라 가정하고, 경도에 대한 binary 가 ‘11111’이라고 가정했을 때 재배열은 1010101010 이 된다.ex) Assuming binary for latitude is '00000' and binary for hardness is '11111', rearrangement is 1010101010.

위도/경도를 재배열 한 후에는 Base32 코드표에 따라 Geohash로 표현하기 위해 5bits씩 묶어서 코드를 만든다.
After rearranging the latitude / longitude, create code by grouping 5 bits to represent Geohash according to the Base32 code table.

다음 그림은 순천향대학교 멀티미어관의 GPS값을 Geohash로 변환된 결과를 보여준다. 그리고 위 알고리즘에 따라 25bits의 Geohash로 변환하는 과정을 설명한다.The following figure shows the result of converting the GPS value of Sohchunhyang Multimedia Center into Geohash. And we explain the process of converting 25 bits into Geohash according to the above algorithm.

도 17은 순천향대학교 멀티미어관의 GPS값을 Geohash로 변환된 결과를 보여준다. 그리고 위 알고리즘에 따라 25bits의 Geohash로 변환하는 과정을 설명한다.FIG. 17 shows the result of converting the GPS value of the multimedia center of Soonchunhyang University into Geohash. And we explain the process of converting 25 bits into Geohash according to the above algorithm.

위 그림은 google 지도에서 순천향대학교 멀티미디어관의 한 지점에 대해 GPS 값을 얻은 후 geohash.org 사이트에서 geohash 값으로 변환한 값을 보여준다.The above figure shows the value converted from the geohash.org site to the geohash value after obtaining the GPS value for one point of Soonchunhyang University Multimedia Hall on google map.

geohash.org 사이트 초기화면에서는 Coordinates 에 순천향대학교 멀티미디어관의 GPS 값(36.769033, 126.934728)을 기입한 후 Go 버튼을 누르면 위와 같이 geohash값(wyd30mx51s93)을 보여주고 아래는 google 지도로 해당 위치를 보여준다.In the initial screen of geohash.org site, enter the GPS value (36.769033, 126.934728) of the Soonchunhyang University Multimedia Hall on the Coordinates and press the Go button to display the geohash value (wyd30mx51s93) as shown above.

encoding 알고리즘을 이용하여 순천향대학교 멀티미디어관의 GPS값(위도:36.769033, 경도:126.934728)을 geohash 값으로 변환되는 과정을 step별로 살펴본다. 위 사이트에서는 12Level까지 변환하였으나 알고리즘이 어떻게 진행되어 변환되는지의 과정을 파악하는 정도로 5Level 5자리 코드까지 과정을 살펴본다.encoding algorithm is used to convert the GPS value (latitude: 36.769033, longitude: 126.934728) of the multimedia center of Soonchunhyang University into the geohash value step by step. In the above site, we convert from 12Level to 5Level to 5-digit code so that we can understand how the algorithm is proceeded and transformed.

순천향대학교 멀티미디어관 위도 36.769033, 경도 126.934728 에 대한 encoding 과정, precision = 25 로 설정 (25bits)The encoding process for Sohn Chunhyang University Multimedia Center latitude 36.769033 and longitude 126.934728, set to precision = 25 (25 bits)

위도 36.769033Latitude 36.769033

step 1 : range = [-90, 90], middle = 0, return 1step 1: range = [-90, 90], middle = 0, return 1

step 2 : range = [0, 90], middle = 45, return 0step 2: range = [0, 90], middle = 45, return 0

step 3 : range = [0, 45], middle = 22.5, return 1step 3: range = [0, 45], middle = 22.5, return 1

step 4 : range = [22.5, 45], middle = 33.75, return 1step 4: range = [22.5, 45], middle = 33.75, return 1

step 5 : range = [33.75, 45], middle = 39.375, return 0step 5: range = [33.75, 45], middle = 39.375, return 0

step 6 : range = [33.75, 39.375], middle = 36.5625, return 1step 6: range = [33.75, 39.375], middle = 36.5625, return 1

step 7 : range = [36.5625, 39.375], middle = 37.96875, return 0step 7: range = [36.5625, 39.375], middle = 37.96875, return 0

step 8 : range = [36.5625, 37.96875], middle = 37.265625, return 0step 8: range = [36.5625, 37.96875], middle = 37.265625, return 0

step 9 : range = [36.5625, 37.265625], middle = 36.9140625, return 0step 9: range = [36.5625, 37.265625], middle = 36.9140625, return 0

step 10 : range = [36.5625, 36.9140625], middle = 36.73828125, return 1step 10: range = [36.5625, 36.9140625], middle = 36.73828125, return 1

step 11 : range = [36.73828125, 36.9140625], middle = 36.826171875, return 0step 11: range = [36.73828125, 36.9140625], middle = 36.826171875, return 0

step 12 : range = [36.73828125, 36.826171875], middle = 36.73822265625, return 0step 12: range = [36.73828125, 36.826171875], middle = 36.73822265625, return 0

위도 binary = 101101000100Latitude binary = 101101000100

경도 126.934728Hardness 126.934728

setp 1 : range = [-180, 180], middle = 0, return 1setp 1: range = [-180, 180], middle = 0, return 1

setp 2 : range = [0, 180], middle = 90, return 1setp 2: range = [0, 180], middle = 90, return 1

setp 3 : range = [90, 180], middle = 135, return 0setp 3: range = [90, 180], middle = 135, return 0

setp 4 : range = [90, 135], middle = 112.5, return 1setp 4: range = [90, 135], middle = 112.5, return 1

setp 5 : range = [112.5, 135], middle = 123.75, return 1setp 5: range = [112.5, 135], middle = 123.75, return 1

setp 6 : range = [123.75, 135], middle = 129.375, return 0setp 6: range = [123.75, 135], middle = 129.375, return 0

setp 7 : range = [123.75, 129.375], middle = 126.5625, return 1setp 7: range = [123.75, 129.375], middle = 126.5625, return 1

setp 8 : range = [126.5625, 129.375], middle = 127.96875, return 0setp 8: range = [126.5625, 129.375], middle = 127.96875, return 0

setp 9 : range = [126.5625, 127.96875], middle = 127.265625, return 0setp 9: range = [126.5625, 127.96875], middle = 127.265625, return 0

setp 10 : range = [126.5625, 127.265625], middle = 126.9140625, return 1setp 10: range = [126.5625, 127.265625], middle = 126.9140625, return 1

setp 11 : range = [126.9140625, 127.265625], middle = 127.08984375, return 0setp 11: range = [126.9140625, 127.265625], middle = 127.08984375, return 0

setp 12 : range = [126.9140625, 127.08984375], middle = 127.001953125, return 0setp 12: range = [126.9140625, 127.08984375], middle = 127.001953125, return 0

setp 13 : range = [126.9140625, 127.001953125], middle = 126.9580078125, return 0setp 13: range = [126.9140625, 127.001953125], middle = 126.9580078125, return 0

경도 binary = 1101101001000Longitude binary = 1101101001000

경도=짝수배열, 위도=홀수배열로 변환 (경도위도경도위도...)Longitude = even number array, latitude = odd number array (longitude latitude longitude latitude ...)

11100 11110 01100 00011 0000 -> Base32코드표로 변환 => wyd3011100 11110 01100 00011 0000 -> Convert to Base32 code table => wyd30

geohash.org로부터 변환된 geohash 값을 보면 wyd30mx51s93 이고, 위 알고리즘을 손으로 변환된 과정의 결과를 보면 wyd30으로 5level 까지 변환된 값이 같음을 확인할 수 있다. 이는 12level 즉, 60bits(위도 30단계, 경도 30단계) 까지 계산해보면 동일한 결과를 얻을 수 있음을 확인한 것이다.The converted geohash value from geohash.org is wyd30mx51s93, and the result of the hand-converted process of the above algorithm can be confirmed that wyd30 is converted to 5level. It is confirmed that the same result can be obtained by calculating up to 12level, that is, 60 bits (latitude 30 steps, hardness 30 steps).

decodeing 과정도 위와 동일한 과정을 거치는데, 차이점이 있다면 encoding 과정은 GPS 좌표값을 가지고 bits를 구성하는 과정이고 decoding 과정은 각 비트들을 이용해서 최종단계의 middle 값을 추출해서 GPS 좌표값을 복원해 내는 과정이다.The decode process is the same as above. If there is a difference, the encoding process is the process of constructing the bits with GPS coordinates. The decoding process extracts the middle value of the final stage by using each bit and restores the GPS coordinates. Process.

Geohash 의 개념에서 살펴봤듯이 geohash는 32개의 버킷으로 구분한 중간 값을 취하기 때문에 encoding 후 다시 decoding을 거치면 약간의 오차가 발생할 수 있다. 그러나 level 12단계까지 encoding 할 경우 그 오차는 3.8cm x 1.8cm 범위에 있기 때문에 사람의 위치 정보를 표현하기에 충분히 가능한 오차범위에 있다고 판단할 수 있다.As we have seen in the concept of Geohash, geohash takes an intermediate value separated by 32 buckets, so decoding may cause some errors. However, when the encoding is performed up to level 12, the error is in the range of 3.8 cm x 1.8 cm, so it can be judged that the error range is sufficiently within the range of representing the human position information.

수집된 식당 및 관광지의 GPS 좌표값 및 각종 정보(식당개요, 식당 간판 이미지, 식당 대표메뉴 이미지, 화장실 유무, 주차유무, 맛 정보, 관광지 이미지 등)를 사용자가 스마트폰으로 촬영한 이미지와 비교하여 사용자의 스마트폰에 식당 및 관광지의 정보를 제공해야 한다. 이때, 사용자 스마트폰의 GPS 좌표값을 이용하여 가장 근접해 있는 식당 및 관광지들의 정보를 찾아야 한다.GPS coordinate values and various information (restaurants overview, restaurant signboard image, restaurant representative menu image, presence of toilet, presence of parking, taste information, sightseeing spot image, etc.) of collected restaurants and tourist sites are compared with images taken by a user on a smart phone Provide information on restaurants and tourist attractions to your smartphone. At this time, it is necessary to find the information of restaurants and sightseeing places that are closest to each other by using the GPS coordinate value of the user smart phone.

기 수집된 식당 및 관광지의 GPS 좌표값과 사용자 스마트폰의 GPS 좌표값 사이에 오차가 발생하기 때문에 동일한 GPS 좌표값으로 검색하는데 문제가 발생한다. 이는 GPS 좌표값은 최고해상도로 표현했을 때, cm단위로 표현이 된다. 동일한 GPS 좌표값을 찾기는 불가능에 가까울 수 있다. 따라서 이러한 문제를 해결하기 위해 GPS 좌표값을 Geohash코드로 변환하여 이용하면 수cm~ 수십m 크기의 버킷(구역)으로 구분할 수 있다. 이렇게 버킷으로 구분할 경우 사용자 스마트폰의 GPS값과 기 수집된 식당 및 관광지의 GPS 값이 동일한 버킷으로 표현이 가능하다. 동일한 버킷에 존재하는 식당 및 관광지의 정보들 중에서 사용자가 촬영한 이미지 정보를 비교하면 검색시간을 최소화 할 수 있다.There is an error between the GPS coordinate value of the collected restaurant and the tourist spot and the GPS coordinate value of the user smartphone, so that there is a problem in searching with the same GPS coordinate value. This is expressed in cm when GPS coordinates are expressed in full resolution. Finding the same GPS coordinate value may be close to impossible. Therefore, in order to solve this problem, GPS coordinates can be converted into Geohash codes and classified into buckets (zones) ranging from several centimeters to several tens of meters in size. In this case, the bucket indicates that the GPS value of the user's smartphone is the same as the GPS value of the collected restaurant and tourist spot. The search time can be minimized by comparing the image information taken by the user among the information of restaurants and sightseeing places existing in the same bucket.

여기에서도 문제는 발생한다. 군사용 목적이 아닌 일반 사용자의 스마트폰 GPS의 정확도는 오차가 발생하기 때문에 버킷의 크기를 최적화하여 설정하는 것이 가장 중요한 부분이 될 것이다.The problem also occurs here. It is most important to optimize the size of the bucket because the accuracy of the smartphone GPS of the general user, not the military purpose, is error-prone.

어떤 크기의 버킷 사이즈를 설정해야 유리할 지를 테스트하기 위해서 몇몇 스마트폰을 이용하여 GPS 의 오차범위를 판단해 봐야 할 것이다.In order to test which size of bucket size would be advantageous, some smart phones should be used to determine the error range of the GPS.

다음 그림은 스마트폰의 GPS 오차범위를 테스트하기 방안이다.The following figure shows how to test the GPS error range of smartphone.

기준점 한곳에서만 GPS좌표를 측정한다면 실제 지도상의 GPS좌표와의 오차가 얼마나 발생하는지 알 수 없다. 그러나 기준점으로부터 지점2, 지점3, 지점4, 지점5까지 4군데 지점의 GPS좌표를 측정하여 기준점으로부터 떨어진 거리를 측정하면 해당 스마트폰의 오차범위를 알 수 있을 것이다.If you measure the GPS coordinates only at one reference point, you can not know how much error occurs with the GPS coordinates on the actual map. However, measuring the GPS coordinates of 4 points from the reference point to the point 2, 3, 4, and 5, and measuring the distance from the reference point, the error range of the corresponding smartphone will be known.

따라서, 기준점으로부터 지점2, 지점3, 지점4, 지점5의 거리를 5M, 10M, 30M, 50M 떨어진 거리를 실측하여 정하고, 각 지점에서의 GPS좌표를 측정하여 오차범위를 테스트한다.Therefore, the distances of 5M, 10M, 30M, and 50M from the reference point to the points 2, 3, 4, and 5 are measured and GPS coordinates at each point are measured to test the error range.

본 발명에 따른 실험 결과 전반적으로 짧은 실측거리에서의 측정결과가 오차범위가 작아 보이는 경향이 있고, 스마트폰의 GPS모드 중에서 높은정확도 설정보다는 Only GPS 모드(GPS 수신칩의 측정값만 사용)를 사용했을 때가 오차범위가 더 작게 나오는 것을 확인하였다.As a result of the experiment according to the present invention, there is a tendency that the error range is small in the measurement results at a short distance and the only GPS mode (only the GPS measurement value is used) rather than the high accuracy setting in the GPS mode of the smartphone And that the error range is smaller than that when it is used.

단순 테스트 결과로 유추했을 경우 스마트폰의 Only GPS 모드를 사용하면 10M 오차 범위로 대략 30M x 30M 사이즈의 버킷을 설정하여 빠른 검색을 할 수 있을 것으로 예상된다.As a result of the simple test, if the smartphone's only GPS mode is used, it will be possible to set up a bucket of about 30M x 30M with a 10M error range for quick search.

Geohash 의 Level에 따른 버킷 사이즈를 보면 Level 8(38.2M x 19.1M) 사이즈로 설정하면 대부분 동일 구역 안에서 검색이 이루어 질 것으로 예상된다.If you look at the bucket size according to the level of Geohash, it is expected that search will be done mostly in the same area if you set it to Level 8 (38.2M x 19.1M) size.

위의 실측거리 테스트는 시판되고 있는 모든 폰에 대해서 할 수 있으면 최선이겠으나, 현실적으로 불가능하므로 좀 더 다양한 폰을 사용하고, 충분히 많은 횟수, 주변환경이 다른 다양한 장소에서 테스트를 진행해야 할 것이다.The above distance test will be best if it is possible to do all the phones that are available in the market, but it will not be practically possible, so you will have to use more phones and test it in a variety of places with plenty of times and different environments.

사용자가 촬영한 제주도내의 식당 및 관광지의 이미지를 비교하기 위해서는 미리 수집된 식당 및 관광지의 이미지들이 반드시 필요하다.In order to compare the images of restaurants and sightseeing places in Cheju Island, images of restaurants and sightseeing sites collected in advance are necessary.

DSLR(Digital Single-Lens Reflex) 카메라 또는 일반 디지털 카메라 등으로 촬영을 한 후 편집과정을 거칠 경우 추가적인 장비를 필요로 한다. GPS 좌표 값 추출을 위해 GPS 전용장비를 이용하여 식당 및 관광지의 정보를 수집한다. 수집된 GPS 값을 식당 및 관광지 이름과 매칭 시키기 위한 과정을 수기 또는 메모 가능한 기기를 이용하여 기록해야하는 번거로움이 발생한다.DSLR (Digital Single-Lens Reflex) camera or general digital camera, etc., and additional equipment is required when editing. To extract GPS coordinate values, we use GPS-specific equipment to collect information on restaurants and sightseeing spots. It is troublesome to record the process of matching the collected GPS value with the name of the restaurant and the sightseeing place by using a device capable of taking notes or memos.

본 연구과제의 개발내용에는 포함되지 않은 부분이지만 자료 수집의 용이성을 위해 수집 앱을 다음과 같이 기획 한다.Although it is not included in the development contents of this research project, the collection app is planned as follows for easy data collection.

수집 앱(찍고찍고 찍어봐)의 전체 개발가능 범위 중 다음 사항은 반드시 필요한 부분임.The following items are indispensable for the entire development scope of the collection app (taking, taking, and taking pictures).

도 19는 수집 앱 개발 가이드 중 서비스 흐름도이다.19 is a service flow chart of the collected application development guide.

-앱 실행 시 GPS, 지자기센서를 자동으로 실행시킨다.- GPS and geomagnetic sensor are executed automatically when the app is running.

-촬영을 위해 카메라를 실행하고, 바로 촬영도 가능하고 카메라 설정도 가능해야한다.- You need to be able to run the camera for shooting, shoot immediately, and set the camera.

-카메라 설정에서는 촬영된 사진에 추가적으로 제공될 수 있는 정보들을 On/Off 할 수 있어야 된다.- In camera setting, it should be able to turn on / off the information that can be additionally provided to the photographed pictures.

-촬영된 이미지에 추가로 제공할 정보들은 다음과 같다.- The information to be provided to the photographed image is as follows.

GPS 좌표 값 (위도/경도 선택)GPS coordinate value (select latitude / longitude)

조도센서 값 (0~1023 범위 선택)Ambient light sensor value (range 0 ~ 1023)

지자기센서 동작 (방향각 표시 선택)Geomagnetic sensor operation (direction angle display selection)

촬영시 플래시 동작 (On/Off 선택)Flash operation (On / Off selection)

-식당 및 관광지에 대한 사물 촬영 시 다양한 위치에서 여러 개의 이미지를 촬영한 후 동일한 대상물로 선택할 수 있어야 한다. (1개 이상 이미지 촬영 가능할 것)- It is necessary to be able to shoot multiple images at various locations and then select the same objects when shooting objects for a restaurant or sightseeing spot. (At least one image must be available)

-식당 및 관광지에 대한 사물을 촬영하는 스마트 폰의 GPS 값에 대한 오차가 발생할 수 있으므로 정확한 위치를 설정할 수 있어야 한다.- It is necessary to be able to set the exact location because there may be errors in the GPS value of the smartphone that photographs things about restaurant and sightseeing spot.

-기본적으로 스마트폰의 GPS 값을 지도에서 확인 할 수 있어야 한다.- Basically, you should be able to see the GPS value of your smartphone on the map.

-현재 촬영하고 있는 위치와 스마트폰의 GPS 값에 의한 위치가 다를 경우 지도를 확대/축소, 이동하여 현재 위치를 보정 선택하여 저장 할 수 있어야 한다.- If the current location is different from the GPS location of the smartphone, the map should be enlarged / reduced, moved, and the current location should be selected and saved.

도 20은 수집 앱에 대한 초기 화면에 대한 설계내용이다.20 is a design content of the initial screen for the collected application.

부분은 앱 실행 시 보여지는 앱의 이름으로 찍어봐라는 앱 이름을 명시한다. img 영역에는 관련 일러스트 및 이미지를 사용하여 수집 앱 사용자에게 무엇을 하는 앱 인가에 대해 직관적으로 알려줄 수 있다. Part specifies the name of the app to be displayed in the name of the app that is displayed when the app is executed. In the img area, you can use related illustrations and images to intuitively tell your collection app users what they are doing.

부분은 회사명 또는 카피라이터를 명시한다.Section specifies the company name or copywriter.

인트로 화면으로 앱 실행시 1-2초간 화면에 잠시 보여주고 메인화면으로 이동되도록 한다.When the app is executed with the intro screen, it will be displayed on the screen for a minute or two and then moved to the main screen.

도 21은 수집 앱의 메인화면에 대한 설계 내용이다.21 is a design content of the main screen of the collected app.

도 21은 수집 앱의 카메라 활성화 단계로 식당의 간판 촬영을 위한 메뉴와 관광지 대상물 촬영을 위한 메뉴로 구분된다.Fig. 21 is a camera activation step of the collection app, and is divided into a menu for taking a standard board of a restaurant and a menu for shooting a tourist destination object.

부분은 수집 앱의 명칭이 표시되는 상단 상태 바를 표시한다. Section displays the top status bar where the name of the collection app is displayed.

부분은 식당의 간판을 촬영하기 위한 메뉴로 해당 영역을 터치하면 간판을 촬영하기 위한 화면으로 이동한다. Part is a menu for photographing a signboard of a restaurant, and when the area is touched, it moves to a screen for photographing a signboard.

부분은 제주도내의 관광지에 대한 대상물 촬영을 위한 메뉴로 해당 영역을 터치하면 관광지 촬영을 위한 화면으로 이동한다. Is a menu for shooting objects on tourist spots in Jeju Island. If you touch the area, it moves to the screen for shooting tourist spots.

도 22는 수집 앱의 식당 간판 촬영에 대한 설계 내용이다.FIG. 22 is a design content of a restaurant signboard photographing of a collection app.

도 23은 식당의 간판을 촬영하는 단계에 대한 화면 구성을 보여준다.FIG. 23 shows a screen configuration of a step of photographing a signboard of a restaurant.

카메라 촬영을 통해 사물의 자료를 수집하는 단계로 간판은 가로, 세로 형태로 제작된다. 따라서 간판 형태에 따라 스마트폰을 90도/180도로 회전할 경우 스마트폰 각도에 따라 자동으로 회전해야함. 간판 촬영에서는 간판의 촬영 영역이 중요함It is a step of collecting data of objects through camera shooting, and signs are made in landscape and portrait form. Therefore, when the smartphone is rotated 90 degrees / 180 degrees according to the form of the signboard, it must rotate automatically according to the angle of the smartphone. Signage area of signboard is important in signboard shooting

부분은 나침반 위치를 확인할 수 있는 영역으로 나침반을 표시해 주고 항상 위쪽이 나침반의 북쪽으로하며 바늘이 이동하여 방위각을 표시해 줌 The compass is the area where you can see the compass position, the compass is always displayed, and the top is always to the north of the compass. The needle moves to show the azimuth.

부분은 간판을 인식하는 영역으로 주요인식 영역은 투명하게 처리하고, 간판 이외의 영역은 검은색 반투명으로 처리하여 투명 영역에 간판을 위치하도록 가이드를 줌. 이는 투명영역 밖에 흰 테두리를 두어 촬영 시 테두리 영역 안에 간판을 꽉 차게 위치시킬 수 있도록 표현함. The part recognizes the signboard. The main recognition area is treated as transparent. The area other than the signboard is treated as black translucent, and guides the signboard to the transparent area. It has a white border outside the transparent area so that the signboard can be placed in the border area in full when shooting.

부분은 동일 사진선택 버튼(일종의 갤러리 화면으로 이동)과 카메라 촬영 버튼(사진촬영), 플래시 동작 버튼(플래시 On/Off)을 배치하여 촬영 시 필요한 기능을 선택 할 수 있도록 한다. , The same picture selection button (moving to a kind of gallery screen), a camera shooting button (photographing), and a flash operation button (flashing on / off) are arranged so that a function necessary for photographing can be selected.

부분은 스마트폰의 GPS 값과 조도값을 표시하는 부분으로 기본적으로 가로를 기준으로 표시하고 세로의 경우 글자표현을 세로로 변경할 필요는 없음 The part that displays the GPS value and the illumination value of the smartphone is basically displayed in the horizontal direction, and in the case of vertical, there is no need to change the vertical character representation

도 24는 동일사진 선택메뉴에 대한 설계 내용이다.Fig. 24 is a design content for the same picture selection menu.

도 24는 간판촬영 메뉴에서 동일사진 선택 버튼을 선택했을 때의 화면이다.24 is a screen when the same picture selection button is selected in the standard picture taking menu.

하나의 대상물에 대해 여러 위치에서 사진을 촬영 한 후 촬영한 사진을 한곳에 모아서 볼 수 있는 기능이다. It is a function that allows you to take pictures from multiple locations for a single subject and then view the captured pictures in one place.

부분에는 동일사진 선택이라는 명칭을 표시, 뒤로가기 버튼, 삭제버튼, 글쓰기 버튼이 위치한다. A name of the same picture selection is displayed, a back button, a delete button, and a writing button are located.

- 뒤로가기 버튼은 간판 촬영 메뉴로 돌아가는 기능- The back button functions to return to the standard shooting menu.

- 삭제버튼을 누르면 부분이 생성되고 다중으로 그림을 선택 후 확인을 누르면 선택된 그림을 삭제할 수 있다. 선택된 그림을 삭제하지 않고자 할 경우 취소를 누르면 동일사진 선택 화면으로 복귀한다.- Press the Delete button to create the part. After selecting the picture in multiple, press OK to delete the selected picture. If you do not want to delete the selected picture, press Cancel to return to the same picture selection screen.

- 글쓰기 버튼은 촬영된 사진들의 제목을 입력할 수 있는 버튼으로 글쓰기버튼 선택 시 부분이 생성되고 다중으로 그림을 선택한 후 확인을 누르면 제목입력창으로 이동한다. 취소를 누르면 동일사진 선택 화면으로 복귀한다.- Writing button is a button to enter the title of the photographed pictures. When writing button is selected, the part is created. After selecting multiple pictures, press OK to go to the title input window. Press Cancel to return to the same picture selection screen.

부분은 동일 대상물체에 대해 여러 위치에서 촬영한 사진을 썸네일 형태로 보여주는 부분이다. 부분의 항목 중 삭제, 글쓰기 버튼 선택 시 다중 선택 아이콘이 표시됨. Part is a part showing thumbnail images of photographs taken at various positions with respect to the same object. When the delete button is selected, the multi-select icon is displayed.

부분은 촬영한 사진의 위도/경도, 조도, 방향 값을 표시함 Section displays the latitude / longitude, illuminance, and direction value of the photographed picture

부분은 기본적으로 보여지는 부분은 아님. 부분의 항목 중 삭제, 글쓰기 버튼을 선택 시 표시되는 부분임 The part is not the default part. Delete part of the item, when the Write button is selected.

사진은 갤러리 폴더가 아닌 수집 앱이 별도로 정한 폴더에 위치함The photo is located in a folder that is separate from the collection app, not the gallery folder

도 25는 GPS 확인 및 제목입력에 대한 설계 내용이다. Fig. 25 shows design contents for GPS confirmation and title input.

도 25는 GPS 위치정보 확인 및 촬영한 사진의 제목을 입력할 수 있는 화면으로 간판촬영>동일사진선택>글쓰기 버튼을 선택했을 때 나타난다.FIG. 25 is displayed when the signboard shooting> select the same picture> write button is selected as a screen for confirming the GPS position information and the title of the photographed picture.

부분은 현재 페이지의 제목을 표시하고 뒤로가기 버튼이 배치된다. 뒤로가기 버튼을 누르면 간판촬영>동일사진선택 화면으로 이동한다. Section displays the title of the current page and a back button is placed. Pressing the Back button will take you to the standard picture taking> picture selection screen.

부분은 이전단계에서 다중선택된 사진들 중 첫 번째 사진을 표시한다. Portion displays the first of the multiple selected pictures in the previous step.

부분은 촬영된 여러 개 사진의 GPS 값을 표시한다. Portion displays the GPS value of several photographed photographs.

- 기본적으로 사진 촬영한 스마트폰의 GPS 값을 read 하여 지도상에 표시한다.  - Basically, read the GPS value of the smartphone that photographed and display it on the map.

- 만약 스마트폰의 GPS값이 지도상의 현재 위치와 다르다면 지도상에 손으로 해당 위치를 누르면 POI(Point of Interest)가 이동된다.  - If the GPS value of the smartphone is different from the current position on the map, the point of interest (POI) is moved by pressing the corresponding position manually on the map.

- 지도상에 현재 위치가 보이지 않을 경우 지도를 확대/축소/상하좌우로 이동할 수 있다.  - If you do not see the current location on the map, you can zoom in / out / move the map.

- 이전 단계에서 선택된 모든 이미지의 GPS 정보가 여기서 확인된 GPS 정보로 동일하게 변경된다.  - The GPS information of all images selected in the previous step is changed to the same GPS information confirmed here.

부분은 선택된 사진들에 대한 제목을 입력하는 부분이다. 식당의 경우 식당 이름을 입력하고, 다중 선택된 사진들은 제목 뒤에 (1)(2)(3)순으로 넘버링 된다. 예를 들어 물에빠진궤기(1), 물에빠진궤기(2), 물에빠진궤기(3)... 순으로 넘버링 된다. Part is a part for inputting a title for the selected photographs. For a restaurant, enter the name of the restaurant, and the multiple selected photos are numbered after (1), (2), and (3). For example, it is numbered in the following order: (1) water, (2) water, (3) water.

부분은 입력한 제목과 수정된 결과들을 일괄적으로 저장하거나 취소할 수 있다. Section can save or cancel the entered title and revised results in a batch.

- 저장/취소 시 경고 창을 띄워서 실수를 하지 않도록 다시 한번 확인하도록 한다.  - When saving / canceling, open the warning window and check again to avoid mistakes.

도 26은 수집 앱의 관광지 촬영에 대한 설계 내용이다.Fig. 26 is a design content of a collection app for a tourist spot photographing.

도 27은 제주도내 관광지 대상물 촬영단계에 대한 화면 구성이다.FIG. 27 is a screen configuration of a photographing step of a tourist destination in Jeju Island.

기본적인 설계 내용은 식당 간판촬영에 대한 설계 내용과 동일하다. 간판 사진 촬영 단계와 마찬가지로 대상물에 대한 촬영을 스마트폰의 가로, 세로로 촬영 시 자동으로 회전이 되어야 한다.The basic design contents are the same as the design contents for the restaurant signboard photography. As in the case of the standard picture taking step, the object should be automatically rotated when taking pictures of the object in the horizontal and vertical directions of the smartphone.

부분은 사진을 촬영하는 위치에서의 방위각을 나침반 이미지로 표시 한다. Portion displays the azimuth at the position where the photograph is taken as a compass image.

부분은 관광지 대상물에 대한 이미지 인식 영역이다. Part is an image recognition area for a sightseeing object.

- 관광지 대상물의 촬영에서는 대상물의 중심영역이 중요하다. 간판 사진 촬영의 경우 간판을 인식하기 위한 사각형 박스영역이 중요한 반면 관광지 대상물의 경우는 스마트폰에 보여지는 전체 영역을 범위로 하되 대상물의 중앙 포인트를 잘 잡는 것이 중요하다.  - The central area of the object is important for the photographing of the tourist destination object. In the case of standard photography, it is important to have a rectangular box area to recognize a signboard, while in the case of a sightseeing object, it is important to cover the entire area shown on a smartphone, but to keep a central point of the object well.

부분은 카메라 촬영을 하는 버튼과 플래시를 동작시키는 버튼을 배치한다. Part places a button for camera shooting and a button for operating the flash.

- 간판 사진 촬영메뉴에 배치한 동일사진선택 부분은 앱 구현 시 필요할 경우 간판 사진 촬영과 동일하게 메뉴 등을 추가 할 수 있고, 이는 구현 중에 취사 선택할 예정이다. - The same picture selection part placed on the standard picture photography menu can be added to the menu like the picture taking of the signboard if necessary for the implementation of the application, and this will be selected during the implementation.

부분은 GPS 값과 조도 값을 표시하는 부분이다. 글씨 표시는 가로 기준으로만 나타낸다. Part is a part for displaying GPS value and illuminance value. The text displays only on a horizontal basis.

본 발명에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

이상에서는 본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

Claims (1)

관리 서버가, 수집된 식당 및 관광지의 각종 정보를 서버에 저장하는 단계를 포함하는 위치기반 패턴인식 방법.

And the management server stores various information of the collected restaurant and sightseeing spot in a server.

KR1020160123417A 2016-09-26 2016-09-26 Pattern Recognization Method and Systerm Thereof KR20180033888A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160123417A KR20180033888A (en) 2016-09-26 2016-09-26 Pattern Recognization Method and Systerm Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160123417A KR20180033888A (en) 2016-09-26 2016-09-26 Pattern Recognization Method and Systerm Thereof

Publications (1)

Publication Number Publication Date
KR20180033888A true KR20180033888A (en) 2018-04-04

Family

ID=61975191

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160123417A KR20180033888A (en) 2016-09-26 2016-09-26 Pattern Recognization Method and Systerm Thereof

Country Status (1)

Country Link
KR (1) KR20180033888A (en)

Similar Documents

Publication Publication Date Title
US10990638B2 (en) Processing ambiguous search requests in a geographic information system
US9322656B2 (en) Variable density depthmap
Zielstra et al. Positional accuracy analysis of Flickr and Panoramio images for selected world regions
US8566325B1 (en) Building search by contents
KR102234723B1 (en) Methods of determining geological locations and database and database of databases using the same
Campbell et al. Essentials of geographic information systems
CN106462945B (en) The hierarchical structure of map datum is presented with different zoom grade
US8532916B1 (en) Switching between best views of a place
CN111881377B (en) Method and device for processing position interest points
MX2009001948A (en) Panoramic ring user interface.
US11486711B2 (en) Methods of specifying global locations including indoor locations and database using the same
US8341156B1 (en) System and method for identifying erroneous business listings
US20110225151A1 (en) Methods, devices, and computer program products for classifying digital media files based on associated geographical identification metadata
US9811539B2 (en) Hierarchical spatial clustering of photographs
Yin et al. Touch2Query enabled mobile devices: a case study using OpenStreetMap and iPhone
KR20180033888A (en) Pattern Recognization Method and Systerm Thereof
KR101102083B1 (en) System and method for diagramming geo-referenced data
Yin Mobile 2D and 3D Spatial Query Techniques for the Geospatial Web
Köbben et al. Combining VGI with viewsheds for photo tag suggestion