GeoHash 기반의 Geofencing

지오펜스(Geo-fence)는 실제 지리적영역에 가상으로 경계를 만드는 것이다. 점 위치 주변을 기준으로 일정반경으로 하는 등 동적으로 만들수 있다. 혹은 학교, 인접 지역 경계등을 미리 정의해서 사용 할 수도 있다.지오펜스를 사용하는 것을 지오펜싱(geo-fencing)이라고 한다. 위치기반서비스(Location-Based Service 줄여서 LBS)는...

Rtree

R-Tree는 지리 좌표, 직사각형, 폴리곤과 같은 다차원 정보를 색인하기 위해서 사용하는 트리 데이터 구조다. R-Tree는 1984년 Antonin Guttman이 제안 했으며, 이론은 실제 상황에서도 중요하게 사용하고 있다. R-Tree의 일반적인 사용 용도는 해안선, 건물, 호수, 도로 등을 포함한 지도내에서 특정 객체의 위치를 신속하게 찾는 것이다...

Geohash

어떻게 하면, 위치정보를 빠르게 찾을 수 있을까 ? 지구의 지역을 해시하면 어떨까 ? 해시 이거 한번에 찾을 수 있잖아. 하지만 위치의 경우, 주변위치도 찾을 수 있어야 하는데. 우리가 알고 있는 해시로는 이런 일을 할 수 없잖아 ? 그거야 해시 함수를 잘 만들면 되지 어떻게 ?01101 11111 11000 00100 00010라는 2진수가 있다고 가...

REDIS Geo API

REDIS 3.2부터 위치기반 데이터를 저장하고 꺼내기 위한 Geo API를 지원한다. (2017년 10월)현재 내가 사용하는 우분투 리눅스 17.04에 설치된 redis 버전은 3.2.1 이다. redis 서버에 접근한 다음 info 명령으로 확인 할 수 있다.yundream@home127.0.0.1# Serverredis_versionredis_git_...

Mysql Spatial Query

R-트리 인덱스를 사용하기 위해서는 MyISAM테이블을 만들어야 한다. 다른 스토리지 엔진의 경우 B-트리 인덱스를 사용하는데, 정확한 값을 찾는 것에는 유용하지만 범위 스캔에는 효율적이지 않다. 공간 데이터의 경우 범위 검색을 많이 하므로 MyISAM 테이블을 만들자.CREATE TABLE restaurant ( name VARCHAR(80), categ...

공간 데이터

지구를 중심으로 하는 공간 데이터를 다루려고 하니, 생소한 용어가 한둘이 아니다. 정리를 해야 겠다.한 지점의 좌표 값은 어떤 측지계를 기준으로 하느냐에 따라 달라진다. 과거 우리나라에서 사용하던 측지계는 Tokyo를 중심으로 사용했다. 최근에는 WGS84(1984년에 만든 최신 Word Geodetic System 이다. WGS 1984 혹은 EPSGWG...

AWS Aurora 소개

AWS의 RDS는 관계형 데이터베이스(Relational Database)를 서비스한다. EC2, ELB, ElasticCache와 함께 가장 많이 사용하는 AWS 서비스 중 하나다.RDS는 Mysql, Postgresql, Oracle, Microsoft SQL Server 등과 같은 익숙한 데이터베이스 시스템을 제공하는데, 2015년경 Aurora라는 ...

GeoHash 디버거

메모리에 올린다고 하면 의 ZADD 가 적당하겠다. 하지만 데이터양이 많아진다면, 메모리에는 높은 중요도를 가지는 데이터들을 올리고 그렇지 않은 데이터는 SQL 혹은 NoSQL에 저장을 해야 할거다. 프로세스는 아래와 같다. 1. 요청을 하면 에서 먼저 검색한다. 1. REDIS에서 찾을 수 없다면, 원본이 저장된 DB에서 읽는다.REDIS의 경우 아...