OpenLayers 상에서 다른해상도의 TMS 연동하기 질문입니다.

1,361 views
Skip to first unread message

HO SEOK SEO

unread,
Feb 19, 2013, 2:13:58 AM2/19/13
to osge...@googlegroups.com
안녕하세요? 서호석입니다.
Open gis 솔루션을 만들어보려 했으나, 이런저런 일에 치어 거의 눈팅회원으로만 살아오고 있습니다.
이번에 맘잡고 geoserver + openlayers + extjs 기반으로 작업중인데요,,
geoserver에 탑재된 GeoWebCache에서 우리나라 좌표계 그리드셋을 생성할 수 있다는걸 알고 완전 기뻣습니다 ㅎ
이젠 지적도 및 대용량 데이터를 tms 기반으로 실시간 서버 캐쉬를 생성하면서 빠르게 사용할 수 있더라구요,,

이전에 qgis 플러그인으로 이민파님께서 올려주신 소스를 참고하여 (많은 도움 되었습니다, 감사합니다^^) 
OpenLayers를 이용해 다음지도와 제가 gwc에서 생성한 tms를 연동해보려고 시도중입니다.
문제는 두 타일맵이 해상도가 틀리다보니 같이 띄우는게 잘 안되서 말이죠,,,
OpenLayers.Layer.XYZ의 경우 serverResolutions를 입력하면 맞춰서 출력이 될듯 한데 잘 안되거나 에러가 나거나,,
아무튼 방법을 못찾고 있습니다,,

정말 간단하게는 gwc 그리드셋을 설정할때 해상도를 다음 및 네이버와 동일하게 설정하면 해결되겠습니다만,
뭔가 큰 문제를 남겨두고 지나가는거 같아서 이렇게 도움을 청합니다.

참고로 다음이나 네이버의 resolutions=[2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25] 로설정되어있고
제가 생성한 타일맵은 총  [672.140625, 336.0703125, 168.03515625, 84.017578125, 42.0087890625, 21.00439453125, 10.502197265625, 5.2510986328125, 2.62554931640625, 1.312774658203125, 0.6563873291015625, 0.3281936645507812, 0.1640968322753906] 와 같이 다르게 설정되어있습니다.

BJ Jang

unread,
Feb 20, 2013, 12:39:18 AM2/20/13
to osge...@googlegroups.com
GWC에서 한국 그리드셋을 지원하게 하는 방법 저도 좀 알려주세요~
몇 번 시도해봤는데 안되내요.

질문에 답은 안하고 다시 요청만 해서 죄송~

2013년 2월 19일 오후 4:13, HO SEOK SEO <anti...@gmail.com>님의 말:

--
Google 그룹스 'OSGeo(Open Source GeoSpatial) 한국어 지부' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에서 탈퇴하고 더 이상 이메일을 받지 않으려면 osgeo-kr+u...@googlegroups.com에 이메일을 보내세요.
이 그룹에 게시하려면 osge...@googlegroups.com(으)로 이메일을 보내세요.
http://groups.google.com/group/osgeo-kr?hl=ko에서 그룹을 방문하세요.
더 많은 옵션을 보려면 https://groups.google.com/groups/opt_out을(를) 방문하세요.
 
 

HO SEOK SEO

unread,
Feb 20, 2013, 3:02:05 AM2/20/13
to osge...@googlegroups.com
장비님 상당히 간단하게 설정가능합니다.

우선 제가 사용하는 geoserver는 2.2.4 버전입니다. 
이전버전의 경우는 어떻지 모르겠네요 ^^;

메뉴의 TileCaching -> Gridsets에서 그리드 셋을 생성해주면 되는데요
명칭과 좌표계(참고, :http://osgeo.kr/17), extent값, 등을 입력해주시면 되구요
젤 아래쪽 Tile Matrix Set을 설정해주시면 되겠습니다.

daum지도와 동일하게 구성하시려면
Resolutions 기반으로 0 레벨 PixelSize를 2048로 설정하시고 Add Zoom Level 해 나가시면 됩니다.

만들어진 그리드셋을 레이어 설정에서 적용하시면 되는데요
레이어설정에 Tile Caching 탭 내에 들어가 보시면 젤 아래쪽에 Add grid subset 이 있는데요 이부분에 만드신 gridset이 올라와있을거에요 ^^



BJ Jang

unread,
Feb 22, 2013, 2:46:28 AM2/22/13
to osge...@googlegroups.com
감사합니다. 이제야 확인했네요.

저는 2.1.4 버전을 주로 사용하고 있는데 업데이트 해야 하겠네요.

2013년 2월 20일 오후 5:02, HO SEOK SEO <anti...@gmail.com>님의 말:
Message has been deleted

김근수

unread,
Feb 26, 2013, 9:03:56 AM2/26/13
to osge...@googlegroups.com
안녕하세요. 김근수입니다.

방금전에 글을하나 작석했었는데요.. 잘못 작성해서 지우고 다시 올립니다^^..

clientZoom 이라는 예제가 있는데 도움이 되실지 모르겠네요~

http://openlayers.org/dev/examples/clientzoom.html

2013년 2월 19일 화요일 오후 4시 13분 58초 UTC+9, HO SEOK SEO 님의 말:

HO SEOK SEO

unread,
Feb 27, 2013, 12:47:33 AM2/27/13
to osge...@googlegroups.com
김근수님 답글 감사합니다.
최근에 웹서핑을 통해  'gis 프로그래밍 연구소' 라는 네이버 카페를 통해 단서를 찾았습니다.
factionalZoom, transitionEffect, serverResolutions 이렇게 세 속성이 키였네요 ^^

올려주신 소스와 같이 resolutions, serverresolutions 가 동일한 상태에서 1~2 단계의 줌 레벨을 설정했을때 활용할 수 있을듯 합니다.
기본적으로 두 해상도가 너무 상이할 경우에는 어느 한쪽 지도가 심하게 깨져 보인다거나, 타일 사이에 공백이 보여진다거나 하는 문제가 발생하더군요

지금은 기본지도를 다음 지도와 동일한 해상도로 레벨을 설정하고 거기에 추가적인 레벨을 부여하는 방법으로 적용하고
올려주신 소스를 참고해서 임의의 줌 적용과, 추가 해상도에 대해 다음지도를 확대해서 보여주는 부분을 적용해 보도록하겠습니다.

그리고 잘아시겠지만 도움만 받는거 같아서 잠깐 gwc 활용하고 있는 부분에 대해 말씀드릴게요
gwc에서 각 레이어 영역별로 그리드셋을 만들고 각 레이어를 한 화면에 맵핑하는 부분을 처리중인데
이렇게 하니까 gwc 타일일 용량도 줄어들고 로딩도 빨라지더군요(1kb 짜리 빈공간에 해당하는 이미지가 최소로 줄어들다보니...)
예를 들어 전라남도 전체 시군 경계 위에 각 시군별 데이터를 gwc를 이용해 서비스한다고 하면 각 시군별로 해상도는 같으나 지도 영역이 틀린 그리드셋을 생성하는 형태로 말이지요 ^^;

또, 최근 openlayers가 3버전을 만들면서 선택적으로 webgl 기반의 map 객체 생성이 가능하더군요
이게 정식 오픈하게 되면 더 완벽한 webgis 구현이 가능할 것이란 생각이 드네요 ㅎㅎ
(물론 아직까지는 webgl이 익스플로어와는 완벽하게 호환되는거 같지는 않지만 말입니다..)

감사합니다

Reply all
Reply to author
Forward
0 new messages