2012년 2월 22일 수요일

ArcGIS to SLD(Styled Layer Descriptor) 기능정의

ArcMap의 레이어를 SLD(Styled Layer Descriptor) 파일로 내보내기 위한 도구 개발

SLD 변환도구 이전글: SLD(Styled Layer Descriptor) Converter & Editor? 참조

▣ SLD 지원 대상
 - GeoServer : SLD 1.0.0 + Vendor Option
 - ArcGIS 10 + .NET C# + Custom ICommand 구현

▣ GeoServer에서의 SLD 지원 현황
 - 현재 GeoSErver에서 SLD 인코딩은 ISO-8859-1을 사용하며 utf-8로 저장 후 GeoServer Administrator 페이지에서 Style을 수정하는 경우 헤더 부분 및 한글이 깨지는 현상 발생
 - 그러나 저장 후 GeoServer Data Directory의 styles 폴더에서 sld를 열고 한글 입력 후 재실행하면 작동은 함
   - <?xml version="1.0" encoding="ISO-8859-1"?>
   - <?xml version="1.0" encoding="utf-8"?>
 - GeoServer의 Styling(http://docs.geoserver.org/stable/en/user/styling/index.html) user guide를 분석하여 Vendor Option 등을 확인

 - Arc2Earth 도구를 이용하여 각각의 렌더러 및 심볼 지원 벤치마킹
   - 테스트 결과 부분적으로 GeoServer에서 오류 발생

▣ 기능 정의
 - 저장할 파일의 인코딩 선택
 - Point Symbol일 경우 아이콘(ExternalGraphic, png)로 저장할 수 있는 옵션 선택
 - 아이콘으로 저장할 경우 아이콘 크기 설정: 16 * 16, 32 * 32, 또는 SLD에 설정된 Graphic 크기
 - 라벨이나 Filter 사용시 필드 이름 선택: Normal, UpperCase, LowerCase
 - 저장할 레이어 이름에 prefix 설정 가능
 - 저장파일의 확장자 설정 : .sld 또는 .xml
 - SLD 버전 선택 : 현재 1.0.0이지만 향후 확장 고려
 - 내보내기할 레이어는 사용자가 선택하고 배치로 내보낼 수 있어야 함
 - 지원하지 않는 렌더러(Feature Rendere 또는 Raster Renderer)는 로그 작성
 - 지원하지 않는 심볼이나 대체되는 심볼 역시 로그 작성

▣ User Interface