POSTGIS

    [Spring] PostgreSQL - PostGIS, JPA를 통해 공간 데이터 다루기

    [Spring] PostgreSQL - PostGIS, JPA를 통해 공간 데이터 다루기

    데이터베이스에 숫자, 문자열이 아닌 점, 선, 면 등의 정보를 담아야 할 때, 주로 공간 데이터를 사용한다. 본 포스팅에서는 Spring + JPA 환경에서 PostgreSQL의 extension인 PostGIS를 통해 공간 데이터를 다루는 방법을 알아보겠다. PostGIS의 도입 배경과 설치 과정은 아래 글을 참고하자. 2023.01.11 - [database] - [Postgresql] PostGIS 설치 - MySQL이 아닌 PostgreSQL을 사용하는 이유 [Postgresql] PostGIS 설치 - MySQL이 아닌 PostgreSQL을 사용하는 이유 배경 프로젝트 도중 공간 데이터를 다룰 일이 있었다. 나는 주로 MySQL을 사용하기 때문에 처음에는 MySQL이 지원하는 공간 데이터 타입(..

    [Postgresql] PostGIS 설치 - MySQL이 아닌 PostgreSQL을 사용하는 이유

    [Postgresql] PostGIS 설치 - MySQL이 아닌 PostgreSQL을 사용하는 이유

    배경 프로젝트 도중 공간 데이터를 다룰 일이 있었다. 나는 주로 MySQL을 사용하기 때문에 처음에는 MySQL이 지원하는 공간 데이터 타입(Point, LineString, ...)을 사용하기로 했다. 그러나 나는 유클리드 좌표계(좌표평면)가 아닌 WGS84 좌표계(위도, 경도)를 사용해야 했는데, MySQL의 공간 연산 함수는 WGS84 좌표계에 대한 지원이 미흡했다. 예를 들어, MySQL의 공간 연산 함수 중 하나인 ST_Intersection(두 선분의 교차점 계산)은 WGS84 좌표계를 쓰는 것과 관계없이 좌표평면을 기준으로 계산하기 때문에 예상한 값과 다른 값을 반환하게 된다. 여러 레퍼런스를 찾아보면 공간데이터를 다룰 때 MySQL 보다는 PostgreSQL의 PostGIS가 사용성과 성능..