[GIS] FingerEyes-Xr, TMS(OSGeo Spec) 지원

핑거아이즈가 OSGeo 스펙인 TMS를 지원합니다. TMS는 타일맵 형태의 맵 서비스로 오픈스트리트, 다음, 네이버, 지오서비스의 지도 서비스에서 따르는 맵 서비스 형태입니다. 핑거아이즈에서  TMS를 지원함으로써 사용자가 원하는 다양한 배경지도를 쉽게 활용할 수 있습니다. 다음은 네이버에서 제공하는 배경지도를 핑거아이즈에서 레이어로 추가한 화면입니다.

사용자 삽입 이미지
TMS를 활용하기 위해서는 최소한 다음과 같은 메타데이터(Metadata)를 알고 있어야 합니다.

  • 1픽셀에 대한 지도단위 길이
  • 타일맵 이미지 요청 URL
  • MBR(Boundray)
  • 타일맵 이미지 크기(256×256 등)
  • 타일맵 이미지 형식(PNG/JPEG/GIF 등)

다음은 핑거아이즈에서 네이버의 지도를 TMS를 통해 레이어로 추가하는 코드입니다.

var lyr:IXrLayer = new XrTMSLayer(
  "basemap", 
  [
    "http://onetile1.map.naver.net/get/18/0/0/${z}/${x}/${y}/bl_vc_bg/ol_vc_an",
    "http://onetile2.map.naver.net/get/18/0/0/${z}/${x}/${y}/bl_vc_bg/ol_vc_an",
    "http://onetile3.map.naver.net/get/18/0/0/${z}/${x}/${y}/bl_vc_bg/ol_vc_an",
    "http://onetile4.map.naver.net/get/18/0/0/${z}/${x}/${y}/bl_vc_bg/ol_vc_an"
  ],     
  [2048, 1024, 512, 256, 128, 64, 32, 16, 8, 4, 2, 1, 0.5, 0.25],
  new XrExtent(90112, 1192896, 1990673, 2761664)
);
    
map.layers.addLayer(lyr);

참고로 TMS를 지원 사이트에서 지도 데이터를 업데이트 하면서 metadata가 자주 변경될 수 있습니다.

[GIS] FingerEyes-Xr, 핑거아이즈로 생성한 밀집도(밀도도)

아래의 이미지는 웹 GIS 엔진인 핑거아이즈(FingerEyes-Xr)로 생성한 밀집도입니다. 흔히 밀집도는 Kernel Density 알고리즘을 사용해 계산됩니다. 알고리즘 명칭에 Density가 사용되어 밀집도라는 용어 대신 밀도도라는 용어가 사용될 수도 있습니다.


위의 밀집도의 대상 데이터는 교통사고 발생 지점입니다. 해외나 국내에서 웹기반의 지도 엔진에서 제공되는 밀집도 분석 결과는 HeatMap이라는 기능에서 사용된 오픈소스를 그대로 적용하거거나 개선해 구현함으로써 그 품질이 떨어집니다.

핑거아이즈는 오픈소스이므로 위의 밀집도 결과 이미지를 생성해 내는 알고리즘에 대한 코드가 제공됩니다. 혹.. 관심이 있으신 분은 해당 소스를 참고하시기 바랍니다. 핑거아이즈의 소스코드는 http://www.gisdeveloper.co.kr/?page_id=3916의 자료실을 통해 누구나 다운로드 받으실 수 있습니다.