[Intellij Ultimate] geo viewer 사용법 및 제약사항

식빵·2023년 4월 3일
1

intellij

목록 보기
2/15
post-thumbnail

이 글은 GIS, PostGIS 와 관련된 지식이 없으면 이해하지 못할 수도 있습니다.

🗺️ Intellij Ultimate - Geo viewer

일단 geo viewer 가 뭔지 생소한 분들도 있을 겁니다.
geo viewer 는 intellij Ultimate 에서 database table 을 조회할 때,
row 에 geometry 컬럼이 존재한다면 해당하는 geometry 를 지도에 뿌려서 보여주는 기능입니다.

아래 쿼리를 한번 보시죠.

select pnu, jibun, st_astext(geom), st_transform(geom, 4326)
from continue_map
order by pnu
limit 1000

참고
여기서 사용되는 테이블은 오픈마켓에서 - 서울 연속지적도 SHP 데이터를 postgresqlimport 해서 생성한 것입니다.

그리고 이 테이블은 geometry 컬럼이 있어서 geo viewer 로 표출이 가능합니다.

위 쿼리를 돌리고 나서 아래처럼 쿼리 결과물의 상단 우측에 있는
3점(?) 버튼을 클릭하고, Show Geo Viewer 를 클릭해보겠습니다.

그러면 아래 그림처럼 지도화면이 표출되고, 테이블의 geometry 와 매칭되는
도형정보가 화면에 보이게 됩니다.

이쁘죠?
하지만 다음 목차를 읽으면 안 쓰고 싶어질 겁니다.



😡 제약사항 & 버그

하지만 안탑깝게도 이 기능은 어마어마한 제약사항과 이상한 버그가 존재합니다.

일단 제약사항은... 지도 상에 도형정보를 출력하려면
반드시 4326 좌표계로 변환(st_transform)시켜야 합니다.
안 그러면 아래 그림처럼 도형이 제대로 그려지지 않는 현상이 발생합니다.

이런 제한사항을 고쳐달라는 문의는 이전부터 youtrack 에 올라왔었지만...
여태 변화가 없는 걸 보면 아무래도 그냥 사용해야 될 거 같습니다 😅.


그리고 추가적으로 이상한 버그도 있는데,
st_transform function 을 select 절 마지막에 입력해야만 한다는 점입니다.
그러지 않으면 이전 그림과 똑같은 현상이 일어납니다.

-- 지도 정상 출력 ✅
select pnu, jibun, st_astext(geom), st_transform(geom, 4326);

-- 지도 출력 안됨 ❌
select pnu, jibun,  st_transform(geom, 4326), st_astext(geom);



사실 이런 기능은 dbeaver, pgAdmin 에도 기본으로 제공하는 기능이어서
굳이 이런 불편한 점을 끌어안고 GeoViewer 를 사용할 필요는 없습니다.

geometry 와 관련된 작업을 많이 하신다면 geo viewer 사용은 추천하지 않습니다.

하지만 저는 거의 모든 것을 intellij 로 하다보니, 오히려 dbeaver 를 띄우고 정신 사납게 창을 번갈아 가면서 띄우는 게 싫어서 약간 제약이 있어도 GeoViewer 를 사용합니다 😅



Intellij 버전업 - 미묘한 변화

최근(2024-01-06) 이 GeoViewer 를 사용하려니까 기묘한 변화가 생겼습니다.
쿼리를 조회하고 해당 결과물 옆에 GeoViewer 를 같이 띄우고 보는 식이였는데,
이제는 아래처럼 완전히 별개의 탭으로 분리시켜버립니다.

이러면 상당히 불편하겠죠? SQL Result 창 가서 하나 클릭하고,
다시 GeoViewer 탭 켜고, 다시 Result 창 띄우고 ...
이래서는 안되겠죠?

이걸 다시 Sql Result 창에서 같이 보기 위해서는 아래처럼 하면 됩니다!

드래그 앤 드롭을 통해서 Geo Viewer 를 한번 밖에 꺼냈다가,
다시 Result 에 넣으면 됩니다!

(그런데 생각해보니 그냥 밖에다가 띄워놓고 해도 좋을 듯하네요)

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글